feat(forecast): integrate full forecast charts and complete SDL visualization
Tests / test (push) Failing after 52s
Tests / test (push) Failing after 52s
This commit is contained in:
@@ -0,0 +1,98 @@
|
||||
# Forecast- und SDL-Integration, 6. Oktober 2026
|
||||
|
||||
## Auftrag und Umfang
|
||||
|
||||
Daniel Haefliger hat die Weiterfuehrung passender unveroeffentlichter Arbeiten,
|
||||
die Integration der Prognosebedienung, SDL-Anzeigen und die Veroeffentlichung
|
||||
auf develop und beta ausdruecklich beauftragt. main bleibt unveraendert.
|
||||
|
||||
- Manager: Prognose / Forecast ist der gemeinsame Bedienort. Die bisherigen
|
||||
separaten Diagnosevariablen sind umbenannt und in der Visualisierung verborgen.
|
||||
- Batterie: die bereits integrierte Bereinigung des separaten V4-Formulars bleibt
|
||||
erhalten. Bestehende Idents, APIs und gespeicherte Freigaben werden aus
|
||||
Kompatibilitaetsgruenden nicht umbenannt oder geloescht.
|
||||
- Portal: derselbe Planner erscheint im vorhandenen Prognosebereich. Die exakte
|
||||
ausgewaehlte Eingangsprognose wird als forecastPoints eingefroren, unabhaengig
|
||||
vom durch publizierte Preise begrenzten Optimierungshorizont. Netzplan,
|
||||
Batteriestellwerte und Kosten werden nicht kuenstlich verlaengert.
|
||||
- Diagramme zeigen PV, Last, SDL-Szenario, Netz, Batterie, SOC, Preise und Kosten.
|
||||
Fehlende Werte bleiben Luecken. Prognosewerte sind keine gemessenen Erfolge.
|
||||
- Utils kapselt die generische Darstellung nicht bestimmbarer Energieanteile.
|
||||
EMS entscheidet bei SDL-Bilanzierung, dass die Haus-PV-Anteile nicht eindeutig
|
||||
aus dem SDL-haltigen Netzbezug hergeleitet werden koennen. Zaehler bleiben sichtbar.
|
||||
|
||||
## Migration und Erhaltung
|
||||
|
||||
Utils vor EMS aktualisieren. Bei alten Utils blendet EMS den eigenen Energy Pie
|
||||
bei aktiver SDL aus und protokolliert den Aktualisierungsbedarf, statt falsche
|
||||
Prozentwerte anzuzeigen oder die Manager-Regelung zu stoppen.
|
||||
|
||||
Bestehende Energy-Pie-Konfiguration, individuelle Flow-Knoten und Nicht-SDL-
|
||||
Diagrammreihen bleiben erhalten. Visualisierungsschalter nicht aus-/einschalten:
|
||||
das wuerde teilweise eine Neuerzeugung ausloesen. Historien, Energiezaehler,
|
||||
Mess-Outbox und Betriebsfreigaben werden nicht zurueckgesetzt.
|
||||
|
||||
Die Testanlage wurde mit gesicherten, hashgeprueften Quelldateien aktualisiert.
|
||||
Manager 17004 verwendet SDL-Leistung 25085 (W, Faktor +1) und SOC 23879 (%).
|
||||
Diese Werte gehoeren zur vorhandenen virtuellen EV/SDL-Aufteilung und sind kein
|
||||
unabhaengiger physischer SDL-Messnachweis. Der einzelne Batterie-Flow-Knoten wurde
|
||||
von Proxy 19274 auf 42728 umgestellt; alle anderen Felder wurden erhalten.
|
||||
Flow 57933 enthaelt zusaetzlich SDL. Leistungsdiagramm 53754 wuchs von vier auf
|
||||
sechs Reihen, Energiediagramm 19668 von sechs auf neun. Keine Alt-Reihe entfernt.
|
||||
|
||||
Private Rueckfallsicherung auf der Anlage:
|
||||
`/var/lib/symcon/backup/enelix-forecast-sdl-20261006T171851Z`.
|
||||
Sie enthaelt Konfigurationen und darf nicht in Git, Logs oder Chat kopiert werden.
|
||||
Der temporaere Beobachtungshook 12555 wurde wiederhergestellt.
|
||||
|
||||
## Pruefungen
|
||||
|
||||
- EMS PHPUnit: 360 Tests, 1771 Assertions, erfolgreich.
|
||||
- Utils PHPUnit: 58 Tests, 350 Assertions, erfolgreich.
|
||||
- Backend: 312 Tests, erfolgreich, isolierter aktueller develop-Stand mit Patch.
|
||||
- Formular: 71 Pruefungen; RequestAction: 26; Regeltests: 96; Empfaenger: 32.
|
||||
- Chart- und Energy-Pie-JavaScript: 14 Tests, erfolgreich.
|
||||
- Portal-Mount: acht Tests, erfolgreich, inklusive Anlagen-/Ansichtswechsel,
|
||||
Abmeldung, verspaeteter Antworten und unabhaengiger Fehlerbehandlung.
|
||||
- Echter Chromium: Desktop 1280 px, Mobil 390 und 320 px; Kurven, Auswahl,
|
||||
Maus/Tastatur, Lebenszyklus, CSS-Abgrenzung und Screenshots erfolgreich.
|
||||
- Testanlage nach Installation: Manager, Batterie, Energy Pie und Flow Status 102;
|
||||
SDL-Quellen und erhaltene Diagrammreihen kontrolliert.
|
||||
|
||||
## Offene Betriebsschritte, keine Produktionsfreigabe
|
||||
|
||||
Die Nachkontrolle 2026-10-06 17:26:21 UTC zeigte den bekannten Symcon-Timerfehler
|
||||
nach Module Control Reload: alter Batterie-Timer 70 blieb laufend, neue
|
||||
Melde-/Rueckmeldetimer hatten noch keinen Lauf. Ein kontrollierter Symcon-Neustart
|
||||
und danach erneute Pruefung sind erforderlich. Status 102 allein ist kein Beleg
|
||||
fuer funktionierende Timer. Die neue Netzfahrplansteuerung 46716 bleibt false.
|
||||
|
||||
Portal-Assets wurden ohne Containerneustart aktualisiert. Das Backend-Image ist
|
||||
noch nicht aktualisiert: Docker-Socketzugriff fuer agent ist nicht erlaubt.
|
||||
Vorbereitete, erfolgreich vorgepruefte Administratoruebergabe auf enelix-services:
|
||||
|
||||
```sh
|
||||
sudo python3 /srv/agent/forecast-completion-20261006/deploy_forecast_backend.py --apply
|
||||
```
|
||||
|
||||
Das Skript prueft zwei exakte Quelldateien, sichert Datenbank und Quellen,
|
||||
baut/testet das Image vor dem Austausch und bewahrt die bisherige Image-ID fuer
|
||||
Rollback. Keine Socketrechte werden geaendert. Keine Stellfreigabe wird erteilt.
|
||||
Nach erfolgreicher Installation Neuberechnung und neue forecastPoints pruefen.
|
||||
Bis dahin kennzeichnet die Anzeige alte Plaene und zeigt keine erfundenen Werte.
|
||||
|
||||
Unbefristeter Betrieb ist NICHT freigegeben: Nachweis eines geraeteseitigen
|
||||
Ausfallschutzes, physischer Soll-/Ist-Nachlauf, sichere Null-/Stop-Reaktion und
|
||||
Fortfuehrung ueber mehrere Planerneuerungen fehlen weiterhin. Die bestehende
|
||||
befristete Zustimmung bis 7. Oktober 2026, 17:38:07 Europe/Zurich wird nicht
|
||||
verlaengert. EV-Konto bleibt 161.44 kWh / 39 kW; physische Gesamtkapazitaet und
|
||||
virtuelle SDL-Energie werden nicht als zusaetzliche EV-Energie angesetzt.
|
||||
|
||||
## Pull-Request-Text
|
||||
|
||||
Forecast-Bedienung im Manager konsolidieren, vollstaendige gespeicherte
|
||||
Eingangsprognose im bestehenden Portal einbetten und SDL-Anzeigen vervollstaendigen.
|
||||
Individuelle Visualisierungen und kompatible Kennungen bleiben bestehen;
|
||||
nicht bestimmbare Energieanteile werden ehrlich als unbekannt dargestellt.
|
||||
Automatisierte Tests und responsive Browserpruefung erfolgreich. Zwei explizite
|
||||
Betriebsblocker bleiben dokumentiert; kein unbegrenzter Anlagenbetrieb aktiviert.
|
||||
Reference in New Issue
Block a user