OpenEMS/openems: 2026.10.0
Abstract
Release Highlights New implementations: Phoenix Contact PLCnext Alfen NG9xx Wallbox SAX Power Home Plus Sungrow PV Inverter & ESS Hardy Barth cPH1 Improved implementations: FENECON & GoodWe Battery Inverter KEBA P40 FENECON Commercial 100 Fronius Modbus/TCP API Controller REST API PV-Inverter SellToGridLimit Controller Askoma Electric Heater my-PV Electric Heater ENTSO-E time of use tariff UI improvements: NUI supports Favorites Theme switcher for Dark-/Bright Mode Core improvements: Power-Solver v1 EnergyScheduler v2 Predictor Persistence Model for offline forecasts UI: more usage of strict mode Edge: more usage of reference target Details OpenEMS Edge Official driver of PLCnext platform of Phoenix Contact by @mbreier-sw in https://github.com/OpenEMS/openems/pull/3555 PLCnext: migrate JUnit tests to Jupiter by @sfeilmeier in https://github.com/OpenEMS/openems/pull/3937 Add Alfen EVSE chargepoint support by @Sn0w3y in https://github.com/OpenEMS/openems/pull/3915 FENECON Commercial 40, DESS, Shelly: migrate reference target by @PunugupatiSaikumar in https://github.com/OpenEMS/openems/pull/3922 Docs: Update MeterType import from common.types by @Byonnem in https://github.com/OpenEMS/openems/pull/3905 FEMS Backports 2026-09-03 in https://github.com/OpenEMS/openems/pull/3948 GoodWe: fix too many register updates Commit GoodWe: Scale Factoring Fix 4110 Commit GoodWe: Changed Registers for VDE 4105/4110 Commit KEBA P40 via Modbus: Set Enable when charging starts Commit GoodWeBatteryInverter: fix memory leak Commit GoodWe Registers for 4105/4110 Commit Keba P40 (EVCS & EVSE): Don't set SET_ENABLE Commit Commercial 100 Firmware Update & Modbus Task Priority change at runtime Commit Commercial 100: set Battery 2 Protocol Commit PowerSolverV1: improve Duration calculation by @DerStoecki in https://github.com/OpenEMS/openems/pull/3947 Power Distribution v1: fix MetaEss is an Inverter entry by @Christoph-87 in https://github.com/OpenEMS/openems/pull/3946 SAX Power Home Plus: implement ESS with integrated grid meter by @Hans-4 in https://github.com/OpenEMS/openems/pull/3873 Fronius: expose Channels via Modbus API by @Sn0w3y in https://github.com/OpenEMS/openems/pull/3988 Modbus API Controller: improve readme with updated click path to download modbus mapping file by @sjjh in https://github.com/OpenEMS/openems/pull/3986 Sungrow PV Inverter and ESS implementation by @tsicking in https://github.com/OpenEMS/openems/pull/3935 PvInverter.SellToGridLimit: clamp setpoint to 0 by @JonasBechler in https://github.com/OpenEMS/openems/pull/3973 Add Hardy Barth cPH1 EVCS support (ECB1 REST API) by @Christoph-87 in https://github.com/OpenEMS/openems/pull/3940 OpenEMS UI FEMS Backports 2026-09-03 in https://github.com/OpenEMS/openems/pull/3948 reduce unit test timeouts Commit show automatic phase-switching for owners Commit Modbus/TCP: channel regex accept all suffixes Commit Implement favorite navigation Commit fix icon size in segment button Commit Public opt-in for new design Commit EVSE: automatic phase switching (ADMIN only) Commit Extend eslint Commit Expose theme switcher for OpenEMS theme by @Christoph-87 in https://github.com/OpenEMS/openems/pull/3945 Fix OpenEMS UI by @sfeilmeier in https://github.com/OpenEMS/openems/pull/3957 Small fixes and adds SVG selfconsumption by @chpoulter in https://github.com/OpenEMS/openems/pull/3959 Docs: add nginx (re)start command by @Hans-4 in https://github.com/OpenEMS/openems/pull/3989 Enable strict TypeScript checking for date-picker popover by @PunugupatiSaikumar in https://github.com/OpenEMS/openems/pull/3976 FEMS Backports 2026-09-22 in https://github.com/OpenEMS/openems/pull/3996 Update io-heating-room to formly and NUI Commit Add missing import for RangeSliderComponent in EVCS. Commit try to fix UI build Commit fix wrong signal usage Commit mobile ui improvements Commit AbstractFormlyComponent: refactor to signals Commit Heating Element: add Minimum Energy mode Commit Formly input-with-unit field: fix flex layout Commit Country code handling in location validation component Commit Improve CI build Commit FEMS Backports 2026-09-22 in https://github.com/OpenEMS/openems/pull/3996 Askoma & MyPV Energy Scheduler Commit EVSE KEBA: Update timing for set-points Commit ENTSO-E: Update warning for unavailable prices Commit EnergyScheduler v2: Fix Optimizer onBestResult-Callback Commit FENECON Masterbox IOC: Wait 10 ms between battery and ioc communication Commit Keba EVCS: fix Logspam Commit Energy Scheduler v2: LimitBySteadyFitness in Optimizer Commit PredictorPersistenceModel: improve smoothing & more robust on missing data Commit Controller.Api.ModbusRtu.ReadWrite: fix RS-485 mode reset Commit Add local default language Commit Remove unused pipes and type KeysPipe strictly by @PunugupatiSaikumar in https://github.com/OpenEMS/openems/pull/3966 Enable strict checking for DateUtils tests by @PunugupatiSaikumar in https://github.com/OpenEMS/openems/pull/3965 Remove @ts-strict-ignore from color utils by @PunugupatiSaikumar in https://github.com/OpenEMS/openems/pull/3964 Remove @ts-strict-ignore from array utils by @PunugupatiSaikumar in https://github.com/OpenEMS/openems/pull/3963 Align TypeScript formatting and JSON-RPC docs by @hvgollar in https://github.com/OpenEMS/openems/pull/3962 Migrate TimeUtils to strict TypeScript by @PunugupatiSaikumar in https://github.com/OpenEMS/openems/pull/3942 Remove strict ignore directives from index components by @hvgollar in https://github.com/OpenEMS/openems/pull/3967 OpenEMS Backend UiWebsocket: use reverse index for sendSubscribedChannels instead of scanning all UI connections Commit InfluxDB: validate channel names before InfluxQL query building. Fixes Cross-tenant InfluxQL injection in OpenEMS Backend (historic-data query path) Common/General FEMS Backports 2026-09-03 in https://github.com/OpenEMS/openems/pull/3948 Improve Gradle build Commit Docs: update outdated links in CONTRIBUTING.MD by @tf7157fu in https://github.com/OpenEMS/openems/pull/3985 JettyUtils: block on Response.write() to prevent IncompleteRead by @JonasBechler in https://github.com/OpenEMS/openems/pull/3975 FEMS Backports 2026-09-22 in https://github.com/OpenEMS/openems/pull/3996 CI / Docker: add setting to configue JVM args Commit Gradle: Centralize tool versions and upgrade JaCoCo to 0.8.15 by @sfeilmeier in https://github.com/OpenEMS/openems/pull/4006 Version Upgrades Bump actions/setup-java from 5.7.0 to 6.0.0 in /.github/workflows in the all-actions group by @dependabot[bot] in https://github.com/OpenEMS/openems/pull/3928 Bump the openems-ui-security group across 1 directory with 4 updates by @dependabot[bot] in https://github.com/OpenEMS/openems/pull/3941 Bump org.apache.felix:org.apache.felix.http.jetty12 from 2.0.4 to 2.0.6 in /cnf by @dependabot[bot] in https://github.com/OpenEMS/openems/pull/3953 Bump org.jsoup:jsoup from 1.23.1 to 1.23.2 in /cnf by @dependabot[bot] in https://github.com/OpenEMS/openems/pull/3952 Bump com.google.protobuf:protobuf-java from 4.36.0 to 4.36.1 in /cnf by @dependabot[bot] in https://github.com/OpenEMS/openems/pull/3951 Bump the all-actions group across 1 directory with 4 updates by @dependabot[bot] in https://github.com/OpenEMS/openems/pull/3992 Bump the bouncycastle group in /cnf with 2 updates by @dependabot[bot] in https://github.com/OpenEMS/openems/pull/3991 Bump the auth0 group across 1 directory with 2 updates by @dependabot[bot] in https://github.com/OpenEMS/openems/pull/3990 Bump org.jetbrains.kotlin:kotlin-osgi-bundle from 2.4.10 to 2.4.20 in /cnf by @dependabot[bot] in https://github.com/OpenEMS/openems/pull/3980 Bump the bytebuddy group in /cnf with 2 updates by @dependabot[bot] in https://github.com/OpenEMS/openems/pull/3979 Bump com.squareup.okio:okio-jvm from 3.18.1 to 3.18.2 in /cnf in the squareup group by @dependabot[bot] in https://github.com/OpenEMS/openems/pull/3977 Bump hono from 4.13.2 to 4.13.7 in /ui in the openems-ui-security group across 1 directory by @dependabot[bot] in https://github.com/OpenEMS/openems/pull/3971 Bump io.openems:j2mod from 3.3.0-openems.2 to 3.4.0-openems.1 by @da-Kai in https://github.com/OpenEMS/openems/pull/3969 Bump the openems-ui group across 1 directory with 22 updates by @dependabot[bot] in https://github.com/OpenEMS/openems/pull/3993 Bump com.auth0:auth0 from 5.2.0 to 5.3.0 in /cnf in the auth0 group by @dependabot[bot] in https://github.com/OpenEMS/openems/pull/4000 Bump the bytebuddy group in /cnf with 2 updates by @dependabot[bot] in https://github.com/OpenEMS/openems/pull/4001 Bump the all-actions group in /.github/workflows with 4 updates by @dependabot[bot] in https://github.com/OpenEMS/openems/pull/4003 Bump com.google.protobuf:protobuf-java from 4.36.1 to 4.36.2 in /cnf by @dependabot[bot] in https://github.com/OpenEMS/openems/pull/4002 Bump the prometheus group across 1 directory with 3 updates by @dependabot[bot] in https://github.com/OpenEMS/openems/pull/3819 Update Gradle to 9.8.0 by @sfeilmeier in https://github.com/OpenEMS/openems/pull/3998 New Contributors **Full Changelog**: @mbreier-sw made their first contribution in https://github.com/OpenEMS/openems/pull/3555 @JonasBechler made their first contribution in https://github.com/OpenEMS/openems/pull/3975 Full Changelog: https://github.com/OpenEMS/openems/compare/2026.9.0...2026.10.0