Skip to content

FEMS Backports 2025-06-22#3206

Merged
sfeilmeier merged 35 commits intodevelopfrom
feature/fems-backports
Jun 22, 2025
Merged

FEMS Backports 2025-06-22#3206
sfeilmeier merged 35 commits intodevelopfrom
feature/fems-backports

Conversation

@sfeilmeier
Copy link
Copy Markdown
Contributor

@sfeilmeier sfeilmeier commented Jun 22, 2025

  • Edge

    • EVSE KEBA UDP: fix stop charging session
    • GoodWe: use extended grid meter values
      • The meter values currently used, are limited to signed 16bit. This could cause an integer overflow - therefore goodwe added new S32 registers.
    • UpdateManager: Generic updates
      • added update manager which collects all Updateables
      • currently no implementation of an Updateable exists
      • Updateables are displayed in System view
    • E-Mobility: P40-App Fix
      • added check for HARDWARE_TYPE in KebaEvcs to make field readonly
      • added readonlyIf Method that dynamically makes field readonly based on BooleanExpression
    • KACO BatteryInverter: add "required" blocks
      • Fix sunspec initialization for kaco inverters
      • Kacos have a default modbus table with only common blocks when not configuration is not completed
      • initialization completes to fast without all required models/channels
      • Restart initialization until all required blocks are read
    • GoodWe: add new SolarGo states
      • Add SolarGo States when the corresponding register is not Undefined (0xffff)
    • KEBA App: fix Scheduler for readonly
      • Only add to Scheduler when not read only
    • Weather API: Open-Meteo implementation
      • Coordinates are stored in the Meta app and used as the basis for weather data retrieval
      • An OSGi component was added to integrate with the Open-meteo API
      • The component subscribes to the Open-meteo API for forecast data, polling every 6 hours
      • Forecasts cover the upcoming two days
      • The current weather is derived from the latest available forecast data
      • For historical weather data, a separate API call is made
      • This call supports a configurable start and end timestamp to define the time range
    • AppCenter: clever-pv public available
      • update roles to be installable by owner
      • added datasecurity hint
    • Power2Heat-Nature + MyPv AC-Thor9s and Askoma Read-Only implementation
      • Introducing new power2Heat Nature.
      • Read-Only implementations for MyPv AC-Thor9s and Askoma heating elements
      • New App including the UI.
    • FENECON Home Apps: add Dynamic and External limitation option for Feedintype
    • Power2Heat: fixes for energy calculation, etc.
      • Changed cycle to after process image
      • Updated translations
      • Added changes requested by previous review
    • AppCenter: set min access role from installer to owner for app delete
      • allow owner to deinstall apps
    • AppCenter: fix displaying "max feed in power" field based on Feed-In Type
  • UI

    • New navigation & extend EVSE
      • Improve breadcrumbs: hightlight current; fix wrong aliases
      • EVSE Settings: only for admins; allow change manualEnergySessionLimit
      • clean up service directory
    • EVSE Icon change
      • changing icon for ( schnell ) button.
    • Heat-pump Icon color history widget
      • changing heat-pump historty flat widget icon color to "normal"
    • Fix circular dependency/unsatisfied reference
      • remove appRoutingProviders, due to being called before initialized -> unsatisfied reference
      • fixes circulardep of time of use utils
    • Rollout alerting fault for admin/installer
    • Fix back arrow navigation
      • Fixing hidden back-arrow issue in i.e. Changelog standalone component. using angular service location.back() to navigate back reliably, instead of using navigation tree.
    • Apply new linting rule
      • reduce BOF empty lines to 0
      • reduce EOF empty lines to 1
      • reduce max empty consecutive lines to 2
    • Custom "range" type picker in angular formly
    • Fix missing help-button import
      • Import of helpbutton component missing in modal module and settings module
    • EVSE improvements
      • remove duplicate fab-button for formly control submits on desktop
      • change width of grid in evse shown on desktop resolution (size-md and higher)
    • E-Mobility: Fix Help Key for Hardy Barth
      • Changed help key in switch case
    • Improve formly-select
    • E-Mobility: Fix Rangebuilder
      • Fix Range Slider in Evcs Modal
      • Add missed changed min/max to tickMin/tickMax
    • heatComponents are now correctly subtracted from other Energy
    • Fix white flash on page refresh
    • AppCenter-UI: add visible role
      • Added Permissions object to getApps JsonRpc Request
      • Added Permissions Interface to Apps in UI
      • Added canSee (role) after name in appcenter ui
    • Refactoring Storage-history
    • Change reload behaviour live and history
      • remove default reload behaviour on reentering app
      • only views wrapped inside the PullToRefreshComponent are reloaded on reentering app
  • Backend

    • Add getProtocolsCoreInfo request
      • add getProtocolsCoreInfo to get all protocols with {type: ProtocolType, id: number, create_date: Date}
      • added setupProtocolType to getLatestProtocolCoreInforesponse

