Repository navigation
Lastmanagement: Grenze des LM-Kreises aus der Peak-Shaving-Grenze (Schalter, Standard aus) - #86
Merged
Conversation
…Schalter circuitFromPeak (P7a) Neuer erweiterter Wert circuitFromPeak (Standard aus): bei gewähltem Lastmanagement-Kreis und aktivem Peak Shaving ist die Leistungsgrenze des Kreises die Peak-Grenze, mit Follow the Peak und auch unter dem eingestellten Wert. Der eingestellte Wert bleibt unverändert und gilt wieder, wenn der Schalter oder Peak Shaving aus ist. Lastmanagement aus hebt die Grenze wie bisher auf. Ohne gewählten Kreis, bei Kreisen ohne Leistungsgrenze und bei Plugin-Grenzen keine Wirkung. lmOff.fromPeak sagt der UI, ob die Grenze gerade aus der Peak-Grenze kommt. Setter von Peak-Grenze und Peak Shaving wenden die Kreisgrenzen sofort an. README Abschnitt 7 und 17, watch.json. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…e der Quelle (P7a) Schalter unter Lastmanagement-Details, Erweitert, direkt unter dem Stromkreis Lastmanagement (Peak), nur aktiv mit gewähltem Kreis. Die Quelle der Grenze bleibt sichtbar, der gespeicherte Wert des Kreises wird nicht überschrieben: Übersicht zeigt "aus Peak Shaving, eingestellt ...", der Stromkreis-Dialog einen Hinweis unter den Feldern (neuer UI-Hook CircuitPeakHint in CircuitModal.vue, Eintrag in forkUiHooks und Touch-Point-Tabelle, Vertragstest in circuitFromPeak.test.ts), die Peak-Shaving-Karte im Batterie-Reiter nennt den Kreis. Texte de und en. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
restoreCustom stellte die Lastmanagement-Einstellungen vor den Peak-Einstellungen wieder her. Beim ersten applyCircuitLimits war Peak Shaving noch aus, die Kreisgrenze blieb auf dem eingestellten Wert und die Peak-Grenze griff erst in updateCustom des ersten Zyklus. Jetzt ruft restoreCustom nach restorePeakSettings applyCircuitLimits auf. Der Neustart-Test ruft restoreCustom mit gespeicherten Peak-Einstellungen in der echten Reihenfolge auf und prueft die Kreisgrenze sofort danach. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
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.
Neue Funktion auf Wunsch des Users (Konzept
konzepte/2026-10-11-architektur-review-umsetzung.md, Entscheidungen D27 und D28, Paket P7a).Was: Unter Lastmanagement-Details → Erweitert gibt es neben "Stromkreis Lastmanagement (Peak)" den Schalter "Grenze = Peak-Shaving-Grenze" (Standard aus). Ist er an, bekommt der gewählte LM-Kreis bei jeder Änderung und jedem Zyklus die Peak-Grenze aus dem Batterie-Reiter als Leistungsgrenze (mit Follow the Peak). "Lastmanagement aus" hebt sie wie bisher auf; ohne Peak Shaving oder ohne Peak-Grenze gilt der eingestellte Wert des Kreises; Stromgrenzen, §14a und Kreise mit Plugin-Grenze bleiben unberührt.
Warum so (D27, D28): kein Plugin und keine API-Schleife, sondern der vorhandene Mechanismus in
core/site_lm_switch.go, der die Grenze schon für "Lastmanagement aus" und Follow the Peak zur Laufzeit setzt. Der gespeicherte Wert des Kreises wird nicht überschrieben (Rückfallwert; sonst schriebe jede Peak-Änderung in evccs Gerätekonfiguration).Anzeige ohne Verwechslung: Kachel "Stromkreise" und Übersicht zeigen die wirksame Grenze; die Übersicht nennt die Quelle ("aus Peak Shaving, eingestellt …"), der Stromkreis-Dialog zeigt einen Hinweis (UI-Hook in
CircuitModal.vue→CircuitPeakHint.vue,forkUiHooks, Vertragstest; der Hinweis steht im Slot nach den Feldern, weil der Dialog unter der Leistungsgrenze keinen Slot hat), die Peak-Shaving-Karte im Batterie-Reiter zeigt "Gilt auch für Stromkreis …". Texte de und en.Tests:
TestLmCircuitFromPeak,…State,…Plugin,…Restartund weitere incore/site_lm_switch_test.go,site_lm_advanced_test.go,site_restore_test.go; Vitest fürutils/circuitFromPeak.ts;wsltest.sh ./core/ ./core/lm/ ./core/circuit/undfecheck.shgrün.watch.jsonum dynamische Kreisgrenzen ergänzt.Code-Review (Sonnet): ein Fund mittel (Peak-Grenze griff nach dem Neustart erst im ersten Zyklus) – behoben. Offen (niedrig): der Dialog-Hinweis sagt "ersetzt", auch wenn die Grenze gerade nicht aus Peak kommt; der Schalter bleibt angehakt, wenn er mangels Kreis deaktiviert ist.
Hinweis für deine Anlage: bei 3,5 kW Peak-Grenze passt die Mindestleistung einer dreiphasigen Wallbox (6 A × 3 ≈ 4,1 kW) nicht unter die Grenze; geladen wird dann einphasig oder mit Hilfe der Batterie bis zur Reserve. Der Schalter ist aus, bis du ihn einschaltest.
Für das Add-on (CHANGELOG / DOCS): Neu: Lastmanagement-Details → Erweitert → "Grenze = Peak-Shaving-Grenze" übernimmt die Peak-Grenze aus dem Batterie-Reiter als Grenze des Lastmanagement-Kreises (Standard aus).
🤖 Generated with Claude Code