There is a newer version of this record available.

Software Open Access

OpenEMS/openems: 2021.4.0

Stefan Feilmeier; wgerbl; ebakir; fabianfnc; huseyinsaht; pooran-c; Max Obermeier; sebastianasen; Sagar; Kyle; luzpaz; Lisa Kaindl; ahummelsberger; lukas-bender-rodriguez; Christian Lehne; AlexanderHollandFenecon; Leonid Verhovskij; Martin Grüning; greemo; Denis Jasselette; Andreas Fischer; Anita4Schmid; Ante Braovic; JohannesHundschell; WolfgangMiethaner; angular-cli; denis-jidovtseff-jc; fgarlin


  • Implementation of Advanced Battery Protection algorithms (#1376)
    • The "Battery-Protection" implementation serves as an addition to low-level battery management systems (BMS). It allows a fine grained definition of battery protection parameters and handles logics that are shared between different BMS implementations.
  • Implementation of a new Prediction architecture (#1327)
    • This new Predictor architecture uses modular Predictors, e.g. implementation of the Predictor24Hours. These Predictors can announce for which channels they allow a prediction and provide a Prediction24Hours result.
    • The entire process of getting a prediction is handled by the PredictorManager. It knows which actual Predictors to ask for their prediction, post-processes these predictions and returns them either directly in code via the Predictor::get24HoursPrediction() method or via a get24HoursPrediction JSON-RPC request to the _predictorManager component.
    • developed within the EMSIG project:
Bug Fixes and Other Changes
  • Simulator: BatteryDummy - add missing StartStoppable channels (#1392) Thanks @clehne
  • Migrate from Travis CI to GitHub Actions (#1397)
  • Improve OpenEMS documentation (#1399)
  • Update dependencies:
    • Gradle fcc65407ef0f95450e1ba7488d584d7644e23038
    • pax-logging-log4j1 from 2.0.6 to 2.0.7 (#1396) to 2.0.8 (#1400)
    • postgresql from 42.2.18 to 42.2.19 (#1394)
    • HikariCP from 4.0.1 to 4.0.2 (#1390)
    • jna from 5.6.0 to 5.7.0 (#1386)
    • UI dependencies 656af5de02becd87951afa54303d50112885067a
  • BatteryProtection definition for Soltaro Single B (#1376); also:
    • Add new features to PolyLine for type safe and fluent calls
    • Add TypeUtils min and multiply for type Double
    • Add custom Callbacks to ComponentTest-Framework
    • Add TypeUtils to convert safely from Integer/Float to Double
    • TypeUtils.assertNull() throws an IllegalArgumentException; adapt OperatingSystemDebianSystemd-Service accordingly
    • Cleanup and apply autoformat
    • improve null-handling in OpenemsComponent
    • Improve State-Machine logging
    • Sinexcel: ignore active power < 100 W
    • Reuse AllowedChargeDischargeHandler for Sinexcel-ESS
  • Evcs cluster SelfConsumption Patch 354e874c28236aad40e3acc1b9aa3193d2ebd994

Files (53.4 MB)
Name Size
53.4 MB Download
All versions This version
Views 28035
Downloads 80
Data volume 427.0 MB0 Bytes
Unique views 15622
Unique downloads 80


Cite as