OpenEMS/openems: 2026.2.0
Authors/Creators
- Stefan Feilmeier1
- wgerbl
- ebakir
- fabianfnc
- Hüseyin Sahutoglu
- pooran-c2
- Hannes
- da Kai3
- Max Obermeier
- Sebastian Asen
- Sagar4
- Lukas Rieger5
- Hiromasa Ihara6
- Thomas Sicking7
- sjjh
- Kyle8
- Felix S9
- Christian Lehne
- luzpaz
- dependabot-support
- Michael Grill
- DerWahreKlinki
- Lisa Kaindl2
- parapluplu
- ahummelsberger10
- sthhs
- janklostermann
- Simon Fey
- 1. FENECON GmbH, OpenEMS Association e.V.
- 2. FENECON GmbH
- 3. @OpenEMS
- 4. Fenecon
- 5. University Deggendorf
- 6. @girasolenergy
- 7. opernikus GmbH
- 8. Microcare
- 9. @opernikus-common
- 10. KATEK
Description
Release Highlights
- New implementations:
- Janitza UMG806 (via UMG604 Master)
- Hager ECR380D
- Improved implementations:
- Shelly IOs
- Edge-2-Edge
- Single-Threshold-Controller
- Kostal Piko
- UI improvements:
- Better visualization on small screens (like a Tablet)
- Improved Pull-to-Refresh
- Backend improvements:
- Split services to multiple servers - allows load-balancing Edge connections
- OAuth authentication via KeyCloak (and Odoo)
- Core improvements:
- Integration-Tests framework (in python)
- ESS distribution strategy "Optimize by keeping all near equal"
- Improvements to EVSE E-Mobility Architecture, Energy Scheduler v2 and JSCalendar
- Grid-Buy-Soft-Limit (specifically for Sweden)
Details
OpenEMS Edge
Add support for Janitza UMG806 (via UMG604 Master) by @schiegg in https://github.com/OpenEMS/openems/pull/3449
[Edge] Meter.Janitza.UMG806: cleanup after #3449 by @sfeilmeier in https://github.com/OpenEMS/openems/pull/3502
Shelly Firmware: Check if stable version update is present by @sthhs in https://github.com/OpenEMS/openems/pull/3517
Edge2Edge: filter undefined integer modbus values by @tcdrop in https://github.com/OpenEMS/openems/pull/3479
Fix: Handle undefined SOC in solver strategy "Optimize by keeping all near equal" by @tsicking in https://github.com/OpenEMS/openems/pull/3516
ControllerIoChannelSingleThresholdImpl.java: Changed inputChannel fro… by @sjjh in https://github.com/OpenEMS/openems/pull/3510
Kostal Piko inverter: Corrected dayYield from kWh to Wh + Units of totalYield and dayYield by @sjjh in https://github.com/OpenEMS/openems/pull/3538
New energy meter of type Hager ECR380D by @hrohmer in https://github.com/OpenEMS/openems/pull/3336
FEMS Backports 2026-01-15 by FENECON in https://github.com/OpenEMS/openems/pull/3518
- [Edge] Evse.Controller: implement "Minimum-with-Surplus" mode Commit
- [Edge] App.Prediction.Weather: add components aliases Commit
- [Edge] HTTP Bridge: improvements Commit
- [Edge] JSCalendar: improvements Commit
- [Edge] Battery.Fenecon.Home: update register types from INTEGER to LONG for energy channels Commit
- [Edge] Evse.Controller: implement "Minimum-with-Surplus" mode Commit
- [Edge] EnergyScheduler v2: Fix regular optimization schedule Commit
- [Edge] JSCalendar: implement MONTHLY recurrence Commit
- [Edge] BatteryProtection: support dynamic ForceCharge/Discharge current Commit
- [Edge] XmlUtils: activate SECURE_PROCESSING feature Commit
- [Edge] FENECON Commercial 100 App Commit
- [Edge] JSCalendarApi: fix error Commit
- [Edge] App.System.Fenecon.Home: Remove relay validation Commit
- [Edge] EnergyScheduler v2 improvements Commit
- [Edge] Move JSCalendar JSONRPC API-Routes to common Commit
- [Edge] EnergyScheduler v2 improvements Commit
- [Edge] QuarterlyValues: use
Instantinstead ofZonedDateTimeCommit - [Edge] EnergyScheduler v2 improvements Commit
- [Edge] Battery.Fenecon.Home: add registers Commit
- [Edge] EnergyScheduler & TimeOfUseTariffController: resolve cyclic dependencies Commit
- [Edge] EnergyScheduler: Add generations counter Commit
FEMS Backports 2026-01-24 by FENECON in https://github.com/OpenEMS/openems/pull/3540
- [Edge] ESHv2: fix possible NPE Commit
- [Edge] ESHv2 Time-of-Use-Tariff Ctrl DELAY_DISCHARGE fix charge from AC Commit
- [Edge] Predictors: Implement better logging Commit
- [Edge] Controller.Ess.SoH.Cycle: Implement State-of-Health Cycle Controller Commit
- [Edge] JSCalendar: implement
nthOfPeriodfor monthly byDay Commit - [Edge] Implement Grid-Buy-Soft-Limit in _meta (2) Commit
- [Edge] App.FENECON.Home*: Bugfix for LED Commit
- [Edge] Implement Grid-Buy-Soft-Limit in
_metaCommit - [Edge] JSCalendar: Add Api-Routes to existing Components Commit
- [Edge] FENECON 100 battery inverter: add type Commit
- [Edge] Battery.Fenecon.Home: fix register names Commit
OpenEMS UI
- Adjust large screen widget size based on nav position by @Sn0w3y in https://github.com/OpenEMS/openems/pull/3354
- Fix: Pull-to-Refresh not working by @Sn0w3y in https://github.com/OpenEMS/openems/pull/3531
- [UI] Use Angular property binding for SVG fill attribute by @sfeilmeier in https://github.com/OpenEMS/openems/pull/3542
- Fixed copy-paste bug - was subWeeks instead of subMonths/subYears by @Sn0w3y in https://github.com/OpenEMS/openems/pull/3541
- FEMS Backports 2026-01-15 by FENECON in https://github.com/OpenEMS/openems/pull/3518
- [UI] formly-range-type: set default value Commit
- [UI] IBN: add configuration for alerting Commit
- [UI] Add validator for first- and last-name fields Commit
- [UI] eslint-rule
json-no-duplicate-keysCommit - [UI] App Center: fix display of registered keys Commit
- [UI] fix redirects Commit
- [UI] improve oauth flow Commit
- [UI] Fix user back button Commit
- [UI] Settings | Systemlog: fix toggle Commit
- [UI] OAuth for android app Commit
- [UI] OAuth implementation Commit
- [UI] Spinner for excel export Commit
- FEMS Backports 2026-01-24 by FENECON in https://github.com/OpenEMS/openems/pull/3540
OpenEMS Backend
- FEMS Backports 2026-01-15 by FENECON in https://github.com/OpenEMS/openems/pull/3518
- [Backend] Fix setting AlertingSettings for customers Commit
- [Backend] Backports Commit
- Implement Edge.Manager; Drop EdgeWebsocket -> allows load balancing -> BREAKING: This requires changes to Backend infrastructure, as it allows separating Backend to multiple servers.
- OAuth via KeyCloak -> This splits the authentication process into OAuth via KeyCloak and Odoo
- Add settings to GetEdges
- Moved role from user object to metadata
- Extend Odoo Filter
- Backend.Edge.App: add histogram metrics to requests
- Aggregated-InfluxDB: increase allowed Component-IDs for EVSE and EVCS
- Add ElectricityMeter Channels for
ios - MetadataOdoo: handle uncached Edges
- Remove UiWebsocketValidator
- Dummy AppCenter Metadata
- [Backend] Mitigate possible regex backtracking Commit
- FEMS Backports 2026-01-24 by FENECON in https://github.com/OpenEMS/openems/pull/3540
Common/General
- Update architecture.adoc: fixed ul within section process image by @sjjh in https://github.com/OpenEMS/openems/pull/3490
- Update device_service.adoc: corrected title & added services by @sjjh in https://github.com/OpenEMS/openems/pull/3489
- extends docu on Dynamic Documentation Generation, Natures (incl. ESS & IO) by @janklostermann in https://github.com/OpenEMS/openems/pull/3488
- Update readme.adoc: corrected formatting for ul by @sjjh in https://github.com/OpenEMS/openems/pull/3498
- Fix GitHub link in readme.adoc by @janklostermann in https://github.com/OpenEMS/openems/pull/3508
- Introduce integration tests by @parapluplu in https://github.com/OpenEMS/openems/pull/3319
- Update readme.adoc: added link to documentation by @sjjh in https://github.com/OpenEMS/openems/pull/3511
- Add explanation of abbrevation CHP in readme.adoc by @janklostermann in https://github.com/OpenEMS/openems/pull/3507
- improve formatting in nature.adoc by @janklostermann in https://github.com/OpenEMS/openems/pull/3506
- Update readme.adoc: added limitation regarding UI pwd by @sjjh in https://github.com/OpenEMS/openems/pull/3204
- Update readme.adoc: added docu how to use (ancillary costs) by @sjjh in https://github.com/OpenEMS/openems/pull/3225
- Update deploy.adoc: corrected ul formatting by @sjjh in https://github.com/OpenEMS/openems/pull/3543
- FEMS Backports 2026-01-15 by FENECON in https://github.com/OpenEMS/openems/pull/3518
- FEMS Backports 2026-01-24 by FENECON in https://github.com/OpenEMS/openems/pull/3540
- [Edge/Backend] Various Cleanups Commit
Version Upgrades
- [UI] Update to latest LTS: Node 24, NPM 11 Commit
- Update bnd to 7.2.1 Commit
- Update Gradle to 9.3.0 by @sfeilmeier in https://github.com/OpenEMS/openems/pull/3529
- Bump org.jmdns:jmdns from 3.6.2 to 3.6.3 in /cnf by @dependabot[bot] in https://github.com/OpenEMS/openems/pull/3495
- Bump org.jsoup:jsoup from 1.21.2 to 1.22.1 in /cnf by @dependabot[bot] in https://github.com/OpenEMS/openems/pull/3496
- Bump org.rrd4j:rrd4j from 3.9 to 3.10 in /cnf by @dependabot[bot] in https://github.com/OpenEMS/openems/pull/3504
- Bump org.junit.jupiter:junit-jupiter-api from 6.0.1 to 6.0.2 in /cnf by @dependabot[bot] in https://github.com/OpenEMS/openems/pull/3503
- Bump net.bytebuddy:byte-buddy from 1.18.3 to 1.18.4 in /cnf by @dependabot[bot] in https://github.com/OpenEMS/openems/pull/3525
- Bump com.google.protobuf:protobuf-java from 4.33.2 to 4.33.4 in /cnf by @dependabot[bot] in https://github.com/OpenEMS/openems/pull/3524
- Bump the influxdb group in /cnf with 4 updates by @dependabot[bot] in https://github.com/OpenEMS/openems/pull/3519
- Bump org.postgresql:postgresql from 42.7.8 to 42.7.9 in /cnf by @dependabot[bot] in https://github.com/OpenEMS/openems/pull/3523
- Bump com.auth0:auth0 from 2.22.0 to 3.0.0 in /cnf by @dependabot[bot] in https://github.com/OpenEMS/openems/pull/3521
- Bump com.fasterxml.jackson.core:jackson-annotations from 2.19.2 to 2.20 in /cnf by @dependabot[bot] in https://github.com/OpenEMS/openems/pull/3522
- Bump @angular/core from 20.3.15 to 20.3.16 in /ui by @dependabot[bot] in https://github.com/OpenEMS/openems/pull/3514
- Bump com.fasterxml.jackson.core:jackson-annotations from 2.20 to 2.21 in /cnf by @dependabot[bot] in https://github.com/OpenEMS/openems/pull/3537
- Bump urllib3 from 2.5.0 to 2.6.3 in /tools/integration_tests by @dependabot[bot] in https://github.com/OpenEMS/openems/pull/3528
- Bump lodash from 4.17.21 to 4.17.23 in /ui by @dependabot[bot] in https://github.com/OpenEMS/openems/pull/3536
- Bump lodash-es from 4.17.21 to 4.17.23 in /ui by @dependabot[bot] in https://github.com/OpenEMS/openems/pull/3535
- Bump com.google.protobuf:protobuf-java from 4.33.4 to 4.33.5 in /cnf by @dependabot[bot] in https://github.com/OpenEMS/openems/pull/3549
- Bump org.objenesis:objenesis from 3.4 to 3.5 in /cnf by @dependabot[bot] in https://github.com/OpenEMS/openems/pull/3548
- Bump hono from 4.11.4 to 4.11.7 in /ui by @dependabot[bot] in https://github.com/OpenEMS/openems/pull/3546
New Contributors
- @hrohmer made their first contribution in https://github.com/OpenEMS/openems/pull/3336
Full Changelog: https://github.com/OpenEMS/openems/compare/2026.1.0...2026.2.0****
Files
OpenEMS/openems-2026.2.0.zip
Files
(79.7 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:f2c61e4620eb228126ca89b4363830da
|
79.7 MB | Preview Download |
Additional details
Related works
- Is supplement to
- Software: https://github.com/OpenEMS/openems/tree/2026.2.0 (URL)
Software
- Repository URL
- https://github.com/OpenEMS/openems