Skip to content

2021.14.0

Compare
Choose a tag to compare
@sfeilmeier sfeilmeier released this 26 Aug 20:40
· 970 commits to develop since this release
56d037e

Highlights

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.
    • 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
  • 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)