Co-authored-by: Lukas Rieger [email protected]
Co-authored-by: Michael Grill [email protected]
Co-authored-by: Sebastian Asen [email protected]
Co-authored-by: Anas Shetla [email protected]
Co-authored-by: Johann Kaufmann [email protected]
Co-authored-by: Stefan Feilmeier [email protected]
Co-authored-by: Leonhard Anderle [email protected]
Co-authored-by: Sagar Venu [email protected]
Co-authored-by: Andreas Mur [email protected]

sfeilmeier and others added 30 commits June 22, 2025 21:42
- Improve breadcrumbs: hightlight current; fix wrong aliases
- EVSE Settings: only for admins; allow change `manualEnergySessionLimit`
- clean up service directory

Reviewed-by: Stefan Feilmeier <[email protected]>
Co-authored-by: Lukas Rieger <[email protected]>
Co-committed-by: Lukas Rieger <[email protected]>
The meter values currently used, are limited to signed 16bit. This could cause an integer overflow - therefore goodwe added new S32 registers.

Co-authored-by: Michael Grill <[email protected]>
Reviewed-by: Michael Grill <[email protected]>
Reviewed-by: Stefan Feilmeier <[email protected]>
Co-authored-by: Sebastian Asen <[email protected]>
Co-committed-by: Sebastian Asen <[email protected]>
- changing icon for ( schnell ) button.

Reviewed-by: Hanna Späth <[email protected]>
Reviewed-by: Lukas Rieger <[email protected]>
Reviewed-by: Stefan Feilmeier <[email protected]>
Co-authored-by: Anas Shetla <[email protected]>
Co-committed-by: Anas Shetla <[email protected]>
- changing heat-pump historty flat widget icon color to "normal"

Reviewed-by: Hanna Späth <[email protected]>
Reviewed-by: Lukas Rieger <[email protected]>
Reviewed-by: Stefan Feilmeier <[email protected]>
Co-authored-by: Anas Shetla <[email protected]>
Co-committed-by: Anas Shetla <[email protected]>
- added update manager which collects all Updateables
- currently no implementation of an Updateable exists
- Updateables are displayed in System view

Co-authored-by: Sebastian Asen <[email protected]>
Co-authored-by: Michael Grill <[email protected]>
Reviewed-by: Sebastian Asen <[email protected]>
Reviewed-by: Lukas Rieger <[email protected]>
Reviewed-by: Stefan Feilmeier <[email protected]>
Co-authored-by: Michael Grill <[email protected]>
Co-committed-by: Michael Grill <[email protected]>
- remove appRoutingProviders, due to being called before initialized -> unsatisfied reference
- fixes circulardep of time of use utils

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]>
- added check for HARDWARE_TYPE in KebaEvcs to make field readonly
- added readonlyIf Method that dynamically makes field readonly based on BooleanExpression

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]>
- Fix sunspec initialization for kaco inverters
- Kacos have a default modbus table with only common blocks when not configuration is not completed
-> initialization completes to fast without all required models/channels
-> Restart initialization until all required blocks are read

Co-authored-by: Michael Grill <[email protected]>
Reviewed-by: Fabian Brandtner <[email protected]>
Reviewed-by: Hueseyin Sahutoglu <[email protected]>
Reviewed-by: Stefan Feilmeier <[email protected]>
Co-authored-by: Michael Grill <[email protected]>
Co-committed-by: Michael Grill <[email protected]>
Add SolarGo States when the corresponding register is not Undefined (0xffff)

