BUG-TRACKER Solar Forecast ML

Hallo @Heatseeker,

ich möchte es noch einmal ganz klar (und absolut konstruktiv) betonen: Das Log muss präzise gelesen werden. Es ist in erster Linie ein Diagnose-Log für Tester, Entwickler und das Debugging – und keine 1:1-Anzeige dessen, was am Ende als gelockter Forecast gespeichert wurde.

Dein Log zeigt allerdings ein Detail, das mir tatsächlich bei der Eingrenzung hilft! Wichtig ist hier die Unterscheidung zwischen einem Coordinator-Rechenlauf und dem tatsächlich gespeicherten Forecast:

  • Die Zeile Forecast complete bedeutet nur: Solar Forecast ML hat eine Prognose berechnet.
  • Direkt danach steht jedoch: Forecast storage skipped for locked morning forecasts.

Und genau das ist der entscheidende Punkt: Der berechnete Forecast wurde für die gelockten Morning-Forecasts nichtgespeichert. Der Lock greift hier also völlig korrekt. Das ist kein Beweis für einen fehlerhaften Forecast-Lock, sondern genau das erwartete Verhalten.

Das berühmte „Aber“

Ich habe beim Prüfen des Logs von @pmcl einen Edge-Case im Startup- und Recovery-Pfad gefunden. Unter bestimmten Timing-Bedingungen (z. B. direkt nach einem Home-Assistant-Neustart) kann ein Recovery-Wert in den internen Tagesprognose-State gelangen. Dadurch kann es vorkommen, dass ein Sensor bzw. ein Fallback-Wert kurzfristig nicht mehr eindeutig zum gelockten Morning-Forecast passt.

Das ist per se erst einmal kein Code-Fehler, sondern kann verschiedene Ursachen außerhalb der Integration haben. Dazu gehören unter anderem:

  • Home Assistant ist temporär ausgelastet.
  • Andere Integrationen brauchen beim Start zu lange.
  • Andere Integrationen blockieren im Hintergrund die Sensor-Plattform.
  • Das System läuft am Leistungslimit.

Fazit & Ausblick

  1. Der Locked Forecast selbst wird durch den normalen Coordinator-Lauf nicht überschrieben.
  2. Die Interpretation von Forecast complete als „erfolgreich gespeichert“ ist an dieser Stelle falsch.
  3. Es gibt jedoch einen durch externe Faktoren bedingten Edge-Case im Recovery-/Sensor-Fallback, den ich beheben werde.

Wie geht es weiter? Ich werde den Code im kommenden Update so absichern, dass Recovery-Werte bei einem vorhandenen gelockten Morning-Forecast nicht mehr in die Tagesprognose-Anzeige durchrutschen können. Damit bleiben Prognose (heute) und Prognose (heute Rest) auch nach verzögerten oder ungünstig getakteten Home-Assistant-Starts absolut konsistent. Das ist die technisch sauberere und robustere Lösung.

Ich würde dich und @pmcl bitten, das Verhalten nach dem Update zu beobachten und mir Feedback zu geben.

Ich kann den Fix allerdings erst umsetzen, wenn ich wieder voll einsatzbereit bin – ich vermute gegen Ende kommender Woche.
Ich informiere euch beide dann direkt. Bei der Gelegenheit werde ich auch die Log-Ausgaben anpassen und schärfer abgrenzen, damit sie weniger Raum für Fehlinterpretationen bieten. (Das Ausdünnen der Logs wurde ohnehin schon öfter gewünscht; ich bin da bei großen Umbauten nur immer in einem gewissen Zwiespalt. Sorry für die Verwirrung, ich gelobe Besserung!).

Vielen Dank @Heatseeker und @pmcl, dass ihr mich darauf aufmerksam gemacht habt und so hartnäckig am Ball geblieben seid! Das Thema steht fest auf meiner To-do-Liste.

PS: Ich habe den Text von meiner Lokal KI “kürzen und straffen lassen” :slight_smile: Daher die Korrektur.. war selbst mir zu wirr und lang :slight_smile: :slight_smile: Ich bitte um Nachsicht :slight_smile: 42 Grad fordern ihren Tribut :slight_smile: