·
3 commits
to develop
since this release
Release Highlights
- Clever-PV Controller
- New Controller
Controller.Clever-PV
sends core data to Clever-PV (https://clever-pv.com)
- New Controller
- Electrical Vehicle Supply Equipment (EVSE)
- WIP for a future replacement of the current EVCS APIs. The new namespace is "Electrical Vehicle Supply Equipment (EVSE)".
Details
Common/General
- Update Gradle to v8.13 by @sfeilmeier in #3027
- Increased karma Timeout
OpenEMS Edge
- FEMS Backports 2025-02-07 in #3005
- This fixes a critical bug in Time-of-Use-Tariff Optimizer in https://github.com/OpenEMS/openems/releases/tag/2025.2.0
- AppCenter: Fix selecting relays
- added filter for initial check if an app can be installed based on available relays (CheckRelayCountFilters.deviceHardware)
- properly handle selecting multiple relays (array value)
- moved required setting to right places
- added missing options hint in SelectGroupBuilder if none are available
- only apply modal of safe input when confirmed
- ToU Optimizer: fix BALANCING fallback schedule
- A endless loop causes fallback schedule. Bug became visible after recently added null-check
- Copied logic from new Optimizer.java: src/branch/develop/io.openems.edge.energy/src/io/openems/edge/energy/optimizer/Optimizer.java#L198-L202
- EVCS: new PhaseRotation which supports better Modbus handling
- Native EVCS support for PhaseRotation
- switched nature enum
PhaseRotation
to a new format - added method
Evcs.getPhaseRotation()
(BREAKING CHANGE) - applied code cleanup
- JsonSerializer: improved serialization
- added tests
- added StringParser of e. g. UUID, SemanticVersion, ChannelAddress, ....
- added number parsing
- added polymorphic parsing for subclasses of one type
- added boolean parsing
- EmptyObject to reduce duplicated empty request/response
- added nullable paths for every type
- added primitive path with strict parsing
- updated a lot of json rpc methods
- FEMS Backports 2025-02-25 in #3024
- GoodWe: increase minimum power that will be ignored.
- Bigger systems still have 79W permanent charge power, while the dynamic tariff would charge/discharge with zero.
- After a longer discussion the values below 100W will be now ignored to avoid a lot of service cases that can not be explained.
- Clever-PV Controller
- New Controller
Controller.Clever-PV
sends core data to Clever-PV Push API every 15 seconds - See docs: https://www.clever-pv.com/anleitungen/push-api
- New Controller
- Evcs: add helpers for phases
- add
Evcs:addCalculatePhasesListeners()
- add
Evcs:addCalculatePhasesFromActivePowerAndPhaseCurrents()
- Note: typical EVCS hardware models provide
CURRENT_L1-3
, andActivePower
, but some models provide onlyCURRENT_L1-3
and some other models provide onlyACTIVE_POWER_L1-3
. Therefore these methods are added to easily compute the missing channel values.
- add
- Electrical Vehicle Supply Equipment (EVSE)
- This is WIP for a future replacement of the current EVCS APIs. The new namespace is "Electrical Vehicle Supply Equipment (EVSE)".
- This PR provides:
- APIs for
- Electric Vehicle
- Charge Point
- Implementations:
- KEBA P30/P40 via Modbus/TCP (
Evse.ChargePoint.Keba
) - Generic Electric Vehicle (
Evse.ElectricVehicle.Generic
)
- KEBA P30/P40 via Modbus/TCP (
- Controllers:
- Single Charge-Point (
Evse.Controller.Single
) - Cluster of Charge-Point-Controllers (
Evse.Controller.Cluster
)
- Single Charge-Point (
- Simple UI to control the Charge-Mode of Charge-Points
- APIs for
- NOTE: All of this might be heavily refactored in future. Having it on develop helps us to test it easier in production. It does not affect any existing EVCS implementations.
- BitsWordElement: Extend it via setToNullIfBit to indicate the invalid bit value input
- Integrate the convert option for BitsWordELement
- According to the given function/condition each bit channel values can be manipulated
- The main reason of this implementation is to in order to indicate if value present or default value delivered
- As an example; with this approach in case of default value detection, the values can be set to null
- Similar approach was implemented in ElementToChannelConverter as "Set_to_null_for_default()" method
- Implement UpdateUserSettingsRequest for edge-uiwebsocket
- Adding updateUserSettingsRequest support for edge-ui-websocket request handler
- Follow up to darkmode settings not being able to set locally
- AppCenter: Only try to get Component if needed
- If a component is not satisfied and therfor not startet an exception gets throw because the component can not be obtained
- Solution: only get component if first method fails or can not provide the properties
- KEBA: fix EnergyLimitReached when no Limit configured
- Currently a bug starts to popup more and more in ticket.
- -> Keba Charging Station has the Status ENERGY_LIMIT_REACHED eventhough energyLimit is not activated
- Added removed check for limit != 0 (limit 0 should mean that no limit is set) in status mapping in ReadHandler of Keba
- GoodWe: increase minimum power that will be ignored.
- Energy Scheduler v2 / Time-of-Use-Tariff optimization (ALPHA) by @sfeilmeier in #3029
OpenEMS UI
- FEMS Backports 2025-02-07 in #3005
- History consumption chart non deprecated evcs not taken into account for total consumption
- in history chart "consumption". Ensure that non deprecatedEvcs (new implementations) are not added to "sonstiger Verbrauch"
- if deprecatedEvcs is not implemented (chargepower channel nature) then it is added to consumption metered
- History consumption chart non deprecated evcs not taken into account for total consumption
- FEMS Backports 2025-02-25 in #3024
- time-of-use rename state to status
- Dark-mode Popup
- Displaying Popup after successful log in, to announce the Dark-mode new feature for users, showing it only once after users get the new software release.
- Angular 19 migration fixes
- setting chart afterTitle directly
- Formly Radio Button
- Add last setup protocol download to profile
- Downloading latest setup protocol in
profile
- Downloading latest setup protocol in
- IOS Fixes
- file download for excel export and last setup protocol did also not work on mobile with browser, now only in app downloads are not working
- theme selection popover radio buttons not shown, due to default ios design, changing to material design
- -> before checkmark as radio icon with no circle, now with circle
- Enforce datetime format for ion-datetime
- fix datetime format of
ion-datetime
, ionic changed returned format of the date string - unit test to avoid this in future migrations
- fix datetime format of
- Change visibility of producttype and sumState filter
- changing visibility of producttype and sumState filters in ems-overview from
admin
toinstaller
- changing visibility of producttype and sumState filters in ems-overview from
- Enable darkmode locally & restrict float number decimals
- Enabling setting darkmode for local monitoring
- restrict float number decimals in y Axis ticks
- Phase-accurate button change
- Correcting buttons names on the footer navigation in history Consumption chart view.
- Fix evcs modal range slider bug
- Fixing ion-range bug
Version Upgrades
- Bump info.faljse:SDNotify from 1.5 to 1.6 in /cnf by @dependabot in #3011
- Bump org.apache.felix:org.apache.felix.webconsole from 5.0.8 to 5.0.10 in /cnf by @dependabot in #3010
- Bump com.google.code.gson:gson from 2.11.0 to 2.12.1 in /cnf by @dependabot in #3002
- Bump ngx-spinner from 17.0.0 to 19.0.0 in /ui by @dependabot in #3016
- Bump swiper from 11.2.1 to 11.2.4 in /ui by @dependabot in #3019
- Bump rxjs from 7.8.1 to 7.8.2 in /ui by @dependabot in #3022
- Bump the angular group across 1 directory with 4 updates by @dependabot in #3023
- Bump fr.turri:aXMLRPC from 1.16.0 to 1.17.0 in /cnf by @dependabot in #3001
- Bump @capacitor-community/file-opener from 6.0.1 to 7.0.0 in /ui by @dependabot in #2990
- Bump the eslint group across 1 directory with 4 updates by @dependabot in #3028
- Bump chart.js from 4.4.7 to 4.4.8 in /ui by @dependabot in #3030
- Bump globals from 15.14.0 to 16.0.0 in /ui by @dependabot in #3031
- Bump ngx-cookie-service from 19.0.0 to 19.1.2 in /ui by @dependabot in #3032
- Bump ng2-charts from 7.0.0 to 8.0.0 in /ui by @dependabot in #2954
New Contributors
- @HaSp97 made her first contribution
Full Changelog: 2025.2.0...2025.3.0