Co-authored-by: Stefan Feilmeier <[email protected]>
Reviewed-by: Michael Grill <[email protected]>
Reviewed-by: Stefan Feilmeier <[email protected]>
Co-authored-by: Sebastian Asen <[email protected]>
Co-committed-by: Sebastian Asen <[email protected]>
Only add to Scheduler when not read only

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]>
- Coordinates are stored in the Meta app and used as the basis for weather data retrieval
- An OSGi component was added to integrate with the Open-meteo API
- The component subscribes to the Open-meteo API for forecast data, polling every 6 hours
- Forecasts cover the upcoming two days
- The current weather is derived from the latest available forecast data
- For historical weather data, a separate API call is made
- This call supports a configurable start and end timestamp to define the time range

Co-authored-by: Stefan Feilmeier <[email protected]>
Reviewed-by: Stefan Feilmeier <[email protected]>
Co-authored-by: Leonhard Anderle <[email protected]>
Co-committed-by: Leonhard Anderle <[email protected]>
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]>
Fixing hidden `back-arrow` issue in i.e. Changelog standalone component. using angular service `location.back()` to navigate back reliably, instead of using navigation tree.

Reviewed-by: Lukas Rieger <[email protected]>
Reviewed-by: Stefan Feilmeier <[email protected]>
Co-authored-by: Anas Shetla <[email protected]>
Co-committed-by: Anas Shetla <[email protected]>
- reduce BOF empty lines to 0
- reduce EOF empty lines to 1
- reduce max empty consecutive lines to 2

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: Lukas Rieger <[email protected]>
Reviewed-by: Stefan Feilmeier <[email protected]>
Co-authored-by: Sagar Venu <[email protected]>
Co-committed-by: Sagar Venu <[email protected]>
- update roles to be installable by owner
- added datasecurity hint

Co-authored-by: Michael Grill <[email protected]>
Reviewed-by: Johann Kaufmann <[email protected]>
Reviewed-by: Stefan Feilmeier <[email protected]>
Co-authored-by: Michael Grill <[email protected]>
Co-committed-by: Michael Grill <[email protected]>
- Introducing new power2Heat Nature.
- Read-Only implementations for MyPv AC-Thor9s and Askoma heating elements
- New App including the UI.

Co-authored-by: Stefan Feilmeier <[email protected]>
Reviewed-by: Lukas Rieger <[email protected]>
Reviewed-by: Michael Grill <[email protected]>
Reviewed-by: Stefan Feilmeier <[email protected]>
Co-authored-by: Andreas Mur <[email protected]>
Co-committed-by: Andreas Mur <[email protected]>
Import of helpbutton component missing in modal module and settings module

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]>
- remove duplicate fab-button for formly control submits on desktop
- change width of grid in evse shown on desktop resolution (size-md and higher)

Reviewed-by: Stefan Feilmeier <[email protected]>
Co-authored-by: Lukas Rieger <[email protected]>
Co-committed-by: Lukas Rieger <[email protected]>
Changed help key in switch case

Co-authored-by: johann <>
Reviewed-by: Lukas Rieger <[email protected]>
Reviewed-by: Stefan Feilmeier <[email protected]>
Co-authored-by: Johann Kaufmann <[email protected]>
Co-committed-by: Johann Kaufmann <[email protected]>
Reviewed-by: Michael Grill <[email protected]>
Reviewed-by: Stefan Feilmeier <[email protected]>
Co-authored-by: Sagar Venu <[email protected]>
Co-committed-by: Sagar Venu <[email protected]>
Reviewed-by: Sebastian Asen <[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]>
- Fix Range Slider in Evcs Modal
- Add missed changed min/max to tickMin/tickMax

