76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support

Begonnen von DS_Starter, 11 Februar 2024, 14:11:00

Vorheriges Thema - Nächstes Thema

DS_Starter

Weiterentwickelte Version 1.16.3 ist eingecheckt.
Ich habe noch den Setup Wizzard für die ForecastSolar-API überarbeitet.
Kask (danke an dich!) hatte mich darauf aufmerksam gemacht, dass der Wizzard für diese API nicht optimal arbeitet.

LG
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

DS_Starter

#76
@all,

Jensb im DWD Thread stellt die Weiterentwicklungen des DWD Moduls in seinem contrib bereit:

https://svn.fhem.de/trac/browser/trunk/fhem/contrib/jensb

Ich entferne jetzt die DWD-Version aus meinem contrib damit es nur eine Quelle gibt.(siehe #80)
Alles Weitere zum DWD Modul im entsprechenden Thread.

LG
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

stefanru

Hi Heiko,

habe umgestellt auf das contrib von JensB.

Mir ist die letzten 2 Tage etwas sehr seltsames aufgefallen.
Ich werde versuchen morgen davon Screenshots zu machen.

Die Vorhersage verändert sich unheimlich beim Sprung auf 00:00 Uhr.
Vor 00:00 Uhr ist sie völlig anders als dann um 00:00 Uhr.

Ich beobachte es morgen und schicke Screenshots.

Gruß,
Stefan

stefanru

Hallo Heiko,

nun wie angedroht die Screenshots von heute um den 00:00 Uhr wechsel rum. ;-)
Heute war die Änderung nicht so extrem, aber man sieht es ganz gut.
Gestern war es noch extremer deshalb ist es mir da aufgefallen.
Ich denke nicht das DWD gerade aktualisiert hat da ich es davor schon einmal hab updaten lassen.
Irgendwas seltsames passiert da beim Tageswechsel.

Die ersten 3 Bilder von vor 00:00, man sieht das die Vorhersage ziemlich stabil ist.
Um kurz nach 00:00 ändert sich die Vorhersage sehr stark und bei der nächsten Abfrage nochmal.
Danach bleibt sie wieder stabil.

Hast du irgendeine Idee was da um 00:00 pasiert?
Kannst du das bei dir auch sehen?
Kann ich noch etwas anderes beitragen?

Danke und Gruß,
Stefan



DS_Starter

Morgen Stefan,

Um 00 passiert im Modul selbst eine ganze Menge.
Es werden aufgelaufene Werte des Vortages aufgeräumt, die KI trainiert, die Verbraucherplanung erneuert und noch einiges mehr an Datenpflege.

Aber deine Beobachtngen gehen eher in Richtung der durch den DWD gelieferten Werte. Daraus ergeben sich dann entsprechende Anpassungen der Prognose. Ich weiß natürlich nicht welche Werte sich wann/wie ändern, aber in der ausführlichen Doku des DWD zu MOSMIX steht beschrieben (Technische Charakteristika der MOSMIX-Läufe in der operationellen Routine.), dass deterministische Modellläufe von 00 und 12 UTC und eingehende Modelle -> deterministische Läufe von ICON und IFS von 00 und 12 UTC stattfinden.

Also ich will damit sagen, auch beim DWD passieren zu bestimmten Zeiten statistische Anpassungen durch Phasen ,,Training" und ,,Vorhersage" die Einfluß bei unserer Anwendung haben. In der Doku können sich noch mehr Einzelheiten verbergen. Ich habe das MOSMIX Verfahren noch nicht bis in jede Einzelheit studiert geschweige denn verstanden. ;) 

Grüße,
Heiko

ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

DS_Starter

Die Weiterentwicklung des DWD OpenData Moduls gestaltet sich doch etwas testaufwändiger als ursprünglich gedacht.
Deswegen habe ich mich dazu entschlossen, eine (im Zusammnspiel mit SolarForcast) getestete Entwicklungsversion des DWD OpenData Moduls wieder in meinem contrib (Fußtext) für interessierte SolarForecast User bereitzustellen.
So könnt ihr darauf bauen, dass ich diese Version im Vorfeld mit SolarForecast getestet habe.

