Skip to content

Releases: OpenEMS/openems

2022.5.0

01 May 19:49
a45ce89
Compare
Choose a tag to compare

Bug Fixes and Other Changes

  • Fix Language NullPointerException (#1793)
    • This bug had caused problems when logging in from OpenEMS UI to OpenEMS Edge. Thanks @michaelgrill for the fix!
  • Fixed filter for influxdbv2 query (#1782)
    • Use edge instead of fems keyword
    • Bug had been introduced in a FEMS backport. Thanks @simonfey for the fix!
  • Updates to system update feature (#1807)
    • This is an incremental improvement to the feature. More to come soon. See pull-request for details. We are hoping for comments on this Beta feature.
    • Thanks @lukasrgr!
  • Improvements to App-Manager (#1813)
    • This is an incremental improvement to the feature. We are hoping for comments on this Beta feature.
    • Thanks @michaelgrill
  • Implement Negative Alerting in Backend (#1814)
    • Negative Alerting: sends notification when EMS stays disconnected from the backend for certain configured period
    • This is currently implemented with Metadata.Odoo in mind. We are hoping for comments on this Beta feature.
    • Thanks @da-Kai
  • Events: change backend structure to use OSGis EventAdmin (#1814)
  • Corrently: fix API calling parameter (#1806)
    • Corrently has changed the call param zipcode to zip. Thanks @clehne for the fix!
  • Improve calculation of _sum/EssDcDischargePower (#1800)
  • Sinexcel: calculate Energy from ActivePower (#229) (#1816)
    • Seems the original values from modbus are not reliable; tested on fems
    • Also: change DC_(DIS)CHARGE_ENERGY to LONG to avoid 'is not fitting in Integer range' exception

Dependencies

  • Bump org.apache.felix.configadmin from 1.9.22 to 1.9.24 in /cnf (#1792)
  • Bump d3 from 7.3.0 to 7.4.2 in /ui (#1791)
  • Bump @angular from 13.3.0 to 13.3.1 in /ui (#1785, #1803)
  • Bump moment from 2.29.1 to 2.29.2 in /ui (#1794)
  • Bump postgresql from 42.3.3 to 42.3.4 in /cnf (#1805)
  • Bump Java-WebSocket from 1.5.2 to 1.5.3 in /cnf (#1799)
  • Bump jna from 5.10.0 to 5.11.0 in /cnf (#1775)
  • Bump d3 from 7.4.2 to 7.4.4 in /ui (#1798)

2022.4.0

01 Apr 22:38
3be6a88
Compare
Choose a tag to compare

Highlights

  • Add Fronius PV Inverter (via Modbus/SunSpec) (#1749)
  • Add Kostal PV Inverter (via Modbus/SunSpec) (#1767)
  • Code clean-up and modernization for Java 11 (#1757)
    • Modernize code for features of Java 11; this is mainly applied by using the "Clean up..." feature of Eclipse IDE. The configuration XML file for "Clean up" can be found at /cnf/clean-up.xml
  • Add compatibility with InfluxCloud and InfluxDB 2.0 (#1581, #1768, #1769)
    • Update InfluxDB Query Language to new Flux Language
    • Improve 'round by resolution' behaviour
    • Update to latest InfluxDB Client Java library (https://github.com/influxdata/influxdb-client-java)
    • be aware that the configuration properties for Backend and Edge InfluxDB components was changed to reflect InfluxDB 2.0 terms

Minor improvements

  • Modbus/TCP: Add GridMode to Sum (#204) (#1748)
    • GridMode can now be read via Modbus Address 417.
    • Additionally:
      • Add new type enum16
      • Show text of Channels in Description
      • Improve texts for Channels
      • Fix calculation of GridMode when there is no ESS.
  • Improve tutorial "Implementing a Device" (#1507)
  • Controller IO HeatingElement: add cumulated active time (#1760)
    • Add cummulated time channels & update them depending on the current level. Use these channels in the UI history.
  • Add translation for Excel Export (#1778)
    • Sinexcel Battery-Inverter: add debounce for channels (#1779)
    • This fixes read problems with Sinexcel Battery Inverters.
    • Also: move debounce feature from StateChannel to all BooleanChannels

Bug Fixes and Other Changes

  • Required change for Fronius PV Inverter (via Modbus/SunSpec) (#1749)
    • AbstractOpenemsSunSpecComponent readNextBlock() function change to complete when all expected blocks have already been read.
  • Odoo: store and authenticate username/email in lower case (#1750)
  • Update Gradle v7.4.2 56adc15 74720da
  • FENECON Home Battery: add Component deactivate (#1766)
  • Bugfix isProducer() method (#1770)
  • Gitpod live demo: fix branch name for odoo-openems (#1771)
    • _Gitpod is unfortunately broken right now because of some Odoo module incompatibility
  • Fix SDM 630 modbus addresses for Reactive Power (#1772)
  • FEMS-Backports for 2022.04 (#1773)
    • Bugfix for InfluxDB v2 implementation:
      • add missing runtime dependencies
      • use ThreadPool for InfluxDB batch writes
      • improve exception handling
    • Add continuous debug output to Ui.Websocket and Edge.Websocket
    • Add fallback for Resolution and Timezone for older UI versions
    • Improvement on Generic.Ess ErrorHandler
  • Update core UI libraries (#1774)
    • Angular v13
    • Ionic v6
    • ...
    • Fix CI path to ng
  • Improvements for Time-Of-Use Tariffs (#1776)
    • Change TimeOfUseTariff to never return null
    • Introduce TimeOfUsePrices.empty() instead
    • Adjust Controller to handle the changed logic
    • Awattar, Tibber, Corrently: throw Exception if HTTP GET result is empty
    • Update JUnit tests to reflect new Exception handling
  • UI: fix not displayed meters (#1780)
    • Fixed not displayed meters and wrong displaying of labels in history/consumptionchartOverview

Thanks @DerWahreKlinki, @huseyinsaht, @mlang97, @sebastianasen, @lukasrgr, @venu-sagar, Michael Grill, @janseidemann for contributing to this Release!

2022.3.0

02 Mar 20:17
7217fcb
Compare
Choose a tag to compare

Bug Fixes and Other Changes

2022.2.0

01 Feb 09:30
9fe71be
Compare
Choose a tag to compare

Highlights

  • From now on we provide downloadable files for every release
    • Release assets (and a Github draft release) are automatically created via Github Actions (#1696)
    • Find the download links for openems-edge.jar, openems-backend.jar and openems-ui.zip below
    • We are glad to hear your feedback on prebuilt release files on OpenEMS Community! (https://community.openems.io)
  • We published a major update for the OpenEMS Getting Started guide: https://openems.github.io/openems.io/openems/latest/gettingstarted.html
  • In rest this release focuses on updating and modernizing the code base for Java 11, updating external library dependencies and bug fixes

Bug Fixes and Other Changes

  • Major update for OpenEMS Getting Started guide bb0e6f2
  • Code Clean-Up and modernization for Java 11
    • Clean-up code using Eclipse IDE
    • Apply checkstyle
    • Use Java 11 features - mainly the var keyword, where appropriate
    • OpenEMS Backend (#1692)
    • OpenEMS Edge (#1695)
      • Update io.openems.common
      • Update io.openems.edge.application
      • Update io.openems.edge.battery.api
      • Update io.openems.edge.battery.bmw
      • Update io.openems.edge.battery.bydcommercial
      • Update io.openems.edge.battery.fenecon
      • Update io.openems.edge.battery.soltaro
  • Update dependencies
    • UI edb287e 4ed9531
    • Bump fastexcel from 0.12.12 to 0.12.13 in /cnf (#1703)
    • Bump HikariCP from 4.0.3 to 5.0.1 in /cnf (#1701)
    • Bump fastexcel from 0.12.13 to 0.12.14 in /cnf (#1712)
    • Bump slf4j-api from 1.7.32 to 1.7.33 in /cnf (#1710); Closes #1709
    • Bump d3 from 7.2.1 to 7.3.0 in /ui (#1698)
    • Bump slf4j-api from 1.7.33 to 1.7.35 in /cnf 854e759
    • Bump slf4j-simple from 1.7.33 to 1.7.35 in /cnf (#1725)
    • Bump org.apache.felix.configadmin from 1.9.20 to 1.9.22 in /cnf (#1708)
  • Battery: fix JUnit test 8927408
  • EdgeConfig: try to parse JSON configurations (#1705)
  • Fix OCPP dependencies for Java 11 (#1715)
    • Add JavaBeans Activation Framework
    • Fix typo in sdnotify wrapper
    • Update EdgeApp.bndrun
  • Simulator GridMeter: fix calculation of active power
  • FEMS Backports (#1721)
    • Continuous improvement of Odoo Backend and FENECON Home implementation
    • Cleanup JsonUtils and EdgeConfig
    • Add EnumUtils
    • JsonrpcRequest: improve log messages on error
    • JUnit tests
    • Timeslot-Peakshaving ("Hochlastzeitfenster")
    • Draft for App-Manager
    • EssDcCharger and PV-Inverters: add modbus slave definition
    • GoodWe:
      • add config setting to disable MPP Tracking with external optimizers
      • improvements to "SMART"-Mode
  • Time-Of-Use Tariff Discharge controller Bug-Fix (#1716)
    • Set active power for both AC and DC systems were the same, and it is changed now by recognizing if it is a DC or AC system and giving separate set points.
    • Controller LimitTotalDischarge implementation is split into Interface and implementation.
    • Reference for limit total discharge and emergency capacity reserves is updated with target filters for enabled/active Controllers

2022.1.0

01 Jan 13:39
2313a00
Compare
Choose a tag to compare

Wishing all of you a happy and successful new year 2022!

Highlights

  • Implement Siemens PAC2200/3200/4200 meters (#1667). Thanks @simonfey for the contribution!

Bug Fixes and Other Changes

  • Bump org.apache.felix.webconsole from 4.7.0 to 4.7.2 in /cnf (#1688)
  • Switch to log4j2 (#1686)
    • update it to latest version 2.0.14 (031449b)
    • update prepare-commit script for log4j2 433e452
  • Backend Odoo: apply Checkstyle, fix taking database name from configuration 742af2d
  • Tried to update j2mod/jSerialComm... #1602, 0f43c0a, #1689
    • We have been trying a couple of times already to update j2mod and jSerialComm to there latest version, but it always fails, because jSerialComm somehow reconfigures the serial device and draws it unusable on our test systems. If anybody can help out, it will be much appreciated. Till then we will stay with the old version.
  • Bump rrd4j from 3.8 to 3.8.1 in /cnf (#1690)
  • Drop R&D page from docs
    • It was moved to https://openems.io/research/ long ago.
    • If you use OpenEMS for a research project, please give us a note and we will link you there.
  • Update gradle to 7.3.3 4deba81
  • Update docs for new, monthly release cycle fbce09e

2021.22.0

16 Dec 20:08
e9e21e0
Compare
Choose a tag to compare

Bug Fixes and Other Changes

  • Update pax-logging-log4j
  • Bump org.apache.felix.http.jetty from 4.1.12 to 4.1.14 in /cnf (#1684)
  • Bump org.apache.felix.framework from 7.0.1 to 7.0.3 in /cnf (#1679)
  • Bump d3 from 7.1.1 to 7.2.1 in /ui (#1681)
  • Bump date-fns from 2.26.0 to 2.27.0 in /ui (#1676)
  • Fixes for Backend Metadata.Odoo

NOTE: see the discussion in OpenEMS Community forum regarding the Log4j issue (CVE-2021-44228): https://community.openems.io/t/schwachstelle-in-log4j-und-openems/707

2021.21.0

01 Dec 11:29
daecc84
Compare
Choose a tag to compare

Highlights

  • Switch to Java 11 (#1596)
    • Switch from Java 8 to Java 11
      • Update Github Actions workflow
      • Update Gitpod Dockerfile (use Java 11.0.13-tem Eclipse Adoptium Temurin build)
      • Update all .classpath files to use JavaSE-11
      • Update EdgeApp and BackendApp.bndrun to use JavaSE-11
    • Replace apache xmlrpc with aXMLRPC
      • Apache ws-xmlrpc depends on javax.xml.bind, which was deprecated since Java 9 and was removed in Java 11
      • Thank you @gturri for providing a nearly drop-in replacement for Apache ws-xmlrpc
      • This also removes the dependency for Apache WebServices Common Utilities (ws-commons-util), which was also removed
      • Update OdooUtils to use aXMLRPC instead
    • Replace deprecated methods in OneWire
    • Remove InfluxDB config as it is not installed by default in Gitpod
    • By default remove the .settings directory which is specific to Eclipse IDE (via tools/prepare-commit.sh)

If you need a prepuilt Java Runtime Environment (JRE) for Java 11, please refer to https://adoptium.net/. Updated Debian Packages by the Eclipse Adoptium project are still work-in-progress (see adoptium/installer#330), but the ones by Adopt-OpenJDK are still available here: https://adoptopenjdk.jfrog.io/ui/native/deb/pool/main/a

Bug Fixes and Other Changes

2021.20.0

18 Nov 22:24
1837bf0
Compare
Choose a tag to compare

Thank you to all the members of the OpenEMS Association for the networking at the yearly general meeting. And also thanks to the Community for joining us in the OpenEMS Conference 2021 on 16th November. The recordings will be available soon on https://openems.io/.


Highlights

  • Time-Of-Use Tariff Corrently: switch to 15 minutes resolution
  • Add Time-Of-Use Tariff Tibber (#1663)

Bug Fixes and Other Changes

  • Ess-Cluster: fix calculation of channels (#1666)
    • Certain Channels like 'Capacity' or 'ActivePowerL1/L2/L3' had not been calculated at all or correctly.
  • Fix DESS Chargers: change Config1 to Config2 (#1665)
  • Ess Cycle Controller Final Soc State Charge Bug Fix
  • FEMS Backports #1658
    • Improvements for Time-Of-User Tariffs
      • Implement generic Time-of-Use tariff service.
      • Implement Awattar TOU tariff provider implementation.
      • Implement Corrently by STROMDAO TOU tariff
    • Checkstyle: do not required Javadoc for build() method in builder pattern
    • Add System-Update feature (if OpenEMS Edge is installed via Debian package)
      • Add ExecuteSystemUpdateRequest and GetSystemUpdateStateRequest
    • Add Password-only sudo authentication for system execute
    • Add exitcode to ExecuteSystemCommandResponse
    • Add global .gitignore patterns
    • Update gradle bnd version to 6.0.0
    • Increase number of Threads in ThreadPools to avoid pending tasks
    • Add handling of BundleContext in activate (without DummyBundleContext, because that had caused Resolve errors)
    • UI: improve detection of isOnline
    • Set default port 8085 in edge-dev.ts
    • TypeUtils: fix conversion from Double to Float
      • This fixes a bug where a double "0.0" could not be converted to float, with following error: "Cannot convert. Double [0.0] is not fitting in Float range."
      • Also applied Checkstyle on TypeUtils.
    • Keba KeContact: trim configured IP address
      • This avoids "evcs0[Failed activation java.net.UnknownHostException: xxx.xxx.xxx.xxx]
    • Introduce OpenemsOEM class which simplifies creating custom distributions of OpenEMS
    • Soltaro Battery Improvement
    • Sinexcel Battery Inverter New Modbus Protocol Implementation
    • Allow SymmetricEss in EvcsClusterPeakshaving
      • EvcsClusterPeakshaving was not able to start with a SymmetricEss like Fenecon Dess. (No Reference for component ess0 ...)
    • UI register: Remove zip validator
      • Austria has only 4 digits; other countries... who knows?!
    • PQ Plus UMD96 Meter Implementation
    • Remove Predictive Delay Charge Controller
      • It was replaced by the more advanced "ESS Grid Optimized Charge" Controller (io.openems.edge.controller.ess.gridoptimizedcharge).
    • Hardy Barth Salia: implementation improvements
      • Small things like heartbeat were changed in the hardy barth software especially for the newer salia cpµ pro 2 (single charger).
      • Another problem was the external meter that is used internally in the hardy barth to provide the current charge values.
      • This meter also measures the standby consumption of the salia itself and is disabled by default - The function to enable it automatically is on hold for now, as we need a proper update process first.
    • GoodWe: add missing Write-Registers

2021.19.0

04 Nov 21:52
dfabd25
Compare
Choose a tag to compare

Bug Fixes and Other Changes

  • Fixed Reactive power listener in AsyncMeter (#1646). Thanks @kscholty
  • Update Getting Started-Docs for UI (#1650). Thanks @lukasrgr
  • UI: Fix default Port in Environment (#1651). Thanks @lukasrgr
  • InfluxDB: write data with milliseconds precision (#1644)
  • Dependency updates:
    • Bump gson from 2.8.8 to 2.8.9 in /cnf (#1656)
    • Bump postgresql from 42.3.0 to 42.3.1 in /cnf (#1655)
    • Bump org.osgi.service.jdbc from 1.0.0 to 1.0.1 in /cnf (#1649)
    • Bump date-fns from 2.24.0 to 2.25.0 in /ui (#1638)
    • Bump d3 from 7.0.3 to 7.1.1 in /ui (#1632)
    • Bump influxdb-java from 2.17 to 2.22 in /cnf (#1626)

2021.18.0

21 Oct 17:08
17c5e12
Compare
Choose a tag to compare

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]
    • 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

    • Bump org.osgi.util.function from 1.1.0 to 1.2.0 in /cnf (#1642)
    • Bump org.osgi.util.promise from 1.1.1 to 1.2.0 in /cnf (#1641)
    • Bump postgresql from 42.2.23 to 42.3.0 in /cnf (#1640)
    • Bump jsoup from 1.14.2 to 1.14.3 in /cnf (#1633)
    • Bump guava from 30.1.1-jre to 31.0.1-jre in /cnf (#1630)