Habe den Prognosehorizont von 3 auf 5 Tage erweitert — sowohl bei der PV-Erzeugungs- als auch bei der Verbrauchsprognose (heute + 4 weitere Tage). Damit das bei 5–6 Tagen (inkl. „Gestern") nicht eng zusammengequetscht wird, lässt sich das Diagramm jetzt horizontal scrollen, Legende und Y-Achse bleiben dabei fix sichtbar.
Als kleines Extra zeigt der Tooltip beim Hovern jetzt auch die Unsicherheitsspanne (P10–P90) mit an, nicht nur den Prognosewert.
Und: sämtliche Darstellungsoptionen (Tage, Farben, Schriftart/-größe, Diagramm-Engine, Glättung, Band, Gitter, Y-Achse fest, Ist-Anzeige …) lassen sich jetzt direkt im WebFront einstellen — einfach die Kachel über den Doppelpfeil aufziehen, dort erscheinen alle Optionen als Schalter/Dropdown/Zahlenfeld. Man muss also nicht mehr extra in die Admin-Konsole wechseln.
Ist alles im Beta-Kanal verfügbar (aktuell Build 79) — einfach über die Modulverwaltung aktualisieren. Würde mich freuen, wenn du berichtest, ob das so passt.
danke für den Hinweis zum Scrollen! Ein paar Verbesserungen dazu und ein paar Kleinigkeiten obendrauf:
Scrollen leichter zu finden: Ein dezenter Pfeil rechts/links im Diagramm zeigt jetzt an, wenn noch weitere Tage folgen bzw. schon gescrollt wurde — und verschwindet automatisch, wenn nichts mehr zu holen ist.
Datum statt „Morgen/Übermorgen": Ab morgen steht jetzt das echte Datum da, z. B. „Do 27.08. (heute +1)" — der Bruch zu den bisherigen „Tag 4"/„Tag 5" ist damit weg, „Heute" bleibt als Anker.
„Jetzt"-Linie rot statt neutralem Grau, damit man den aktuellen Zeitpunkt im Diagramm schneller findet.
Diagrammhöhe passt sich jetzt automatisch der Kachelgröße an — keine eigene Einstellung mehr nötig, einfach die Kachel im WebFront so groß ziehen wie gewünscht.
Kleine Korrektur nebenbei: Der Tooltip zeigt die Unsicherheitsspanne (P10–P90) nur noch beim Verbrauch, nicht mehr bei PV — die PV-Prognose ist physikbasiert und hat (anders als die k-NN-basierte Lastprognose) keine echten Streuwerte dafür.
Alles wie gehabt im Beta-Kanal, aktuell Build 86.
Sonnige Grüße
Ps.: „PV jetzt … Verbrauch jetzt“ ist nun wie Du gewünscht hast abschaltbar - „Legende“ ist das Stichwort.
Guten Tag,
habe es nun zum testen installiert. Funktioniert mit den Gratis Anbietern.
Bei Solcast bekomme ich aber immer folgende Fehlermeldung:
API Key verschwindet nach der Eingabe und es kommt:
danke für den Testbericht samt Debug — der hat es direkt verraten: HTTP 429 heißt „Too Many Requests". Dein API-Schlüssel ist völlig in Ordnung (das Verschwinden nach der Eingabe ist übrigens Absicht — er wird sicher intern abgelegt statt im Formular sichtbar zu bleiben). Das Solcast-Gratiskonto erlaubt aber nur ~10 API-Abrufe pro Tag, und bisher hat jede Neuberechnung einen Abruf je Generator gekostet — bei deinen zwei Generatoren plus deinem anderen Skript mit demselben Schlüssel war das Tageskontingent beim Einrichten/Testen schnell aufgebraucht. Ab dann liefert Solcast bis zum nächsten Tag nur noch 429.
Ich habe das im aktuellen Beta-Build (91) entschärft: Antworten werden jetzt für die Dauer des Berechnungsintervalls gecacht (mehrfaches „Jetzt neu berechnen" kostet nichts mehr extra), nach einem 429 pausiert das Modul automatisch 2 Stunden, und statt einer leeren Prognose wird die letzte gültige weiterverwendet. Dazu gibt’s jetzt einen Hinweis direkt am Schlüsselfeld.
Konkret bei dir: Modul aktualisieren, bis morgen warten (das Kontingent setzt sich täglich zurück) und das Berechnungsintervall auf 8–12h stellen — bei 2 Generatoren und 6h-Intervall wären sonst 8 deiner 10 Tages-Abrufe schon durch den Timer weg, und dein anderes Skript braucht ja auch noch welche.
Seit dem ursprünglichen Post von Mitte Juli ist einiges passiert, hier ein Überblick:
Neu seit dem Start
Teil des NRG-Stack: die Suite ist mittlerweile Teil eines größeren Verbunds herstellerunabhängiger Module fürs Energiemanagement - Vorankündigung mit Live-Demo. Prognose bleibt dabei komplett eigenständig installierbar/nutzbar, NRG-Stack Dashboard ist eine optionale zusätzliche Übersichtsschicht obendrauf (mehr dazu weiter unten).
Tagesgang-Korrektur (PV-Prognose): die Bias-Korrektur aus den gemessenen Prognosefehlern läuft jetzt je Tagesabschnitt getrennt (Sonnenaufgang bis -untergang in 8 Abschnitte), nicht mehr als ein Faktor für den ganzen Tag - an klaren Tagen wird morgens oft überschätzt, abends unterschätzt, ein globaler Faktor hätte sich das gegenseitig weggemittelt.
Archivstörungs-Erkennung: die Prognosegüte-Auswertung erkennt und zählt jetzt gehaltene Messwerte nach einer Datenlücke, damit die nicht leise die Lernbasis verfälschen.
PVF_GetAccuracy(): strukturierte Prognosegüte (Bias/Fehlerquote/ Tagesanzahl, je Tagesabschnitt) als eigener Datenvertrag - Grundlage für einen netzdienlichen Baustein im EMS, der bei schlechter Prognosegüte vorsichtiger plant.
PVF_GetIntradaySnapshot(): sammelt zusätzlich untertägige Prognosestände desselben Tages, für eine spätere Day-Ahead-vs-Intraday-Auswertung (läuft gerade an, um der Frage nachzugehen, ob Open-Meteo an bewölkten Tagen systematisch zu pessimistisch ist).
Zwei Klarstellungen/Fixes, danke an somm für beide Funde
Referenz-Leck in der Energiebilanz-Kachel behoben (Build 107): Beim Auflösen von PV-/Last-Quelle und den Ist-Wert-Variablen hat die Energiebilanz bei jedem „Übernehmen“/Reload bis zu 12 Objekt-Referenzen registriert, die vorherigen dabei aber nie aufgeräumt. Ändert sich die aufgelöste Quelle (oder wird ein Testobjekt gelöscht), blieben alte Referenzen dauerhaft bestehen - sichtbar u. a. über „referenziertes Objekt existiert nicht“-Meldungen. Ist gefixt; nach dem Update einmal „Übernehmen“ klicken, dann sollten alte Referenzen verschwinden.
„Prognose“ ist NICHT in „NRG-Stack Dashboard“ integriert: Prognose und Dashboard sind zwei komplett getrennte Module - zwei GitHub-Repos, zwei Installationen, zwei Karten in eurer Modulverwaltung, die ihr beide behaltet. Dashboard listet in seiner Beschreibung mehrere Module auf (InverterHub, MeterHub, ChargerHub, …, Prognose, EMS, …), die es optional als Datenquelle konsumieren KANN, wenn sie installiert sind - das heißt aber nicht, dass sie darin aufgehen. Löscht ihr „Prognose“, bleibt Dashboards Prognose-Anzeige einfach leer, alles andere läuft normal weiter; umgekehrt braucht „Prognose“ „Dashboard“ gar nicht und funktioniert komplett eigenständig. Beide Punkte stehen jetzt auch direkt im jeweiligen Formular (Doku & Hilfe-Panel).
Aktueller Stand
Beta, Build 108, an meiner eigenen Anlage im Live-Betrieb, laufend gegen die tatsächliche Erzeugung/den tatsächlichen Verbrauch verifiziert statt nur statistisch gelernt.
ich wollte mir dein Stack einmal anschauen (zumindest der Teil der ohne Modbus WR funktioniert). Die PV Prognose hab ich installiert und eingerichtet.
Bei der Energiebilanz ist die Erstellung mit folgendem Fehler fehlgeschlagen:
Konnte Instanz nicht erstellen
Warning: Instanz #25427 ist durch eine selbst gestartete Operation belegt (re-entranter Aufruf abgelehnt) in C:\ProgramData\Symcon\modules.store\eu.dg.prognose\Energiebilanz\module.php on line 309
Warning: foreach() argument must be of type array|object, false given in C:\ProgramData\Symcon\modules.store\eu.dg.prognose\Energiebilanz\module.php on line 309
(Code: -32603)
Außerdem ist mir aufgefallen dass dein Modul im Store sehr viele Instanz einträge anlegt, dass macht es unübersichtlich und verwirrt, welche Instanz nun gewählt werden soll.
danke für den Fund und den ausführlichen Screenshot, damit war der Fehler schnell klar!
Ursache: Ein Fix vom Vortag (Referenz-Aufräumen beim Neuladen) hat einen Fall übersehen: Während IPS_CreateInstance() die Instanz gerade neu anlegt, ist sie durch diesen Vorgang selbst noch belegt - ein Aufruf, der Referenzen abfragt, liefert in genau diesem Moment kein Ergebnis statt einer (leeren) Liste, und das hat die komplette Neuanlage abgebrochen („Konnte Instanz nicht erstellen“). Ist jetzt abgesichert, im Beta-Kanal verfügbar (Build 109).
Zu den vielen Instanz-Einträgen: Das dürfte eine Folge genau dieses Fehlers sein - jeder gescheiterte Erstellversuch hat vermutlich eine unvollständige Energiebilanz-Instanz im Objektbaum hinterlassen. Nach dem Update würde ich vorschlagen: alle bisherigen, kaputten „Energiebilanz“-Einträge löschen (die, bei denen die Erstellung fehlgeschlagen ist - meist ohne funktionierende Kachel/Konfiguration erkennbar) und dann einmal neu anlegen. Falls dabei noch etwas unklar ist, gerne nochmal melden.
Alle hier angezeigten Instanzen sind vom gleichen Author und gehören zum Paket NRG-Stack Prognose. Wirklich Relevant ist ja aber nur die Instanze die mit NRG beginnt, richtig?
Die anderen sind vmtl. noch aus früheren Entwicklungsständen.
Gern geschehen! Zu den vielen Einträgen: gute Beobachtung, aber andersrum als vermutet — die „NRG-Stack …“-Varianten sind nicht die aktuellen, sondern zusätzliche Alias-Namen. Die eigentlich kanonischen Modulnamen sind die schlichten „Lastprognose“, „PVPrognose“ und „Energiebilanz“. Technisch war es aber ohnehin egal, welchen Namen du gewählt hättest - alle zeigen auf dieselbe Instanz.
Trotzdem war die Liste unnötig aufgebläht: Reste aus früheren Namens- Testläufen (z. B. „Verbrauchsprognose“, „PV-Erzeugungsprognose“, „Energieprognose“) standen da noch mit drin. Hab ich jetzt aufgeräumt - jedes Modul zeigt nur noch zwei Namen: den kanonischen Modulnamen und den „NRG-Stack …“-Alias, für alle, die nach dem Verbundnamen suchen. Im Beta-Kanal ab Build 110 verfügbar.
Danke für den Hinweis! Die habe ich mir angeschaut - das ist tatsächlich eine bekannte, im Symcon-Forum schon länger dokumentierte Eigenheit des Archivs selbst, keine Fehlfunktion unserer Module: Eine minimale Korrektur der Systemuhr (z. B. ein NTP-Sprung kurz nach einem Sekundenwechsel) kann einen archivierten Zeitstempel für einen winzigen Moment als „in der Zukunft“ erscheinen lassen - selbst wenn die Abfrage-Endzeit korrekt auf „jetzt“ begrenzt ist. Im Forum wurde dafür bislang keine offizielle Lösung dokumentiert.
Ich habe trotzdem etwas nachgebessert: Unsere Archiv-Abfragen begrenzen die Endzeit jetzt mit 2 Sekunden Sicherheitsabstand statt exakt auf die aktuelle Sekunde (Build 111, Beta-Kanal). Das macht die Warnung seltener, kann sie aber nicht vollständig ausschließen, da die eigentliche Ursache im Symcon-Archiv-Kern liegt. Falls sie doch nochmal auftaucht: reine Log-Warnung, keine falschen Werte oder Folgefehler - kannst du ignorieren.
Seit dem letzten Update ist einiges zusammengekommen, vieles davon durch eure Meldungen und durch Tests an meiner eigenen Anlage. Ich habe es hier nach dem geordnet, was ihr davon merkt. Die Daten-Schnittstellen der Module (PVF_Get*, LFC_Get*) bleiben unverändert, an eurer Konfiguration müsst ihr nichts ändern.
Fehler, die ihr gemeldet habt
Energiebilanz ließ sich nicht neu anlegen („Konnte Instanz nicht erstellen“), danke an Ghostraider. Behoben.
Viele Meldungen „referenziertes Objekt existiert nicht“ von der Energiebilanz (somm): Die Kachel hat bei jedem „Übernehmen“ Referenzen angelegt, aber nie aufgeräumt. Behoben.
Warnung „Aggregation von Datensatz aus der Zukunft fehlgeschlagen“ (somm): Das ist eine bekannte, seltene Eigenheit des Symcon-Archivs bei minimalen Uhr-Korrekturen. Ich habe die Abfragen mit 2 Sekunden Sicherheitsabstand versehen, das macht sie seltener, ausschließen kann ich sie nicht. Es bleibt eine reine Log-Warnung ohne Folgen für die Werte.
Zu viele Namen im Dialog „Instanz hinzufügen“ (Ghostraider): Jedes Modul zeigt jetzt nur noch zwei Einträge, den eigentlichen Modulnamen und einen „NRG-Stack …“-Eintrag. Beide führen zum selben Modul.
Die Prognose selbst
PV-Kurve lag bis zu 30 Minuten zu früh. Bei Quelle Open-Meteo habe ich den Stundenmittelwert auf den Stundenbeginn gelegt statt auf die Stundenmitte. Jetzt stimmt die 15-/30-Minuten-Kurve mit der Wetterquelle überein, die Tagesenergie bleibt gleich. Ihr seht die Kurve also etwa eine halbe Stunde weiter hinten (Morgen später, Abend später).
Fehler in der Korrektur „Immer genauer werden“ (Pegel) behoben. Sie hat einen gleichbleibenden Fehler der Prognose nur etwa zur Hälfte ausgeglichen, weil sie gegen die schon korrigierte statt gegen die rohe Prognose gelernt hat. Bei mir lag die Prognose im Mittel rund 13 % zu niedrig. Jetzt wird der Fehler voll ausgeglichen, je nachdem wie eure bisherige Prognose lag, kann sie danach spürbar höher oder niedriger ausfallen. Neu dabei: Der Korrekturfaktor je Tagesabschnitt ist auf 0,5 bis 2,0 begrenzt, und ausgesprochene Wechselwetter-Tage zählen nicht für den Pegel.
Lernphase nach dem Update. Die Korrektur muss dafür neu lernen (bei 15 Minuten etwa 5 bis 7 Tage). In dieser Zeit bleibt das Unsicherheitsband (P10/P90) erhalten, die Status-Zeile zeigt „Korrektur lernt neu“. Bias und Fehlerquote der Prognosegüte laufen ohne Sprung durch.
Kein Wert über der Anlagenleistung mehr. P10, P50 und P90 sind auf die installierte Modulleistung plus 10 % Reserve begrenzt. Vorher konnte das Band mittags weit darüber liegen (bei mir 16,6 kW bei 9,18 kWp).
Robuster bei Netzproblemen und am Tageswechsel
Klappt der Wetter-Abruf nur für einen Teil der Generatoren, bleibt jetzt die letzte gültige Prognose stehen. Vorher wurde still nur die Summe der erreichten Generatoren genommen und die Prognose war entsprechend viel zu niedrig (bei mir ein Fünftel der Anlage).
Um Mitternacht werden die gespeicherten Tage weitergeschoben, auch wenn gerade kein Abruf möglich ist. Wer die Variablen direkt liest (z. B. die Energiebilanz), sieht nicht mehr die Kurve von gestern als „heute“.
Fällt die Abfrage für die Selbstkalibrierung aus, gilt der zuletzt gute Faktor (bis 3 Tage) statt stillschweigend 1,0. Wird ein Ersatzwert benutzt, steht das im Log und in der Status-Zeile.
Zeitumstellung (25.10.2026 und 28.03.2027)
Zwei Fehler, die erst an diesen Tagen aufgefallen wären, sind vorab behoben: Open-Meteo beschriftet die Stunden einer Antwort mit einem festen Offset, dadurch wäre die PV-Kurve für die Tage nach der Umstellung um eine Stunde verschoben gewesen (bei mir ab dem 22.10.). Und die Energiefenster für das EMS lagen am Umstellungstag ab 02:00 Uhr um eine Stunde daneben. Beides ist mit echten Wetterkurven der letzten Umstellungen geprüft. Wer die PV-Prognose nutzt, sollte deshalb vor dem 22.10. auf Build 119 oder neuer sein.
Nach dem Update
Update in der Modulverwaltung ziehen (Beta-Kanal).
Einmal im PVPrognose-Formular auf „Prognose jetzt neu berechnen“ klicken, sonst stehen die alten Werte bis zum nächsten Zeitplan-Durchlauf.
Oben im Formular erscheint der Kasten „Neu in Version 0.20 (Build 119)“.
Die vollständige Liste mit allen Begründungen steht im CHANGELOG.
Ich freue mich weiter über Rückmeldungen, besonders zur Prognosegüte auf euren Anlagen nach den ersten Tagen mit der neuen Korrektur.
Einen Verbesserungsvorschlag hätte ich noch: Bei Energiebilanz aus NRG-Stack Prognose gab es beim Initialisieren beider Instanzen Probleme mit der Referenzverwaltung. Ursache war die Abfrage der eigenen Referenzen innerhalb von ApplyChanges() über:
IPS_GetReferenceList($this->InstanceID)
Mit der dokumentierten Modulmethode funktioniert es:
$this->GetReferenceList()
Die Änderung ist lokal getestet, einschließlich eines vollständigen Dienstneustarts. Beide Instanzen starten damit ohne Referenzwarnungen; Konfiguration und Referenzen bleiben unverändert. Könntest du diese Anpassung bitte ins Modul übernehmen?
vielen Dank für den Hinweis und gleich auch für den Test mit vollständigem Neustart, das hat mir die Prüfung leicht gemacht.
Ich habe $this->GetReferenceList() gegen die Symcon-Doku geprüft (dokumentierte Modulmethode, ab Symcon 5.1, liefert ein Array) und die Umstellung in der Energiebilanz übernommen. Der Schutz gegen einen Nicht-Array-Rückgabewert, den ich nach der Fehlermeldung bei der Neuanlage eingebaut hatte, bleibt als Sicherheitsnetz drin.
Die Änderung steckt in Build 131 (0.20-beta) im Beta-Zweig. Nach dem Update über die Modulverwaltung sollten beide Instanzen ohne Referenzwarnungen starten. Die Lastprognose und die PV-Prognose sind nicht betroffen, dort wird dieser Aufruf nicht verwendet.
Ob es bei dir damit sauber durchläuft, sehe ich gern an deiner Rückmeldung. Und falls beim Start noch etwas im Log auftaucht, schick mir bitte die Meldung mit.
ich nutze die Energiebilanz-Kachel mit PV- und Verbrauchsprognose. Wenn ich den gemessenen PV-Tagesverlauf und/oder den gemessenen Verbrauchs-Tagesverlauf aktiviere, werden die Ist-Verläufe als gestrichelte Linien angezeigt. In der Legende tauchen sie aber nicht als eigene Einträge auf, und ihre Farben lassen sich nicht unabhängig von den Prognosekurven einstellen.
Wäre es möglich, die Ist-Verläufe separat in der Legende aufzuführen und je Verlauf eine eigene Farbe einstellbar zu machen? Dann könnte man Prognose und tatsächlichen Verlauf leichter auseinanderhalten und gezielt miteinander vergleichen.
das ist umgesetzt, im Beta-Zweig (Energiebilanz 0.21-beta, Build 132): „PV (Ist)“ und „Verbrauch (Ist)“ stehen jetzt als eigene Einträge in der Legende und lassen sich einzeln aus- und einblenden. Dazu gibt es pro Linie einen Schalter „Eigene Farbe für die gemessene … Linie“ und eine Farbauswahl. Ohne Schalter bleibt die Farbe der Prognosekurve, damit sich bei bestehenden Kacheln nichts ändert. Die Einstellungen findest du wie die anderen hinter dem Doppelpfeil der Kachel.
Danke für die Anregung. Ich bin gespannt, ob es so für den Vergleich funktioniert.