LG,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

stefanru

Hi Heiko,

ok danke.
Ich bin nur verwundert da sich um 00:00 rum DWD garnicht updated und das sich die Vorhersage hier z.B. um fast 50% ändert, genau um 00:00.
Auch habe ich es am Tag vorher noch gravierender gesehen.

Könnte es sich auch um einen off bei 1 Error handeln?
Wie syncst du mit den DWD Devices den Tagesübergang?
Irgendwie müsste Solarforecast ja pro DWD Device wissen ob schon im neuen Tag geupdated wurde oder nicht.

Das mag totaler Unsinn sein, ich habe keine Ahnung über die genaue Funktionsweise von DWD und Solarforecast, aber hier wie ich mir einen Fehler vorstellen könnte:
DWD hat fc0, fc1, fc2 was den Vorhersage Tagen entspricht.
DWD updated um 23:30. Also die fc sind noch von heute. Nächter DWD update 00:30.
Forecast macht um kurz nach 00:00 die nächste Kalkulation, und nimmt den aktuellen Tag, der aber im DWD Device bis zum nächsten Update um 00:30, noch dem gestrigen Tag entspricht.

Macht das irgendein Sinn, oder hast du das alles eh schon im Modul?

Danke und viele Grüße,
Stefan






DS_Starter

Hallo Stefan,

ZitatDWD hat fc0, fc1, fc2 was den Vorhersage Tagen entspricht.
DWD updated um 23:30. Also die fc sind noch von heute. Nächter DWD update 00:30.
Forecast macht um kurz nach 00:00 die nächste Kalkulation, und nimmt den aktuellen Tag, der aber im DWD Device bis zum nächsten Update um 00:30, noch dem gestrigen Tag entspricht.
Ja, das liegt durchaus im möglichen Rahmen. Diese Wechsel des Tages sind nicht ohne.
Für uns ist das aber nicht so dramatisch. Für die Anzeige mag es vllt. kurzzeitig etwas unschön sein (wer um diese Zeit darauf schaut  ;) ), aber alle Planungen werden erst mit einem Vorlauf von 1h vor Sonnenaufgang vorgenommen um auf möglichst aktuelle Daten zu setzen.
Und die vielfältigen internen Kalkulationen werden mit jedem Zykluslauf neu durchgeführt. Deswegen ist dieser Moment nach dem Tageswechsel auch nur kurz.

Mit dem neuen DWD Modul kann ich zukünftig wegen dem 1 Stunden Update auch besser synchen/auswerten, jedoch ist es noch nicht offiziell. Und das bisherige DWD Modul hinkt im worst case 6 Stunden hinterher.

Ich bleibe dran  ;)

Grüße,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

stefanru

Ah perfekt,
"alle Planungen werden erst mit einem Vorlauf von 1h vor Sonnenaufgang vorgenommen"
das hattest du schonmal gesagt war mir aber entfallen.
Damit ist es maximal etwas unschön wenn man nach 00:00 bis zum nächsten DWD update reinschaut.

Dann bin ich beruhigt und hoffe die weiterentwicklung im DWD Modul läuft erfolgreich, dann wird das Problem sowieso immer kleiner.

Danke für die Erklärung,
Stefan

Mihca

Hallo Heiko,
ich bekomme neuerdings folgende Fehlermeldung:

2024.02.27 16:38:57 1: PERL WARNING: Argument "" isn't numeric in numeric eq (==) at ./FHEM/76_SolarForecast.pm line 15892.
Vielen Dank vorab!
Viele Grüße
Achim
__________
Kein Fehler ist so dumm, dass man ihn nicht machen könnte.
Raspi Ubuntu 22.04 Perl 5.34, Rollo-, Sonnen-, Licht-, Heizungs-, Poolsteuerung, Energiebilanzen -- HomeMatic, FS20, ESP/Tasmota/ESPEasy, CUL868v3 USB, MAX! Cube LAN mit CUL-Firmware HomeMatic

