Skip to content

2025.3.0

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 01 Mar 16:50
· 3 commits to develop since this release
6261507

Release Highlights

  • Clever-PV 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

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
    • Evcs: add helpers for phases
      • add Evcs:addCalculatePhasesListeners()
      • add Evcs:addCalculatePhasesFromActivePowerAndPhaseCurrents()
      • Note: typical EVCS hardware models provide CURRENT_L1-3, and ActivePower, but some models provide only CURRENT_L1-3 and some other models provide only ACTIVE_POWER_L1-3. Therefore these methods are added to easily compute the missing channel values.
    • 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)
        • Controllers:
          • Single Charge-Point (Evse.Controller.Single)
          • Cluster of Charge-Point-Controllers (Evse.Controller.Cluster)
        • Simple UI to control the Charge-Mode of Charge-Points
      • 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
  • 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
  • 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
    • 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
    • Change visibility of producttype and sumState filter
      • changing visibility of producttype and sumState filters in ems-overview from admin to installer
    • 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

New Contributors

  • @HaSp97 made her first contribution

Full Changelog: 2025.2.0...2025.3.0