================ chargebyte Charge Control C ======================= ================ Firmware Release Notes ======================= ================================================================================ Release Date: 2024-01-19 Release Maturity: Beta Release Version: 3.5.2 Important notes for this firmware update: - Before performing the firmware update, make sure that the firmware version is at least 0.4.0 and all data in /opt has been backed up. The whole directory will be removed! - During the firmware update, the currently installed /etc/secc/customer.json will be preserved; a pristine, factory default configuration file is contained in the firmware update and will be available as /etc/secc/customer.json.shipped after the firmware update. - All charging points which share the same RFID reader must be updated - Downgrades from one major version back to previous major versions are not supported, e.g. 3.x.x back to 2.x.x Known Bugs / Unfixed Issue: - Modbus scan wrongly detects DZG meter instead of ignoring different Modbus device - CP state E during charging is reported as "EVDisconnected" - It's not possible to restart a remote transaction directly after OCPP "UnlockConnector" - In rare offline situations there could be a maximum delay of 60 seconds between start of transaction and power delivery - Some power switch failures are not reported via OCPP "StatusNotification" - All MeterValues.req get lost during offline state - Avahi suffers from upstream issue 117 (https://github.com/lathiat/avahi/issues/117) - RFID token is always accepted during transition from online to offline - In a rare situation during transaction stop the OCPP client doesn't detect an offline state properly and prevents any new transaction (workaround: reset the Charge Control C) Version Information: - version 0.x.x -> Yocto Thud based releases with Linux kernel 4.9.x - version 1.x.x -> Yocto Thud based releases with Linux kernel 4.9.x - version 2.x.x -> Yocto Kirkstone based releases with Linux kernel 4.9.x - version 3.x.x -> Yocto Kirkstone based releases with Linux kernel 6.1.x Changes in ChargeControl-C-3.5.2: - customer.json - removed the commented-out key port[]/token since it was not backed by any functionality at all - iec61851d - Fixed a regression in internal watchdog handling which was introduced in version 3.5.0 Changes in ChargeControl-C-3.5.1: - lockctrld - Fixed issue that the daemon trigger a watchdog reset during initial unlock - Fixed a bug where a motor fault could lead to a flood of plug_lock/permanent_failure - Implemented a new motor type EV-T2M3SM-E-LOCK12V-COLD which based on EV-T2M3SM-E-LOCK12V but for very low temperatures (below -20 degree Celsius) - Implemented new customer.json parameter ports[0]/plug_lock/duration in order to override the preconfigured motor parameter Changes in ChargeControl-C-3.5.0: - Kernel - Fix issue that QCA7000 TX ring size cannot be changed - Fix possible crash on QCA7000 TX ring size changes - Fix behavior on QCA7000 reset - customer.json - The new RCD test feature has been implemented, which allows to configure a digital output to drive the test input of an RCD. Multiple timing parameters allow the flexible configuration to different RCD types. As per default this feature is active on PUSH_PULL_OUT_4 (GPIO 87) in case ports[0]/rcd_monitor/enable is set true. Please refer to the user guide for detailed information. - powerctrld - Implemented GPIO handling for RCD test function which can be triggered via MQTT TOPIC_RCD_TEST_PERFORM - Implemented new TOPIC_RCD_ERROR which represents a high-level RCD state which is more useful for other applications like OCPP - Adapted behavior that closing the contactor requires EV presence - Adapted behavior TOPIC_RCD_STATE_ACTUAL so the payload stays to 1 (= not tripped) during RCD test - Implemented simple dump of RCD test state via USR1 signal handling - iec61851d - Implemented the necessary logic to trigger and handle an RCD error - Adapted behavior to not open the plug lock in case of RCD error until the EV has been disconnected - rgbledd - Fix issue which prevents changing log level via MQTT - Implemented the new RCD error LED behavior by extending CONDITION_FAILURE to (CP state == 'F' OR RCD_ERROR) - ocppd - Fix issue that subsequent errors don't trigger a new StatusNotification - Implemented more detailed vendorErrorCode for StatusNotification GroundFailure - Allow to configure all new RCD parameters via ChangeConfiguration - Fixed a bug where initial RCM errors were not reported correctly - webfrontend - REST API was extended to provide availability of RCD test - Front page displays RCD System status, RCD Test status and the timestamp of the last RCD test Changes in ChargeControl-C-3.4.1: - meteringd - Reworked the Modbus request handling. Before, each meter protocol implementation was itself responsible to ensure a minimum space between consecutive Modbus queries. This opened room for error since between some queries these delays were missing. The new approach solves this on a generic level by extending the low-level Modbus functionality to respect these delays. This should fix e.g. timeout errors which could occur when Modbus requests hit the meter so fast that it is not able to respond/recognize the query. Changes in ChargeControl-C-3.4.0: - Bootloader - Prepared U-Boot in order to handle upcoming hardware version V1R2 - ocppd - Fixed issue with Reboot behavior which could cause a delay of 5 minutes after firmware update Changes in ChargeControl-C-3.3.0: - Kernel - Upgraded to Mainline Kernel 6.1.49 - Fix issue that Mainline Kernel causes unusual high load by disabling CPU idle - Disable Spectre mitigation which is not necessary for Cortex A7 on Charge Control C - customer.json - The maximum switching cycles of the onboard relais was corrected in the hardware specification. This made a small adjustment necessary: the minimum of the key 'switch_delay' in object 'switch3to1phase' is now 10 seconds. Please note that the customer.json is not automatically adjusted during a firmware update, so in case the the previously configured value was lower than 10 seconds, the internal factory default value of 20 seconds will be used and a warning is shown in the logs. - Added new OCPP configuration parameter "allowLocalChargingAlways". - iec61851d - Fix issue that after an unlock request the first connect attempt is not locked - Fix issue that a unlock request is ignored if no EV is connected or EVSE has a fault - Related to the already mentioned change in the relais hardware specification, the daemon now ensures that the relais are not switching more than 6 times per minute. This is implemented by enforcing 10 seconds between two switchings. - pwmd - Reworked the CP state detection logic for measurements between the well-defined voltages for each state: a hysteresis is now used to cover those ranges. - Optimize daemon in order to reduce CPU load - Log daemon version at start - powerctrld - Improve fault tolerance by triggering watchdog reset in case contactor cannot be set properly - ocppd - Adjust loglevel of state notifications to avoid confusion - config parameter AuthorizeRemoteTxRequests is now runtime configurable - Fix unexpected reboots in case of SqlException - Fix database handling of negative transactionIds - Added warning in case of invalid time during transaction stop - Fix reconnect behavior in case bootNotificationOnReconnect is enabled - Prevent logging of OCPP credentials - Fix issue that websocket is not closed gracefully before reboot - Adjust daemon to reply with a GenericError in case the backend still send another request before a reset has taken effect - Fix unit tests - Fix issue that a permanent flood of OCPP reset requests prevents a reboot - Fix issue that after a powerloss duplicate StopTransactions are sent - Implement new configuration parameter "allowLocalChargingAlways" This option always allows charging even if the OCPP backend rejects the ID token. This feature is not conform to OCPP 1.6 and may cause unexpected behavior. Therefore use it at your own risk only. - configd - Create a backup of the changed customer.json under /var/backups with the same name triggered by a configuration parameter change - Log daemon version at start - rootfs - Add startup script /usr/libexec/check-liccos-config.sh to recover customer.json in case it got damaged (missing or empty) Changes in ChargeControl-C-3.2.0: - libliccos - small time jumps backwards (< 1s) are not suppressed to prevent log rotation - added define for MQTT topic TOPIC_EVSE_SWITCH_METHOD - removed define of MQTT topic TOPIC_EVSE_WAKEUP_METHOD - customer.json - Added new configuration object "fake_highlevel_dc_vendors". Now it is possible to add an individual Fake DC configuration for each EV vendor. - webfrontend - REST API was extended to provide the software flavor (from /etc/device_info) - front page displays SoC if available (e.g. when Fake DC feature is active) - ocppd - Fixed issue that websocket is opened, but BootNotification is sent much later - Fixed issue that Fake DC didn't work in combination with OCPP - Implement automatic forwarding of Fake DC MAC address as Autocharge to OCPP backend - iec61851d - Added support of new MQTT topic TOPIC_EVSE_SWITCH_METHOD to configure the method to switch from HLC session to basic charging - Removed support of MQTT topic TOPIC_EVSE_WAKEUP_METHOD - iso15118d - Added 2 new MQTT retained topics to publish SoC and the timestamp when it was read: "port0/ci/ev/soc/actual" and "port0/ci/ev/soc/timestamp" - Added support for vendor specific Fake DC configuration. The configuration can be done via new configuration object "fake_highlevel_dc_vendors" in the customer.json file. Changes in ChargeControl-C-3.1.0: - rootfs - Fixed rauc to support USB firmware update from exFAT partition - Fixed assertion in libwebsocket which could be triggered by often network interface reinit - Fixed mbedtls to not abort TLS handshake if parsing Trusted CA keys extension failed - Updated to latest open-plc-utils - customer.json - Use PWM device name instead of hard-coded PWM chip number in customer.json - pwmd - Fixed PWM usage on Tarragon Micro & Slave - iec61851d - Now the switching from Fake DC to a basic charging session is done everytime a HLC session is terminated, and not as before on a d-link error MQTT signal - Allow re-init mechanism for Fake DC feature - iso15118d - Implemented experimental feature to read out State of Charge for Fake DC feature SoC is published under the following topic (range 0 to 100): port0/ci/ev/parameter/resssoc - Implemented quirk to disable SoC read out for Tesla (EV not supported) - Fixed TLS handshake failure by re-enabling SHA1 as a supported hash algorithm - slacd - Enable SLAC timer in case re-init mechanism for Fake DC feature is active Changes in ChargeControl-C-3.0.0: - Bootloader - U-Boot was adapted to be compatible with upcoming Device Tree files of Linux kernel 6.1 The U-Boot will be installed during the firmware update process boards. - Kernel - Upgraded to Mainline Kernel 6.1.23 (incl. Device Tree) - Enabled new NVMEM sysfs as replacement for /sys/fsl_otp (latter is considered as deprecated) - Switched to Mainline LED naming scheme - Enabled PHY interrupt for Ethernet interface - Enabled exFAT file system support - Introduced GPIO line names - Fixed high load while QCA7000 is in reset - Disabled unused SVNS power switch - Disabled unused CAN interfaces - Disabled unused PWM interfaces, which results in a new sysfs naming: Tarragon Master, SlaveXT: digital input ref = pwmchip0 internal fan = pwmchip1 control pilot = pwmchip2 Tarragon Slave, Micro: digital input ref = pwmchip0 control pilot = pwmchip1 - meteringd - Eastron implementation adapted so that by accident inverse connected meters do not report any consumption or current anymore but zero Changes in ChargeControl-C-2.2.0 (Kirkstone): - rootfs - Prepare for upcoming Linux kernel v6.1 (LED naming, OTP access via nvmem, changed company name in DT) - lighttpd: dropped mod_deflate from configuration due to caching issues - customer.json - new OCPP configuration key "sendMeterPublicKeyOnBootNotification" (default: true) - rfidd - Adapt time between two bus queries to default 350ms and make this value configurable via a command line parameter - ocppd - Make id tag behavior more reasonable by avoiding conversion to lower case (applies to local RFID tag and RemoteStartTransaction) - Fixed bug that TriggerMessage did not work for StatusNotification while backend registration was in state 'Pending' - Introduced new OCPP read-only variable "Meter1PublicKey" which holds the public key of an Eichrecht capable electrical meter - Added support for custom DataTransfer for public key transmission to backend See https://be-energised.docs.htb.services/knowledge_base/eichrecht_transmission.html - Fixed warning when backend sent HeartbeatInterval of zero in BootNotification: this is a valid value according to OCPP spec and the Charge Control C chooses 10min in this case - Fixed bug that the BootNotification is not repeated in case of a request timeout or the CSMS responses with a CallError - Implemented the timestamp for StatusNotification (field is omitted if time is not synchronized) - Allow TriggerMessage for StatusNotification with connectorId set to zero 0 This was previously rejected but some CSMS uses this to request the status of the whole charging station instead of leaving the connectorId unset. This is a "relaxed" interpretation of the OCPP specification. - Fixed bug that highlevel failure is triggered unexpectedly during boot - Prevent TriggerMessage to send incomplete Bootnotification - watchdogd - Prepare for upcoming Linux kernel v6.1 (OTP access via nvmem) - Improve license verificaton - Improved logging - libliccos - Add new topic TOPIC_METERING_METER_PUBLIC_KEY Changes in ChargeControl-C-2.1.0 (Kirkstone): - Kernel - Switched from CONFIG_SLOB to CONFIG_SLUB which improve overall latency (e.g. no Modbus timeouts at higher baudrates) - rootfs - Improved firmware update by preserving customer certificates under /usr/local/share/ca-certificates - configd - Improved MQTT behavior - Improved write operations on the configuration file: In case the configuration doesn't change by a config request, publish the old change counter and avoid unnecessary write operations. - Daemon version is now logged at start - customer.json - Improved documentation for RCD feedback polarity - Mentioned new Scame lock motors in configuration - iec61851d - Implemented AC measurand support. The daemon is now providing the following measurands: Current.Offered.L1, Current.Offered.L2, Current.Offered.L3, Current.Offered, Power.Offered - Improved CP state handling: Now the daemon stops the charging session immediately, by opening of the contactor and configuring of 100% PWM, after detecting of an invalid CP state. - lockctrld - Added new Scame plug lock presets for Scame 200.23261BP, 200.23261BL and 200.23261BS - meteringd - Implemented AC measurand support: Now the daemon detects the supported measurands of the connected meter and publishes the values via MQTT - Adapted log messages for the AC measurand support - Added support for metering/timestamp MQTT topic - Improved error handling - ocppd - Implemented RemoteTrigger for Hearbeat - Fixed behavior of RemoteStart/StopTransaction - Fixed FTP upload mechanism with new libcurl - Fixed possible memory leak - Reduced MQTT load with enabled clock aligned meter values - Improved OCPP configuration: Most parameters can be changed directly without a reboot (please refer to the user guide for details) - Made ChangeConfiguration conform to OCPP 1.6 and reject values above 500 characters - Fixed issue that config values must be transmitted in lower case format. Now values are handled case insensitive. - Improved check for integer config values: Hexadecimal or floats as integer values are no longer allowed - Added list of local ca-certificates and actual PWM duty cycle to diagnostics - Relaxed behavior on invalid shared RFID setup: just print warning - Improved timestamps for measurands - Implemented SampledValue for context Transaction.Begin & Transaction.End - Implemented AC (1 & 3 phases) measurand support: * Frequency * Voltage * Current.Import * Current.Offered * Power.Offered * Power.Active.Import * Energy.Active.Import.Register - Adapt MeterValuesAlignedDataMaxLength, MeterValuesSampledDataMaxLength, StopTxnAlignedDataMaxLength and StopTxnSampledDataMaxLength to measurand support - pwmd: - Fixed issue that the CP state was incorrectly detected in case of a fast switch and specific CP state change sequence. The issue was caused by the filter mechanism to detect single disturbances on the CP line. - Publish invalid CP state via MQTT as '?' (to detect e.g. CP circuit issues) - webfrontend - Adapted daemon for better measurand support: - The row for power and the columns for L2 and L3 is now hidden in case of single-phase meters - "n/a" is now configured for the measurands when the meter is not available - A warning is now printed out for the last energy reading when the meter is not available Changes in ChargeControl-C-2.0.0 (Technical Preview of Kirkstone): We plan to switch to new Yocto LTS release (Kirkstone), so please report all irregularities as soon as possible. Especially keep an eye to regressions since release 1.1.5 - rootfs - Switched from Yocto Thud to Kirkstone (see for details https://docs.yoctoproject.org/migration-guides/release-notes-4.0.html) remarkable points: - kept Linux Kernel 4.9 - boost: upgrade to 1.78 - curl: upgrade to 7.82 - glibc: upgrade to 2.35 - mbedtls: upgrade to 2.28 - mosquitto: upgrade to 2.0.14 - openssh: upgrade to 8.9 - openssl: upgrade to 3.0.2 - php: upgrade to 8.1.10 - rauc: upgrade to 1.8 - sqlite3: upgrade to 3.38 - systemd: upgrade to 250.4 Note: If you used custom binaries, you would probably need to recompile them against the updated library versions. - webinterface - issue that the web frontend becomes unavailable after a few days (503) isn't reproducible anymore Changes in ChargeControl-C-1.1.5 (Thud): Charging Stack - ocppd - Implemented TxProfile support for SetChargingProfile/ClearChargingProfile - Fixed handling of unsupported SetChargingProfile requests - Increased MaxChargingProfilesInstalled - Improved handling of incomplete transaction database - Avoid generation of incomplete transaction database - Improved persistence error handling incl. logging - Replace general PersistenceError with more specific error codes: PersistenceOpenFailed - Failed to open database (incl. creation) PersistenceUnlinkDenied - Failed to unlink database PersistenceReadOnly - Failed to open database writeable PersistenceInvalidType - Column has wrong datatype PersistenceCountError - Failed to count transactions PersistenceClearError - Failed to clear transactions PersistenceNoInsertRowId - Failed to fetch insert row id PersistencePrepareFailed - Failed to prepare SQL statement PersistenceUpdateFailed - Failed to execute update statement PersistenceDropFailed - Failed to execute drop statement PersistenceTransactionFailed - Failed to execute SQL transaction PersistenceCreateFailed - Failed to execute create statement PersistenceInsertFailed - Failed to execute insert statement PersistenceDeleteFailed - Failed to execute delete statement PersistenceTooManyTransactions - Maximum of offline transactions reached PersistenceFinalizeFailed - Failed to finalize SQL statement - Added transaction database (transactions.db) to diagnostics data - Added simple dump of transaction database to USR1 signal handling - iso15118d - Adjusted fake high level DC charging implementation to improve compatibility for DIN70121 EV's. After this adaption it is no longer possible to retrieve the SOC value for DIN70121 charging. Changes in ChargeControl-C-1.1.2: Charging Stack - customer.json - Clarified comment that both contactor feedbacks are required for 3- and 1-phase switching feature - iec61851d - Now the daemon directly switches to basic charging after a successful authorization via MQTT in fake high level DC charging mode - Fixed issue that the fake high level DC charging mode can not be used in combination with 3- and 1-phase switching feature - Fixed issue that basic charging can be started before fake high level DC charging session is stopped - Fixed issue in high level charging which allowed basic charging before V2G setup was finished - Improve logging in timeout case - Improve dump regarding phase switching - meteringd - Improved logging for energy counter in log level "TRACE". - meter-iskra: Fixed integer overflow during energy calculation - Migrate the existing usages of loglevel "TRACE" to "DEBUG": Now - Use loglevel "TRACE" when libmodbus packet tracing feature is needed which dumps Modbus telegrams to stderr. This can be configured via MQTT: mosquitto_pub -t port0/log/meteringd/level/target -m 5 - ocppd - Added StatusNotification for proximity error - Improved logging for receiving of meter readings - powerctrld - Improved logging of contactor errors - Added error log message in case the daemon fails to switch the contactor from old state to the target state - Fix regression in 3- and 1-phase switching feature. Before the primary contactor feedback was not checked in the initialization phase - Added error log message and abort start in case no contactor feedback is configured for 3- and 1-phase count switch feature - Added log message for the daemon version - Reduced delay to open contactors after emergency shutdown or RCD failure. Now the daemon opens the contactors directly in case of an emergency shutdown or RCD failure. - iso15118d - Improved CP state handling in HLC charging mode. Now the CP state C/D is expected by the daemon after detecting of the plug. Before an unexpected error log message was printed out. - Now the daemon stops directly the HLC communication after a successful authorization via MQTT in fake high level DC charging mode. Changes in ChargeControl-C-1.1.1: Charging Stack - iec61851d - Fixed calculation of current limit if PP is not available - Fixed bug to prevent closing plug lock (and charging) if PP is invalid or not available (pluggable = true) - Improve behavior to interrupt charging if PP becomes invalid or not available (pluggable = true) - Improve behavior to use the minimum current limit if the PP changes during charging (pluggable = true) - Fixed bug in EVSE initiated charge abort (not emergency case) which opened the contactor under load - proximityd - Improved PP debugging Changes in ChargeControl-C-1.1.0: Operating system - USB board customization - Added new two step feature for board customization via signed scripts/archives supplied to the board at boot time. Note: To be able to use this feature your CA certificate needs to be cross-signed with our certificates. Please get in touch with us. - customer.json - Added customer.json key "ports[]/ocpp/ftpTryTLSUpgrade". If this key is set to true the charging software tries to upgrade to SSL/TLS when using FTP e.g. for OCPP commands UpdateFirmware or GetDiagnostics. - disabled meter by default The meter implementation is now disabled by default since customers usually need to switch the protocol for the attached meter. So a disabled implementation is aligned with other peripherals which are also disabled by default. Charging Stack - iec61851d - fixed regression that sometimes contactor doesn't close during HLC - improve logging during init phase - implemented an experimental MQTT topic "ci/evse/wakeup/method" to specify the behavior after finishing fake highlevel phase and switch to basic charging (default 'E') payload: 'E' = CP state B, 5% duty -> CP state E for 4s -> CP state B, nominal duty payload: 'F' = CP state B, 5% duty -> CP state F for 4s -> CP state B, nominal duty payload: 'X' = CP state B, 5% duty -> CP state B, 100% for 4s -> CP state B, nominal duty payload: ' ' = CP state B, 5% duty -> CP state B, nominal duty - ocppd - fix verbose mode for GetDiagnostics - new default behavior: don't try to upgrade to SSL/TLS when using FTP for OCPP UpdateFirmware or GetDiagnostics - slacd - Prevent TT_EVSE_SLAC_INIT timeout when duty cycle is not 5% - Added trace messages to improve debugging possibilities. - meteringd - added support for Socomec Countis E03/04 single phase meters Changes in ChargeControl-C-1.0.9: - customer.json - Added "fake_highlevel_dc" option for "ports[]/charging_type". This feature is intended to retrieve the MAC address and V2G DC parameters of the connected EV in a high-level communication session. After this the Charge Control C continues with basic charging. This feature is currently for testing purposes only. - Added new key "ports[]/ocpp/calibrationLawFormat" to configure the output format for signed meter values. - iso15118d - Implemented handling for the fake_highlevel_dc charging mode - slacd - Implemented handling for the fake_highlevel_dc charging mode - Reduced TT_EVSE_SLAC_INIT to 20 seconds - Introduced new topic TOPIC_V2G_MAC to publish the MAC address after the MATCHED state has been reached - Improved error handling: Now TT_EVSE_SLAC_INIT is published under TOPIC_SLAC_TIMEOUT - TOPIC_SLAC_STARTED is only published on receipt of CM_SLAC_PARM.REQ - Improved CP state handling with invalid and glitchy states - Improved SLAC matching which started now with CP state C/D - Fixed initial value of TOPIC_READY_FOR_SLAC in case EV is connected during boot - iec61851d - Implemented handling for the fake_highlevel_dc charging mode - Improved error handling: Now the iec61851d differentiates between timeouts and general SLAC errors - Suppress diode warning during wake up - Implemented session dump via SIGUSR1 for debugging - Fixed unexpected contactor target during HLC charging - Fixed issue that the daemon tried configured an invalid duty cycle in CP state E - pwmd - Fixed issue of updating CP state topic when PWM is disabled. Now CP state 'E' is published when PWM is disabled Changes in ChargeControl-C-1.0.8: - customer.json - Now the feedback type for the ventilation is also configurable via customer.json - Added "none" option for contactor and ventilation feedback type configuration in customer.json. Now the charging software allows contactors without feedback pin - hwinitd - Fixed start behavior for CC C 100 without Ethernet to USB adapter - meteringd - Prevented negative power values for Iskra meter - Fixed bug in error handling which blocks the Modbus interface - Improved Modbus request behavior for Eastron meter - Added support for Elecnova DDS1946-2P/2M and DTS1946-4P/4M meters - ocppd - Introduced configure parameter for ventilation feedback - powerctrld - Fixed initialization of relay states - rotaryencd - Improved boot time for CC C 100 - updated - Improved debugging of connection activities - Implemented workaround to handle firmware download of misconfigured FTP servers - webfrontend - chargebyte favicon is now included instead of in-tech's shark - meter's vendor and model is now shown - ventilationd - Logs are now fan-related and not contactor-related Changes in ChargeControl-C-1.0.7: - configd - Reworked command-line interface - iso15118d - Fixed unexpected contactor close during high-level charging after CP detection timeout - meteringd - Added support for Eastron SDM230 meters - Added support for Carlo Gavazzi EM300/ET300 and EM100/ET100 series compatible meters - OCPP - Fixed memory leak - Ensured daemon works even if transaction database is not usable - Added report of persistence error in case transaction database is read-only - Added TriggerMessage support for BootNotification and StatusNotification - rfidd - Improved logging for Stronglink Modbus - rgbledd - Implemented power control via digital output - slacd - Reduced CPU load during basic charging - webfrontend - Changed in-tech sc to chargebyte logo Changes in ChargeControl-C-1.0.6: - meteringd - Fixed detection of Iskra after watchdog reset during charging session - Preliminary support for SunSpec compatible meters (SunSpec model 203): the first tested meter is a BZR Bauer BSM-WS36A-H01-1311-0000, please see updated User Guide for more details - OCPP - Fixed OCPP "StatusNotification" in case the EV is already connected after boot - Implemented configuration parameter "bootNotificationOnReconnect" and "StopTransactionSignatureFormat" - Implemented persistent storage for offline transactions. These are no longer lost in case of a reboot. - Introduced TOPIC_GLOBAL_TIME_SET_STATUS to detect system time synchronization Changes in ChargeControl-C-1.0.5: - Kernel - Enabled IIO trigger support - rootfs - Implemented a new topic "ci/global/time_set/status" which signalizes time synchronization via MQTT as bool (0 = not synchronized, 1 = synchronized) - iec61851d - Fixed authentication regression with enabled key-switch - meteringd - Fixed reboot loop caused by non-existing UART interface - improved error detection and log messages - improved time handling for Iskra meter. The system time can now be retrieved from an Iskra meter after a software update or reboot in case the time can not be synchronized with other time sources. Additionally, the charging software is now capable of handling daylight saving time - OCPP - Fixed missing string limitation for OCPP settings in customer.json - Handled OCMF corner cases (e.g. power outage, meter errors) - Moved transaction persistence from JSON file to SQLite database (/var/lib/ocppd/transactions.db) - Additionally store OCMF billing info / message in database - Increased maximum of stored transactions from 1 to 336 transactions (offline transactions are still kept in RAM) Changes in ChargeControl-C-1.0.4: - rfidd - Fixed typo in startup message - lockctrld - Improved logging - Ensured that capacitors are charged before driving to unlocked position - Implemented new motor EV-T2M3SM-E-LOCK12V - Fixed: Do not try to unlock during motor driver fault - Reduced driving duration to avoid motor driver fault (Scame: 500 ms, Walter-Werke: 400 ms) - iso15118d - Fixed crashes after receiving topic TOPIC_EVSE_INIT_DATETIMENOW - meteringd - Fixed potential crash for Non-Eichrecht meters when disconnecting EV - Fixed potential reboot due to triggered watchdog in boot phase - Improved Eichrecht support, e.g. meter backlight and LCD display handling - OCPP - Fixed a bug where StopTransaction was sent with wrong reason - New default behavior: setting system time from OCPP "BootNotification" and "Heartbeat" messages (can be configured) - New default behavior: valid time is requirement for a transaction (can be configured) - Several Eichrecht related improvements - webfrontend - Added some Eichrecht related information Changes in ChargeControl-C-1.0.1: Charging Stack General: - Now all daemon use the same timezone for logging - iso15118d - meteringd - Fixed communication issues (input/output error) with long Modbus telegrams - webfrontend - Display Eichrecht relevant information about meter - OCPP - Powerloss or board reset doesn't prevent stack from start a new transaction - Fixed reason for following transaction Changes in ChargeControl-C-1.0.0: Changes: - General - Added support for QCA7005 - Fixed QCA 700x remaining in boot loader mode during power-on - Fixed spurious mains QCA7000 bootloader problems - Fixed pairing on mains PLC (Push Button Simple Connect) Operating system - General: - Allow setting system timezone (required for Eichrecht), factory default time zone is: Europe/Berlin - Kernel - Added support for Realtek RTL8188EU Wireless - QCA700x: - fix potential communication errors due to offloaded TCP checksum checking - backport an upstream fix for the driver qca_spi - Root FS - Package openssl command line tool - Package pip3, fping, iputils-ping in developer builds Charging Stack - general - Improved the resolution of several current limits to 0.1 A - Implemented phase count switching between 1 and 3 phase charging (disabled per default) - /etc/secc/platform.json has been extended - Fixed log level switching - iec61851d - Improved logging for lock errors - slacd - Improved logging - iso15118d - Added support for Trusted CA Keys TLS extension (via mbedtls) - Introduced relaxed timeouts for CP State C in AC charging - Improved response code logging - Fixed crash on missing TLS certificate - Increased maximum password length for PnC keys - powerctrld - Fixed RCD handling - Improved logging - lockctrld - Added support for Scame 200.23260BS lock - Improved logging - meteringd - Added support for ABB EV3 meter - Added support for Iskra WM3M4C meter - Improved meter detection retry mechanism - rfidd - Fixed reporting of RFID availability/error - Implemented new topic: TOPIC_RFID_AUTHORIZATION_REQUEST (TOPIC_RFID_AUTHORIZEREQ is now deprecated) - Fixed UART settings for Stronglink - updated - Provide log information about update failures - webfrontend - Improved webfrontend regarding hardware configuration and charging values - Fixed tempfile handling - OCPP - Always publish the OCPP state via MQTT initially - Fixed OCPP configuration parameter spelling (MaxChargingProfilesInstalled) - Aligned power delivery steps to Eichrecht - Fixed dying OCPP WebSocket connections - Implement basic OCMF support Changes in ChargeControl-C-0.9.8: Changes: - General - During boot the QCA7000 will be updated to Firmware 3.0.0. Operating system - Kernel - Fixed available memory - Improved RAM settings for increased stability - Boot - Updated u-boot bootloader to 2020.04 - Root FS - Package c-periphery library - Reduced mosquitto broker logging Charging Stack - iec61851d - Added a configuration failsafe_current_limit, which applies before load management can take over - Added an MQTT topic for feedback of the effective current limit - iso15118d - Acknowledge dynamic current limits in high-level charging - Avoid AC ISO15118 renegotation on current limit change - Allow evse_status_code "EmergencyShutdown" or "Malfunction" to abort a charging session in any phase - Introduce range check for MQTT physical value types - lockctrld - Make monitoring of plug lock state configurable - meteringd - Added support for Eastron SDM630 meter - rfidd - Added support for StrongLink SL032 (with customized Modbus protocol) - Added support for SMART Technologies ID MCR Legic RFID reader - updated - Added support for casync based firmware updates - Fixed resuming HTTP downloads - OCPP - Re-use HTTP basic auth credentials for firmware download and GetDiagnostics - Added support for client-side WebSocket ping - Implemented charge point initiated Generic Data Transfer - Stoped handling recloser errors as faults