Skip to content

FEMS Backports 2025-07-29#3257

Merged
sfeilmeier merged 21 commits intodevelopfrom
feature/fems-backports
Jul 29, 2025
Merged

FEMS Backports 2025-07-29#3257
sfeilmeier merged 21 commits intodevelopfrom
feature/fems-backports

Conversation

@sfeilmeier
Copy link
Copy Markdown
Contributor

@sfeilmeier sfeilmeier commented Jul 29, 2025

  • Edge

    • [Edge] Implement Updateables for Remote-Update of Firmware via OpenEMS
      • Created a Updateable to execute update for ADMINS in System View
      • Make Modbus-Bridge StartStoppable (add Info-Channel "Modbus Communication is stopped")
        • During update the Modbus Bridge of the GoodWe BatteryInverter is stopped (via StartStoppable Modbus-Bridge)
        • After finishing: Modbus Bbridge gets restarted
      • Added Core progress helper classes
      • Added update for stable version and for beta version
    • [Edge] Improvements to EVCS and EVSE
      • Update App Center to support KEBA EVSE and ElectricVehicle
      • Default implementation for getMeterType(); used for KEBA and HardyBarth
      • Combine "Natures" and KEBA ReadHandler
      • Change debugMode to logVerbosity
      • Add configurable modbusUnitId for KEBA P40
      • Add KEBA major, minor, patch firmware version channels (Spec calls them non-standard "major, medium, minor")
      • Default implementation for debugLog(); used for all KEBA
    • [Edge] KEBA EVSE-App: fix Modbus-ID property
    • [Edge] Heating Element: code quality improvements
      • reduce the log outputs of the tests
      • code improvements in the controller
      • outsource variables and methods
      • null check for level in the UI
    • [Edge] JUnit Test: add StrictMode + apply for KEBA
      • Strict-Mode requires, that all Channels of the tested Component are defined either as Input or as Output.
      • Add missing checks and Modbus mappings
    • [Edge] App Center Modbus-Write-APIs: add essX by default
    • [Edge] Go-e Gemini Wallbox read-only
    • [Edge] KEBA: add Firmware version handling
      • Show DEVICE_SOFTWARE_OUTDATED for versions strictly smaller than 1.1.9
      • Fix known bug with energy scale factors in versions below 1.2.1: the registers 1502 and 1036 falsely report the value in "Wh" instead of "0.1 Wh"
    • [Edge] EVSE: always set minimum set-point
      • For EVs that are Not-Ready-For-Charging or Appear-To-Be-Fully-Charged always set minimum set-point, as long as they are not configured for Mode ZERO.
    • [Edge] EVSE: no hysteresis on plugging
      • Always allow charging if EV just became ready for charging
  • Backend

    • [Backend] Aggregated-InfluxDB: Add HybridEss Channels to AllowedChannels
      • Add Channels DcDischargePower, DcDischargeEnergy and DcChargeEnergy to AllowedChannels
      • Increase number of ess`s due to industrial xl
    • [Backend] Odoo: move execution of tasks to separate executor
      • Added separate executer to odoo metadata to decrease concurrent access and improve logging of running tasks
  • UI

    • [UI] EVCS Update link to Docs
    • [UI] Adjust registration form
      • Styling improvements and restructuring of /registration -modal
    • [UI] Helper methods
    • [UI] Controller.Io.ChannelSingleThreshold: improve flat widget
      • use property channel instead of component property in singlethreshold flat widget
      • change persistence priority of io simulators read and write channels to PersistencePriority.VERY_HIGH
      • refactored code to be working again, didnt touch all the code to keep this PR small
    • [UI] New Navigation improvements
      • Reduce gap in history between datepicker and rest
      • Add System status to every page under /device again
      • Fix side-menu not working after navigation to edge/profile
      • Add shadow to action sheet modal
      • add ngDomChange directive for callbacks on DOM changes-> dynamic view height calculation

Co-authored-by: Michael Grill [email protected]
Co-authored-by: Johann Kaufmann [email protected]
Co-authored-by: Lukas Rieger [email protected]
Co-authored-by: Stefan Feilmeier [email protected]
Co-authored-by: Leon Blenk [email protected]
Co-authored-by: Sebastian Asen [email protected]
Co-authored-by: Sagar Venu [email protected]
Co-authored-by: Christian Lehne [email protected]
Co-authored-by: Tim Stöcker [email protected]

sfeilmeier and others added 17 commits July 28, 2025 23:20
- Created a `Updateable` to execute update for ADMINS in System View
- Make Modbus-Bridge StartStoppable (add Info-Channel "Modbus Communication is stopped")
  - During update the Modbus Bridge of the GoodWe BatteryInverter is stopped (via StartStoppable Modbus-Bridge)
  - After finishing: Modbus Bbridge gets restarted
- Added Core progress helper classes
- Added update for stable version and for beta version

Co-authored-by: Michael Grill <[email protected]>
Co-authored-by: Johann Kaufmann <[email protected]>
Co-authored-by: Michael Grill <[email protected]>
Reviewed-by: Sebastian Asen <[email protected]>
Reviewed-by: Michael Grill <[email protected]>
- Update App Center to support KEBA EVSE and ElectricVehicle
- Default implementation for getMeterType(); used for KEBA and HardyBarth
- Combine "Natures" and KEBA ReadHandler
- Change debugMode to logVerbosity
- Add configurable modbusUnitId for KEBA P40
- Add KEBA major, minor, patch firmware version channels (Spec calls them non-standard "major, medium, minor")
- Default implementation for debugLog(); used for all KEBA

Reviewed-by: Sebastian Asen <[email protected]>
Reviewed-by: Michael Grill <[email protected]>
Reviewed-by: Stefan Feilmeier <[email protected]>
Co-authored-by: Johann Kaufmann <[email protected]>
Co-committed-by: Johann Kaufmann <[email protected]>
- Add Channels `DcDischargePower`,  `DcDischargeEnergy` and `DcChargeEnergy` to AllowedChannels
- Increase number of ess`s due to industrial xl

