Skip to content

FEMS Backports 2026-08-26 - #3918

Merged
sfeilmeier merged 17 commits into
developfrom
feature/fems-backports
Aug 26, 2026
Merged

FEMS Backports 2026-08-26#3918
sfeilmeier merged 17 commits into
developfrom
feature/fems-backports

Conversation

@sfeilmeier

Copy link
Copy Markdown
Contributor
  • Backend

    • [Backend] Fix UiWebsockets queue up Commit
    • [Backend] Add endpoint for Edge Settings Commit
  • UI

    • [UI] fix percentagebar not showing 0 Commit
    • [UI] replace eslint-plugin-import with eslint-plugin-import-x; update ngx-spinner Commit
    • [UI] ModbusTcpApi Controller: show all channels Commit
    • [UI] Fix formly-radio component and improve location validation logic Commit
    • [UI] ChannelSingleThreshold: fix history view Commit
    • [UI] ESS: hide capacity extension for role ist at most owner Commit
    • [UI] fix app center update view Commit
    • [UI] fix chart legend Commit
    • [UI] my-PV and Askoma: improve standby detection with small consumption Commit
    • [UI] update android target sdk Commit
  • Edge

    • [Edge] Host: add CPU Temperature channel Commit
    • [Edge] AppCenter: add error codes for app instance handling and category conflicts Commit
    • [Edge] EVSE Automatic Phase-Switching Commit
    • [Edge] AppManager: add AppPermissionAssertions Commit
  • Common

    • [Common] Docker: Use explicit JDK build image & make Java package configurable Commit

sfeilmeier and others added 17 commits August 26, 2026 09:38
Co-authored-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Michael Grill <59126309+michaelgrill@users.noreply.github.com>
Reviewed-by: Michael Grill <59126309+michaelgrill@users.noreply.github.com>
Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Lukas Rieger <73471197+lukasrgr@users.noreply.github.com>
- Revert usage of HTTP-Bridge in MetadataOdoo

Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Michael Grill <59126309+michaelgrill@users.noreply.github.com>
Reviewed-by: Andreas Mur <102706922+DerMuaaa@users.noreply.github.com>
Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Lukas Rieger <73471197+lukasrgr@users.noreply.github.com>
- fix showing the mini consumption for my-PV and Askoma

**Technical description**

- The chart has shown as heating for even very small power consumption. This consumption could be caused e.g. by standby.
- To avoid it the small filter 60W was added

---------

Co-authored-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Reviewed-by: Franz Reiter <1498918+Howaner@users.noreply.github.com>
Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Alex Belke <233420507+alexbelkedev@users.noreply.github.com>
- Die Legende unter den Charts in der Historie reagiert nun wieder korrekt auf Klicks

**Technical description**

- removed afterUpdate from chart.constants

---------

Co-authored-by: DerMuaaa <102706922+Andreas Mur@users.noreply.github.com>
Reviewed-by: Hanna Späth <198875998+HaSp97@users.noreply.github.com>
Reviewed-by: Lukas Rieger <73471197+lukasrgr@users.noreply.github.com>
Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Andreas Mur <102706922+DerMuaaa@users.noreply.github.com>
- fixed app center update for view for evse vehicle display through new navigation

Reviewed-by: Hanna Späth <198875998+HaSp97@users.noreply.github.com>
Reviewed-by: Andreas Mur <102706922+DerMuaaa@users.noreply.github.com>
Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Lukas Rieger <73471197+lukasrgr@users.noreply.github.com>
…figurable

Allows to create develop images with full jdk installed.

Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Kai Jeschek <99220919+da-Kai@users.noreply.github.com>
Reviewed-by: Andreas Mur <102706922+DerMuaaa@users.noreply.github.com>
Reviewed-by: Hanna Späth <198875998+HaSp97@users.noreply.github.com>
Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Lukas Rieger <73471197+lukasrgr@users.noreply.github.com>
- In order to test app permissions the test framework has been extended.

---------

Co-authored-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Reviewed-by: Franz Reiter <1498918+Howaner@users.noreply.github.com>
Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Alex Belke <233420507+alexbelkedev@users.noreply.github.com>
- E-Mobility Beta-Test: Automtisches Phasenwechseln für EVSE Keba und Mennekes

**Technical description**

- Implementiert die Logik für automatischen Phasenwechsel im EVSE-Cluster-Controller (SURPLUS/MINIMUM/FORCE) in RunUtils.
- Ergänzt robuste Schwellwert-Auswertung über History-Fenster (inkl. 90%-Richtungsdurchschnitt) für 1p->3p und 3p->1p.
- Führt eine Cooldown-Logik ein, um zu häufiges Umschalten (Flattern) zu vermeiden.
- Ergänzt PROBABLE_NEXT_PHASE_SWITCH_EPOCH_SECONDS als Prognosekanal inkl. Cleanup veralteter Werte.
- Neue eigene Unit UNIX_TIMESTAMP_SECONDS eingeführt und auf den Prognosekanal angewendet (Basis für spätere UI-Datumsdarstellung).
- SURPLUS-Verhalten angepasst: bei KEEP_CHARGING kann ein 3-phasiger Lader bis zum Wechsel weiterladen (statt auf 0 zu fallen), sofern die 1p-Mindestlogik greift.
- isAutomaticPhaseSwitching() berücksichtigt jetzt zusätzlich EV-Fähigkeit canInterrupt als Voraussetzung.
- Setpoint-/Verteilungslogik für automatische Schalter konsolidiert (inkl. Handling von Opposite-Phase-Limits und Lücken zwischen Phasen-Min/Max).
- Tests RunUtils erweitert (vibe coded)