Co-authored-by: Lukas Rieger <[email protected]>
Reviewed-by: Lukas Rieger <[email protected]>
Reviewed-by: Stefan Feilmeier <[email protected]>
Co-authored-by: Johann Kaufmann <[email protected]>
Co-committed-by: Johann Kaufmann <[email protected]>
Reviewed-by: Lukas Rieger <[email protected]>
Reviewed-by: Stefan Feilmeier <[email protected]>
Co-authored-by: Andreas Mur <[email protected]>
Co-committed-by: Andreas Mur <[email protected]>
Reviewed-by: Stefan Feilmeier <[email protected]>
Co-authored-by: Sebastian Asen <[email protected]>
Co-committed-by: Sebastian Asen <[email protected]>
Co-authored-by: Stefan Feilmeier <[email protected]>
Reviewed-by: Sagar Venu <[email protected]>
Reviewed-by: Hanna Späth <[email protected]>
Reviewed-by: Stefan Feilmeier <[email protected]>
Co-authored-by: Lukas Rieger <[email protected]>
Co-committed-by: Lukas Rieger <[email protected]>
- Added Permissions object to getApps JsonRpc Request
- Added Permissions Interface to Apps in UI
- Added canSee (role) after name in appcenter ui

Reviewed-by: Lukas Rieger <[email protected]>
Reviewed-by: Hanna Späth <[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 `getProtocolsCoreInfo` to get all protocols with `{type: ProtocolType, id: number, create_date: Date}`
- added `setupProtocolType` to `getLatestProtocolCoreInforesponse`

Co-authored-by: Michael Grill <[email protected]>
Co-authored-by: Stefan Feilmeier <[email protected]>
Co-authored-by: Michael Grill <[email protected]>
Reviewed-by: Hanna Späth <[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]>
- Changed cycle to after process image
- Updated translations
- Added changes requested by previous review

Reviewed-by: Michael Grill <[email protected]>
Reviewed-by: Stefan Feilmeier <[email protected]>
Co-authored-by: Andreas Mur <[email protected]>
Co-committed-by: Andreas Mur <[email protected]>
sfeilmeier and others added 5 commits June 22, 2025 22:34
- allow owner to deinstall apps

Co-authored-by: Michael Grill <[email protected]>
Reviewed-by: Johann Kaufmann <[email protected]>
Reviewed-by: Stefan Feilmeier <[email protected]>
Co-authored-by: Michael Grill <[email protected]>
Co-committed-by: Michael Grill <[email protected]>
…Type

Reviewed-by: Michael Grill <[email protected]>
Reviewed-by: Stefan Feilmeier <[email protected]>
Co-authored-by: Sagar Venu <[email protected]>
Co-committed-by: Sagar Venu <[email protected]>
Co-authored-by: Lukas Rieger <[email protected]>
Co-authored-by: Stefan Feilmeier <[email protected]>
Reviewed-by: Sagar Venu <[email protected]>
Reviewed-by: Hanna Späth <[email protected]>
Reviewed-by: Lukas Rieger <[email protected]>
Reviewed-by: Stefan Feilmeier <[email protected]>
Co-authored-by: Anas Shetla <[email protected]>
Co-committed-by: Anas Shetla <[email protected]>
- remove default reload behaviour on reentering app
- only views wrapped inside the `PullToRefreshComponent` are reloaded on reentering app

Reviewed-by: Sagar Venu <[email protected]>
Reviewed-by: Hanna Späth <[email protected]>
Reviewed-by: Stefan Feilmeier <[email protected]>
Co-authored-by: Lukas Rieger <[email protected]>
Co-committed-by: Lukas Rieger <[email protected]>
@codecov
Copy link
Copy Markdown

codecov bot commented Jun 22, 2025

Codecov Report

Attention: Patch coverage is 48.89503% with 740 lines in your changes missing coverage. Please review.

❌ Your patch status has failed because the patch coverage (48.90%) 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    #3206      +/-   ##
=============================================
+ Coverage      58.87%   59.01%   +0.14%     
- Complexity       173      181       +8     
=============================================
  Files           2619     2662      +43     
  Lines         113027   114360    +1333     
  Branches        8318     8407      +89     
=============================================
+ Hits           66536    67479     +943     
- Misses         44000    44364     +364     
- Partials        2491     2517      +26     
🚀 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 4d22b08 into develop Jun 22, 2025
5 of 7 checks passed
@sfeilmeier sfeilmeier deleted the feature/fems-backports branch June 22, 2025 21:29
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