Co-authored-by: Michael Grill <[email protected]>
Reviewed-by: Michael Grill <[email protected]>
Reviewed-by: Stefan Feilmeier <[email protected]>
Co-authored-by: Lukas Rieger <[email protected]>
Co-committed-by: Lukas Rieger <[email protected]>
Added separate executer to odoo metadata to decrease concurrent access and improve logging of running tasks

Co-authored-by: Stefan Feilmeier <[email protected]>
Reviewed-by: Kai Jeschek <[email protected]>
Reviewed-by: Stefan Feilmeier <[email protected]>
Co-authored-by: Michael Grill <[email protected]>
Co-committed-by: Michael Grill <[email protected]>
- reduce the log outputs of the tests
- code improvements in the controller
- outsource variables and methods
- null check for level in the UI

Co-authored-by: Stefan Feilmeier <[email protected]>
Co-authored-by: Leon Blenk <[email protected]>
Co-authored-by: Johann Kaufmann <[email protected]>
Co-authored-by: Sebastian Asen <[email protected]>
Reviewed-by: Sebastian Asen <[email protected]>
Reviewed-by: Stefan Feilmeier <[email protected]>
Co-authored-by: Leon Blenk <@users.noreply.github.com>
Co-committed-by: Leon Blenk <@users.noreply.github.com>
Reviewed-by: Hanna Späth <[email protected]>
Reviewed-by: Sagar Venu <[email protected]>
Reviewed-by: Stefan Feilmeier <[email protected]>
Co-authored-by: Lukas Rieger <[email protected]>
Co-committed-by: Lukas Rieger <[email protected]>
Styling improvements and restructuring of `/registration` -modal