---------

Co-authored-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Reviewed-by: Franz Reiter <1498918+Howaner@users.noreply.github.com>
Reviewed-by: Victor Nagy <11665068+v-nagy@users.noreply.github.com>
Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Johann Kaufmann <165755282+johannk24@users.noreply.github.com>
…ory conflicts

- Replaced generic error string responses with structured named exceptions in the Edge App Manager.
- Added structured Edge error enum entries in the 2000–2999 range:
- Updated findInstanceByIdOrError(UUID id) to throw OpenemsError.EDGE_APP_INSTANCE_NOT_FOUND.exception(id) instead of a generic OpenemsException.
- Tracked failed aggregate tasks during task execution (failedTasks).

---------

Co-authored-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Sagar Venu <32655208+venu-sagar@users.noreply.github.com>
Reviewed-by: Andreas Mur <102706922+DerMuaaa@users.noreply.github.com>
Reviewed-by: Hanna Späth <198875998+HaSp97@users.noreply.github.com>
Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Lukas Rieger <73471197+lukasrgr@users.noreply.github.com>
-  In formly-radio.html, <ion-radio-group> had both [formControl]="formControl" and [value]="defaultOption".
-  When the geocode results were rendered, formControl (bound to geoCodeModel.index) was set to 0 (the first address result), while defaultOption was evaluated to options.find(el => el.default) (the "Unknown address" option with default: true).
-  Because Ionic received two conflicting inputs ([formControl] and [value]), both radio buttons (index 0 and index 1) were rendered as active/checked in the DOM.

-  Removed [value]="defaultOption" from <ion-radio-group> so that [formControl] remains the single source of truth.
-  Updated updateFieldOptions() to set the initial/default value via this.formControl.setValue() only when no value is currently selected.
-  Synchronized geoCodeModel.index and this.geoCodeForm.get('index')?.setValue() directly when populating geocoding options.

Reviewed-by: Hanna Späth <198875998+HaSp97@users.noreply.github.com>
Reviewed-by: Lukas Rieger <73471197+lukasrgr@users.noreply.github.com>
Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Sagar Venu <32655208+venu-sagar@users.noreply.github.com>
- Fix non displayed channels in modbus/TCP read/write history

**Technical description**

- changed logic so that all write channels that contain a value are displayed correctly
- added missing labels and updated old labels
- improved translateChannel Method for easier usage and better display for i18n Ally Next plugin

---------

Co-authored-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Lukas Rieger <73471197+lukasrgr@users.noreply.github.com>
Reviewed-by: Lukas Rieger <73471197+lukasrgr@users.noreply.github.com>
Reviewed-by: Jan Thäter <224506964+JanThaeter@users.noreply.github.com>
Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: FENECON\matthias.kreisel <matthias.kreisel@fenecon.de>
Co-authored-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Michael Grill <59126309+michaelgrill@users.noreply.github.com>
Reviewed-by: Michael Grill <59126309+michaelgrill@users.noreply.github.com>
Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Franz Reiter <1498918+Howaner@users.noreply.github.com>
… ngx-spinner

- replace  `eslint-plugin-import` with `eslint-plugin-import-x`
- open issue: import-js/eslint-plugin-import#3278
- offers more typescript support (making it faster, through less [heavy dependency on Typescript](https://github.com/import-js/eslint-plugin-import/blob/da5f6ec13160cb288338db0c2a00c34b2d932f0d/src/exportMap/typescript.js#L16)): [Ref](https://www.npmjs.com/package/eslint-plugin-import-x)

- ngx-spinner: https://github.com/Napster2210/ngx-spinner/releases/tag/v22.0.0

Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Lukas Rieger <73471197+lukasrgr@users.noreply.github.com>
- show 0 as percentagevalue

Reviewed-by: Franz Reiter <1498918+Howaner@users.noreply.github.com>
Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Lukas Rieger <73471197+lukasrgr@users.noreply.github.com>
@codecov

codecov Bot commented Aug 26, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 54.47942% with 376 lines in your changes missing coverage. Please review.

❌ Your patch check has failed because the patch coverage (54.48%) 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    #3918      +/-   ##
=============================================
+ Coverage      55.68%   55.71%   +0.03%     
- Complexity     19014    19117     +103     
=============================================
  Files           3670     3674       +4     
  Lines         171379   172019     +640     
  Branches       14081    14178      +97     
=============================================
+ Hits           95416    95815     +399     
- Misses         72219    72410     +191     
- Partials        3744     3794      +50     
🚀 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 fc158d4 into develop Aug 26, 2026
6 of 7 checks passed
@sfeilmeier
sfeilmeier deleted the feature/fems-backports branch August 26, 2026 08:49
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