DS_Starter

ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

DS_Starter

Hallo Stefan,

kurze Info.
Das DWD Modul hat eine "RotateForecast" Funktion die bei einem Zyklus den aktuellen Zeitstempel mit fc0_date vergleicht und alle Readings bei Bedarf von fc1 nach fc0 verschiebt, d.h. das Modul hat einen Tagesverschieber.

LG
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Bozan

Guten Abend,

ich mache gerade meine ersten Schritte mit diesem tollen Modul und lerne ständig dazu, was man noch alles einstellen kann.
Dennoch habe ich noch eine Verständnisfrage und finde bisher keine Antwort. Mit den Balken kann man darstellen, wie viel Energie voraussichtlich in jeder Stunde erzeugt werden wird und dann wie viel es tatsächlich geworden ist. Soweit so gut.
Nun zeigen meine Balken aber, dass ich auch im Dunkeln Energie "erzeuge". Schnell war ich dahinter gekommen, dass dies die Energie aus der Batterie ist, denn es endet, sobald der Speicher nicht mehr entladen wird.
Dies verzerrt aber das Balkendiagramm, da anscheinend zu wenig erzeugt wird, wenn gleichzeitig die Batterie geladen wird, und eben zu viel, wenn die Batterie wieder entladen wird. Evtl. hat dies dann auch einen Effekt bei der KI Berechnung?!
Ist das so gewollt oder was habe ich ggf. falsch eingestellt?

Du darfst diesen Dateianhang nicht ansehen.

VG,
Bozan

DS_Starter

Hallo Bozan,

nein, gewollt ist das nicht und hat auch nichts mit KI zu tun. KI ist nur für die PV Prognose, aber nicht für die reale Erzeugung Datenlieferant.

Die Werte der realen Erzeugung werden aus den Angaben in "currentInverterDev" ermittelt.
Die Hilfe sagt genau was erwartet wird:

currentInverterDev <Inverter Device Name> pv=<Readingname>:<Einheit> etotal=<Readingname>:<Einheit> [capacity=<max. WR-Leistung>]

Legt ein beliebiges Device und dessen Readings zur Lieferung der aktuellen PV Erzeugungswerte fest. Es kann auch ein Dummy Device mit entsprechenden Readings sein. Die Werte mehrerer Inverterdevices führt man z.B. in einem Dummy Device zusammen und gibt dieses Device mit den entsprechenden Readings an.
Die Angabe von capacity ist optional, wird aber zur Optimierung der Vorhersagegenauigkeit dringend empfohlen.

    pv            Reading welches die aktuelle PV-Erzeugung liefert
    etotal    Reading welches die gesamte erzeugte PV-Energie liefert (ein stetig aufsteigender Zähler)
    Einheit    die jeweilige Einheit (W,kW,Wh,kWh)
    capacity    Bemessungsleistung des Wechselrichters gemäß Datenblatt (max. möglicher Output in Watt)


Für dein Problem ist das Reading aus dem Schlüssel "pv" verantwortlich. Es muß die aktuelle Erzeugung liefern.
Was hast du für einen Wechselrichter und zeige uns mal bitte deine Einstellung von currentInverterDev.

LG
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

stefanru

Zitat von: DS_Starter am 27 Februar 2024, 23:37:29Das DWD Modul hat eine "RotateForecast" Funktion die bei einem Zyklus den aktuellen Zeitstempel mit fc0_date vergleicht und alle Readings bei Bedarf von fc1 nach fc0 verschiebt, d.h. das Modul hat einen Tagesverschieber.

Ok danke,
das macht das macht das modul dann beim nächsten Zyklus.
Das heißt von 00:00 - nächster Zyklus stimmt es kurz nicht, verstehe ich das richtig?

Danke und Gruß,
Stefan