Reviewed-by: Hanna Späth <[email protected]>
Reviewed-by: Sagar Venu <[email protected]>
Reviewed-by: Stefan Feilmeier <[email protected]>
Co-authored-by: Lukas Rieger <[email protected]>
Co-committed-by: Lukas Rieger <[email protected]>
Reviewed-by: Hanna Späth <[email protected]>
Reviewed-by: Lukas Rieger <[email protected]>
Reviewed-by: Stefan Feilmeier <[email protected]>
Co-authored-by: Sagar Venu <[email protected]>
Co-committed-by: Sagar Venu <[email protected]>
- use property channel instead of component property in singlethreshold flat widget
- change persistence priority of io simulators read and write channels to `PersistencePriority.VERY_HIGH`
- refactored code to be working again, didnt touch all the code to keep this PR small

Co-authored-by: Sebastian Asen <[email protected]>
Reviewed-by: Hanna Späth <[email protected]>
Reviewed-by: Sebastian Asen <[email protected]>
Reviewed-by: Sagar Venu <[email protected]>
Reviewed-by: Stefan Feilmeier <[email protected]>
Co-authored-by: Lukas Rieger <[email protected]>
Co-committed-by: Lukas Rieger <[email protected]>
- Strict-Mode requires, that all Channels of the tested Component are defined either as Input or as Output.
- Add missing checks and Modbus mappings

Reviewed-by: Sebastian Asen <[email protected]>
Co-authored-by: Stefan Feilmeier <[email protected]>
Reviewed-by: Michael Grill <[email protected]>
Reviewed-by: Stefan Feilmeier <[email protected]>
Co-authored-by: Johann Kaufmann <[email protected]>
Co-committed-by: Johann Kaufmann <[email protected]>
Co-authored-by: Christian Lehne <[email protected]>
Co-authored-by: Sebastian Asen <[email protected]>
Co-authored-by: Johann Kaufmann <[email protected]>
Co-authored-by: Stefan Feilmeier <[email protected]>
Reviewed-by: Thomas Sicking <[email protected]>
Reviewed-by: Christian Lehne <[email protected]>
Reviewed-by: Johann Kaufmann <[email protected]>
Reviewed-by: Stefan Feilmeier <[email protected]>
Co-authored-by: Tim Stöcker <[email protected]>
Co-committed-by: Tim Stöcker <[email protected]>
- Show DEVICE_SOFTWARE_OUTDATED for versions strictly smaller than 1.1.9
- Fix known bug with energy scale factors in versions below 1.2.1: the registers 1502 and 1036 falsely report the value in "Wh" instead of "0.1 Wh"

Co-authored-by: Stefan Feilmeier <[email protected]>
Reviewed-by: Stefan Feilmeier <[email protected]>
Co-authored-by: Johann Kaufmann <[email protected]>
Co-committed-by: Johann Kaufmann <[email protected]>
- For EVs that are Not-Ready-For-Charging or Appear-To-Be-Fully-Charged always set minimum set-point, as long as they are not configured for Mode ZERO.
- Always allow charging if EV just became ready for charging
- Reduce gap in history between datepicker and rest
- Add System status to every page under `/device` again
- Fix side-menu not working after navigation to edge/profile
- Add shadow to action sheet modal
- add `ngDomChange` directive for callbacks on DOM changes-> dynamic view height calculation

Co-authored-by: Lukas Rieger <[email protected]>
@codecov
Copy link
Copy Markdown

codecov bot commented Jul 29, 2025

Codecov Report

❌ Patch coverage is 50.75418% with 1208 lines in your changes missing coverage. Please review.

❌ Your patch status has failed because the patch coverage (50.76%) is below the target coverage (75.00%). You can increase the patch coverage or adjust the target coverage.

Additional details and impacted files
@@              Coverage Diff              @@
##             develop    #3257      +/-   ##
=============================================
- Coverage      59.42%   59.20%   -0.21%     
  Complexity       139      139              
=============================================
  Files           2701     2733      +32     
  Lines         117464   118639    +1175     
  Branches        8719     8778      +59     
=============================================
+ Hits           69786    70226     +440     
- Misses         45052    45775     +723     
- Partials        2626     2638      +12     
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@sfeilmeier sfeilmeier merged commit dbb14d0 into develop Jul 29, 2025
5 of 7 checks passed
@sfeilmeier sfeilmeier deleted the feature/fems-backports branch July 29, 2025 10:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant