2021.14.0
·
1067 commits
to develop
since this release
Highlights
- Similar-Day Predictor (#1573). Thanks @pooran-c
- Bosch BPT-S 5 Hybrid Energy Storage System (#1604). Thanks @waldtraut1981
Bug Fixes and Other Changes
- Refactor Channel-Source and Target information (#1595, #1597)
- Refactor Ess-Cluster (#1590)
- Refactor implementation, use ChannelManager for immediate updates to channel values, calculate weighted SoC and add JUnit tests
- Go-e Charger: Fix minimum and maximum hardware power calculation (#1582), Fixes #1580
- RevolutionPi improvements (#1562) Thanks @clehne
- improved debugLog() format, added some debug write channels and improved event process handling (read on BEFORE_PROCESS_IMAGE, write on EXECUTE_WRITE)
- also: Simulator BatteryDummy - added missing StartStoppable channels
- Backend implementation for installation assistent (#1589) Thanks @mlang97
- See also #1588 for UI development efforts for an OpenEMS installation assistant by @raphael-piller
- Improve handling of OSGi References and target filters (#1603). Thanks @sebastianasen for your valuable inputs
- Try to restart Components if they are unavailable
- Due to a race condition on startup, sometimes Components are unavailable to the ComponentManager. The related error message is
[Core.ComponentManager(1)] : Could not get service from ref
. We are fixing this by restarting (i.e. 'reconfiguring') the Component in such a case.
- Due to a race condition on startup, sometimes Components are unavailable to the ComponentManager. The related error message is
- Increase ComponentManager 'ConfigNotActivated' level to 'FAULT'
- On UpdateComponent via ComponentManager: reset target properties
- Before if a Component was referencing 'modbus0' and you would update it to 'modbus1', there were two possible behaviours. (1) if 'modbus0' was still existing, the update would work and the target filter would be set properly. (2) otherwise the target filter could not be set, because the Component would not reactivate. This would leave the Component in an error state. We are fixing this by always resetting the target properties.
- Set non-empty default target filter by default
- If the target filter is made available via 'Config.java' and the configuration property is left as an empty string, the error
Invalid syntax in target property for dependency
arises on activate, which showed to also cause wrong behaviour later. We fix this by setting a default target filter of(enabled=true)
- which is always true, but avoids the error
- If the target filter is made available via 'Config.java' and the configuration property is left as an empty string, the error
- Try to restart Components if they are unavailable
- Backports from FEMS (#1583)
- HybridManagedSymmetricBatteryInverter: set persistence priority for DC power/energy channels
- JsonUtils: add parser for JsonObject and JsonArray to OpenemsType.String:
- This fixes io.openems.edge.common.component.AbstractOpenemsComponent] ERROR : [ctrl0] Unable to parse Property [property] value [[""]] to [STRING]: JSON [[""]] is not a JSON-Primitive
- Array-Properties: handle datatype properly (#1586)
- Tries to extract 'one' value of the array, falls back to 'STRING' if there are more two or more values and handle 'IllegalArgumentException' instead of fail
- TypeUtils: fix possible NullPointerException 78f0b42
- Dependency updates
- Bump slf4j-api from 1.7.30 to 1.7.32 in /cnf (#1578)
- Bump date-fns from 2.22.1 to 2.23.0 in /ui (#1576)
- Update UI dependencies (#1584)
- Bump slf4j-api from 1.7.30 to 1.7.32 in /cnf (#1578)
- Bump d3 from 7.0.0 to 7.0.1 in /ui (#1594)
- Bump ngx-cookie-service from 12.0.2 to 12.0.3 in /ui (#1593)
- Bump angular-mydatepicker from 0.11.4 to 0.11.5 in /ui (#1592)