2021.18.0
·
1018 commits
to develop
since this release
Highlights/New implementations
- Time-of-use-Tariff Discharge Controller
- Schedules the discharging of an AC or DC energy storage system in the night based on time-of-use prices, predicted production and consumption. Thanks @venu-sagar
- ESS Cycle Controller: executes charge/discharge cycles on an ESS. Thanks @huseyinsaht
- Generic Off-Grid ESS Implementation
- Similar to the existing Generic-ESS, this Off-Grid variant takes any off-gridable battery inverter (like Sinexcel), any battery and an external device that manages grid-switching and off-grid detection to seamlessly transfer between public- and micro-grid. Thanks @huseyinsaht
Bug Fixes and Other Changes
these improvements are mainly backports from FENECON Energy Management System (FEMS) #1637
-
Generic/Build/...
- Extract wrapper for OK HTTP library so that it can be used easier by other Components
- Improve Modbus Communication errorhandling
- In case of a modbus communication error there used to be a Fault state on the Modbus Bridge. This improvement moves the Fault state to the actual Modbus device instead.
- New Fault state ModbusCommunicationFailed inside the ModbusComponent Nature
- Properly implement ModbusComponent Nature in all Modbus device implementations
- In Modbus Bridge: use global Cycle-Time
- Add JUnit tests for Modbus-Bridge
- Channel: refactor handling of initial value
- Ramp-Filter: refactor
- State-Machine: store the previous state and make it available via getPreviousState() method
- Add feature to ignore Component Warnings and Faults in Sum
- If you are aware that certain Components currently have an error (e.g. a Modbus-Device is not connected, KEBA charging station is turned off, etc.) you can add the Component-ID to Sum, so that it does not appear in the overall system State (
_sum/State
) - Example without ignore:
[ctrlDebugLog0] _sum[State:Fault] ctrlApiRest1[State:FAULT: Unable to start REST-Api Server]
- Example with ignore configured:
[ctrlDebugLog0] _sum[State:Info|State:INFO: Component Warnings or Faults are being ignored] ctrlApiRest1[State:FAULT: Unable to start REST-Api Server]
- If you are aware that certain Components currently have an error (e.g. a Modbus-Device is not connected, KEBA charging station is turned off, etc.) you can add the Component-ID to Sum, so that it does not appear in the overall system State (
- TypeUtils: improve logic in case of null
- DebugLogController: add config setting to print Component Alias and implement @Modified to apply changed configuration faster
- Improve process of restarting defective Components via OsgiValidateWorker
- ESS Power-Constraints: improve log messages and avoid unnecessary tests
-
UI:
- Continue refactoring of Widgets
- many bug fixes
-
Batteries/Energy Storage Systems
- Battery-Protection: increase force-charge to 2 A by default
- FENECON Home: add startup procedure to Battery
- Soltaro Cluster B: Set StateChannels only if the corresponding racks are used
- Grid-Optimized-Charge: improve logic
- Implement Sinexcel as Battery-Inverter; drop ESS implementation
- GoodWe:
- implement smart-mode also for GoodWe ESS
- implement meter that measures emergency power
- Remove Predictive Delay Charge Controller (#1643)
- It was replaced by the more advanced "ESS Grid Optimized Charge" Controller (io.openems.edge.controller.ess.gridoptimizedcharge).
-
Input/Output
- IO Single Channel Threshold: refactor + allow multiple outputs
- JSON/REST-Api: improve permission handling
-
Dependencies