Merged
Conversation
- enable sort order filter for owner in systems overview Reviewed-by: Hanna Späth <[email protected]> Reviewed-by: Andreas Mur <[email protected]> Reviewed-by: Stefan Feilmeier <[email protected]> Co-authored-by: [email protected] <[email protected]> Co-committed-by: [email protected] <[email protected]>
Co-authored-by: Sebastian Asen <[email protected]> Reviewed-by: Sebastian Asen <[email protected]> Reviewed-by: Stefan Feilmeier <[email protected]> Co-authored-by: Alex Belke <[email protected]> Co-committed-by: Alex Belke <[email protected]>
- add tags for owner accounts and accounts created by ibn - tested on keycloak dev env 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]>
- reuse odoo session token for requests until it expires - migrated most used methods to use single session token: "get_edge_with_role", "get_edges", "info" 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]>
Co-authored-by: Sebastian Asen <[email protected]> Co-authored-by: Stefan Feilmeier <[email protected]> Reviewed-by: Sebastian Asen <[email protected]> Reviewed-by: Stefan Feilmeier <[email protected]> Co-authored-by: Michael Grill <[email protected]> Co-committed-by: Michael Grill <[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]>
- Evse.Controller.Single: reuse existing tasks factory - Scheduler.JSCalendar: implement JSCalendar Api-Routes - Controller.IO.Heating.Room: implement JSCalendar Api-Routes Reviewed-by: Fabian Brandtner <[email protected]>
Introduce a global, time-based "grid-soft-limit" feature for energy storage systems. This functionality allows defining peak-shaving limits per time interval using JSCalendar for scheduling. Details: - Implemented in the Time-of-Use Tariff Controller. - Supports flexible configuration of grid import limits based on time-of-day. - Enables dynamic peak-shaving strategies aligned with tariff periods or grid constraints. Reviewed-by: Sebastian Asen <[email protected]>
- `_sum/State` now gets subscribed if reload is triggered on live page 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]>
- The energy monitor is no longer displayed cut off. - The status icon is now visible even at very low resolutions. Co-authored-by: DerMuaaa <102706922+Andreas [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]>
Reduce tech debt: * use newer Java features * adheare to Java coding conventions * improve logger usage (string templates, stacktraces) * Use EnumMap where possible Co-authored-by: Stefan Feilmeier <[email protected]> Reviewed-by: Michael Grill <[email protected]> Reviewed-by: Stefan Feilmeier <[email protected]> Co-authored-by: Kai Jeschek <[email protected]> Co-committed-by: Kai Jeschek <[email protected]>
Co-authored-by: Leon Blenk <[email protected]> Co-authored-by: Michael Grill <[email protected]> Reviewed-by: Michael Grill <[email protected]> Reviewed-by: Stefan Feilmeier <[email protected]> Co-authored-by: Leon Blenk <[email protected]> Co-committed-by: Leon Blenk <[email protected]>
- Revert merge mistakes, improve logging, fix log time-parsing - Plus: fix Eclipse warning for missing FENECON_100K Enum handling
- Noticed during development of sumState component and channels Reviewed-by: Andreas Mur <[email protected]> Reviewed-by: Stefan Feilmeier <[email protected]> Co-authored-by: Lukas Rieger <[email protected]> Co-committed-by: Lukas Rieger <[email protected]>
- Sources: https://www.rfc-editor.org/rfc/rfc8984.html; https://datatracker.ietf.org/doc/html/rfc8984#prop-recurrenceRules - added "nthOfPeriod" to JSCalendar implementation - nthOfPeriod represents an specific occurrence, for example every third Sunday a month - fixed some typos - code changes to avoid redundancy - implemented logic to execute nthOfPeriod and interval ``` [{ "@type": "Task", "uid": "245a8c5b-1898-4488-9cfb-105d78630cd6", "start": "2026-01-13T13:35:00", "recurrenceRules": [ { "frequency": "monthly", "byDay": [ { "day": "mo", "nthOfPeriod": 3 }, { "day": "tu", "nthOfPeriod": 1 } ] } ] }] ``` Co-authored-by: Stefan Feilmeier <[email protected]> Reviewed-by: Leonhard Anderle <[email protected]> Reviewed-by: Stefan Feilmeier <[email protected]> Co-authored-by: Fabian Brandtner <[email protected]> Co-committed-by: Fabian Brandtner <[email protected]>
…roller ## Summary This pull request introduces a new SoH (State of Health) cycle controller based on the existing `ControllerEssCycle` pattern. The focus of this PR is the **structural foundation and state machine design**: - new controller module - explicit state machine - dedicated handler classes per state - separation of action states and waiting states ## Motivation Determining the battery State of Health (SOH) requires a reproducible and deterministic execution of reference and measurement cycles. To avoid implicit transitions and unstable state changes, the SOH controller is designed with **explicit charging/discharging states and corresponding waiting states**. This makes transitions easier to reason about and aligns with existing OpenEMS cycle controller patterns. ## State Machine Overview The controller uses explicit **action states** and **waiting states**. Action states are responsible for setting ESS power setpoints. Waiting states are responsible for observing system feedback (e.g. SoC) and triggering state transitions once conditions are met. ### Current States - `IDLE` - `PREPARE_REFERENCE` **Reference cycle** - `REFERENCE_CYCLE_CHARGING` - `REFERENCE_CYCLE_CHARGING_WAIT` - `REFERENCE_CYCLE_DISCHARGING` - `REFERENCE_CYCLE_DISCHARGING_WAIT` **Measurement cycle** - `MEASUREMENT_CYCLE_CHARGING` - `MEASUREMENT_CYCLE_CHARGING_WAIT` - `CHECK_BALANCING` - `MEASUREMENT_CYCLE_DISCHARGING` - `MEASUREMENT_CYCLE_DISCHARGING_WAIT` **Finalization** - `EVALUATE_RESULT` - `DONE` - `ERROR_ABORT` Co-authored-by: Sebastian Asen <[email protected]> Co-authored-by: Stefan Feilmeier <[email protected]> Reviewed-by: Sebastian Asen <[email protected]> Reviewed-by: Stefan Feilmeier <[email protected]> Co-authored-by: Alex Belke <[email protected]> Co-committed-by: Alex Belke <[email protected]>
- As long as a predictor has not yet been trained, an error appears in the log each time a prediction is requested - However, many of these mistakes are not mistakes at all, but planned behavior - Add log severity to the exceptions thrown in the predictor - Known exceptions with error handling only appear as info in the log, whereas unknown exceptions, which indicate that something unexpected has gone wrong, appear as errors in the log Co-authored-by: Sebastian Asen <[email protected]> Reviewed-by: Sebastian Asen <[email protected]> Reviewed-by: Stefan Feilmeier <[email protected]> Co-authored-by: Leonhard Anderle <[email protected]> Co-committed-by: Leonhard Anderle <[email protected]>
Co-authored-by: Sebastian Asen <[email protected]> Co-authored-by: Lukas Rieger <[email protected]> Reviewed-by: Victor Nagy <[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]>
- Before ESS would not charge during DELAY_DISCHARGE if Production > Consumption
- Border colors for the Serial numbers were not generating, as they were using the highlight colors. so modified to use ion-colors 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]>
Codecov Report❌ Patch coverage is ❌ Your patch status has failed because the patch coverage (60.21%) 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 #3540 +/- ##
=============================================
+ Coverage 59.22% 59.35% +0.13%
Complexity 105 105
=============================================
Files 3040 3066 +26
Lines 132217 132833 +616
Branches 9756 9816 +60
=============================================
+ Hits 78293 78825 +532
- Misses 50976 51019 +43
- Partials 2948 2989 +41 🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Backend
UI
Edge
nthOfPeriodfor monthly byDay Commit_metaCommitCommon