2024.5.0
github-actions
released this
02 May 11:37
·
189 commits
to develop
since this release
Release Highlights
- New implementations
- Shelly Plus Plug S by @Sn0w3y in #2529
- Eastron SDM120 Meter by @fanass-dev in #2554
- UI: optional strict mode for improved code quality in #2623
- WebSocket: improved communication performance by @miettal in #2616
Details
Common/General
- Docs: update implementing a device by @Sn0w3y in #2601
- WebSocket: enable permessage-deflate to communication by @miettal in #2616
- Apply Eclipse Format & Organize Imports; fix resource leak by @Sn0w3y in #2617
- Refactor RPC handling by @michaelgrill in #2610
- FEMS Backports 2023-04 in #2623
- Change Unit
EUROS_PER_MEGAWATT_HOUR
toMONEY_PER_MEGAWATT_HOUR
- Prepare-commit: add UI build+test to script
- "Coding Guidelines" should also cover UI development (https://openems.github.io/openems.io/openems/latest/contribute/coding-guidelines.html#_openems_edge_backend)
- CI: Update node to v20 LTS
- Change Unit
OpenEMS Backend
- FEMS Backports 2023-04 in #2623
- Add API for Simulation-Engine Component
- In future this should be used for scenario simulations, like what would have been the benefit of using an additional battery module
- Add API for Simulation-Engine Component
OpenEMS Edge
- MQTT API Controller: add optional config parameter to specify a topic prefix by @samuelBloch in #2553
- SunSpec: Channel values synchronized by @tsicking in #2609
- Implement new Shelly Plus Plug S by @Sn0w3y in #2529
- Updates Microcare / Eastron and Implements Meter SDM120 by @Sn0w3y in #2554
- FEMS Backports 2023-04 in #2623
-
Modbus-Bridge:
- Improve SunSpec handling for SMA PV-Inverter: certain versions do not provide END_OF_MAP but throw ILLEGAL_ADDRESS_EXCEPTION instead, causing the previous SunSpec implementation to get stuck while parsing
- Remove unnecessary
throws OpenemsException
andtry...catch
in certain places (defineModbusProtocol()
,new ModbusProtocol()
,addTask()
,...) - Optionally provide
ExecuteState
of an entire ModbusTask; this allows for more fine-grained evaluation of read errors
-
Switch to updated
readElementOnce
and/or improve brevity ofCompletableFuture
by usingthenCompose
instead ofthenAccept
in... -
RRD4j: correctly postprocess queried data
- fix querying data with different resolution than 5 Minutes
-
Time-of-Use: split Optimizer and Controller
- Introduce new Bundles for
Energy
andEnergy API
- Time-of-Use-Controller and EnergyScheduler are still tightly coupled for now, as this is an ongoing refactoring. Eventually they should only communicate via
EnergySchedulable
- Move Optimizer (i.e. all Jenetics related code) to
Energy
- New Channel
_sum/GridBuyPrice
- UI: show data in [kW] and cleanup code
- Tibber: Homes-Filter could not be unset
- Introduce new Bundles for
-
KACO Blueplanet Gridsave BatteryInverter: state-machine improvement
- Update Kaco Blueplanet Gridsave state-machine
- Add grid disconnection failure state channel
- Replace
MAX_START_ATTEMPTS
withMAX_START_TIMEOUT
-
GoodWe
- Optionally show values per MPPT; not per String
- GoodWeChargerTwoStringImpl was used to represent one string from a GoodWe MPPT tracker that is responsible for two strings (GoodWe ET-Systems).
- Possible values given by GoodWe are: MPPT Current, MPPT Power, String Current, String Voltage
- As the current values of one string are incorrect (so far DSP-Version 12, ARM-Version 27) the power cannot be calculated as expected.
- A new Component GoodWeChargerMpptTwoStringImpl is mirroring the GoodWe values to get the important values from: MPPT Current, MPPT Power, String Voltage (One of the two strings)
- Update BMS Registers ChargeMaxVoltage & DischargeMinVoltage
- Set ChargeMaxVoltage & DischargeMinVoltage
- Handle inverter specific behaviour on empty/full battery
- Optionally show values per MPPT; not per String
-
OpenEMS UI
- Center Text in Footer by @Sn0w3y in #2594
- FEMS Backports 2023-04 in #2623
- Add optional strict mode
- Another step towards strict mode in UI
- Add
typescript-strict-plugin
-> https://github.com/allegro/typescript-strict-plugin - Add
tsc
andtsc-strict
to CI build - Add
// @ts-strict-ignore
comment in non-compliant code files
- Update to Angular Version 16.
- Replacing kekeh/angular-mydatepicker with its fork nodro7/angular-mydatepicker
- Revert calculating stepSize for charts
- Removing stepSize calculation due to chartjs breaking style in some circumstances
- keeping max ticks limit at 6
- Change resolution from 20 to 15 minutes
- Remove dead link from ChpSoc (BHKW) Widget in history
- Settings|Channels: fix Persistence Priority warning
- Warning for persistencePriority lower than backends global priority, was also shown for equals
- Hide FooterComponent for history Children due to overlapping on different heights
- Footercomponent overlapping content.
- Chartjs -> responsive charts approach of setting fixed height is causing the problem,
onZoom
event doesnt resize the charts canvas and chart canvas gets moved down into the footer
- Footer: fix esLint autofix mistake; hide for history detail views
- Revert adding detail navigation to production history (this is a planned feature that was accidentially merged)
- Fix Page count of edges pagination on initial search
- Add optional strict mode
Version Upgrades
- Bump com.squareup.retrofit2:retrofit from 2.10.0 to 2.11.0 in /cnf by @dependabot in #2606
- Bump org.dhatim:fastexcel from 0.17.0 to 0.18.0 in /cnf by @dependabot in #2620
- Bump org.apache.felix:org.apache.felix.webconsole from 5.0.0 to 5.0.2 in /cnf by @dependabot in #2619
Full Changelog: 2024.4.0...2024.5.0