Repository navigation
Netzladen: erst ab gelesenem SoC, alte Einmal-Aufträge enden, Restbudget des Fensters (Review B5, E8, C2, B18) - #84
Merged
Conversation
…t ab dem ersten gelesenen SoC Nach dem Start steht der SoC auf 0, solange kein Batteriezaehler gelesen wurde (HA noch nicht bereit, alle Lesungen scheitern). Daraus startete das Netzladen nach SoC, das Einmal-Laden plante ab 0 % und Peak Shaving ging fuer einen Zyklus in die Reserve. Jetzt bleibt der gespeicherte Zustand unveraendert, solange kein Geraet einen gelesenen SoC hat; der Schalter "aus" wirkt weiter. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Ein Auftrag "80 % bis 06:00" blieb nach der Zielzeit dauerhaft "sofort aktiv" und lud nach einem Neustart Tage spaeter mit voller Netzladeleistung. Ein Auftrag, dessen Zeit mehr als 2 h zurueckliegt, wird jetzt beim Wiederherstellen und im Zyklus mit einer INFO-Zeile beendet (onceExpired). Bis 2 h Verspaetung laedt er weiter sofort, damit das Peak-Gate das Laden bis dahin anhalten darf. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Der Optimizer bindet s_goal nur ab Schritt 1. Der Fork legte Ziele in Schritt 0, wenn die Zielzeit des Einmal-Ladens vorbei, der Rest beim Sofort-Laden klein oder der Stopp des laufenden Netzladens im laufenden Schritt erreichbar war; Plan, Vorschlaege und Export-Prognose zeigten dann kein Netzladen. Der Zielschritt ist jetzt mindestens 1 (setGoal und Einmal-Laden), "sofort" ist ein eigenes Flag statt einer Umdeutung der Dauer. Vertragstest gegen den Optimizer fuer die Regel "Ziel ab Schritt 1" in den Szenariotests. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Nach einer nicht gedeckten Spitze schob das Netzladen das Fenster ueber die Grenze, weil Headroom und Pause nur die feste Peak-Grenze kannten. Beide rechnen jetzt mit min(Grenze, erlaubte Leistung des Fensters), solange das Fenster aktuell und die Zaehler gelesen sind, sonst wie bisher mit der festen Grenze. Das Ereignis "Netzladen pausiert" nennt den erlaubten Netzbezug. Die Szenariotests laufen mit stehender Uhr am Fensteranfang, damit die erlaubte Leistung der Grenze entspricht. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…t und dokumentiert Der Vertragstest goal_soc_binds_from_step_1 in TestLmOptimizerScenarios wird ohne OPTIMIZER_URI uebersprungen, ein gruenes ./core/ belegte ihn also nicht. Lauf gegen lokale Optimizer-Container in WSL (Image des Add-on-Pins und sein Vorgaenger): TestLmOptimizerScenarios und der Vertragstest bestehen, die Indexdeutung soc(0)[1] gegen SGoal[1] stimmt, ein Ziel in Schritt 0 aendert nichts. Die Freitags-Routine fuehrt TestLmOptimizerScenarios gegen das neue Image bereits aus und schliesst den Test damit ein. README: Regel nennt den Test, Testabschnitt nennt den Lauf mit OPTIMIZER_URI und dass ./core/ ohne ihn die Szenarien ueberspringt. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Owner
Author
|
Hinweis zum Merge: Nach PR 83 (Messausfall) hat |
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.
Behebt B5 (hoch), E8, C2 und B18 aus dem Architektur-Review (Paket P6, Entscheidung D11). Je Fund ein Commit, dazu ein Commit aus dem Code-Review.
min(Peak-Grenze, Allowed)bei aktuellem Fenster ohne Zählerausfall) statt nur mit der festen Peak-Grenze.Tests: neue Tests in
core/site_lm_test.go,core/site_lm_once_test.go,core/site_optimizer_lm_test.go,core/site_peakshaving_test.go;wsltest.sh ./core/grün vor und nach dem Fix.Code-Review (Opus, mittel): ein Fund mittel (behoben). Offen (niedrig): das Beenden eines abgelaufenen Einmal-Auftrags stößt keine neue Planung an; zwei Funktionskommentare nennen noch die feste Peak-Grenze. Hinweis: E8 wirkt nach Konzept auch im Zyklus – hält das Peak-Gate das Laden länger als 2 h nach der Zielzeit an, endet der Auftrag.
Für das Add-on (CHANGELOG): Netzladen startet erst, wenn der Batterie-SoC gelesen ist; ein Einmal-Laden, dessen Zielzeit über 2 h vorbei ist, endet; geregeltes Netzladen hält das Restbudget des laufenden 15-min-Fensters ein.
Fachlich abhängig von P5 (Merge P5 vor P6); der kombinierte Stand wird vor dem Merge gemeinsam getestet.
🤖 Generated with Claude Code