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

Fehler gefunden ... es war eine Schleife die nur zu Beginn eines Tages zum Tragen kam.
Böse Falle.

Ich finalisiere im Laufe des Tages die gefixte V und gebe euch Bescheid.

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

scank

Hallo,

ich habe bei mir 3PV Anlagen mit dem Modul konfiguriert. Ich habe zusätzlich ein BHKW dass auch Strom erzeugt. Gibt es eine möglichkeit diese auch mit einzubinden?

Gruß

scank

Hallo,

ich habe bei mir 3PV Anlagen mit dem Modul konfiguriert. Ich habe zusätzlich ein BHKW dass auch Strom erzeugt. Gibt es eine möglichkeit diese auch mit einzubinden?

Gruß

300P

Hallo Scank,

Jein!

Ich hab eine ähnliche Situation bei mir. Mehrere WR und mehrere Batterien plus ein kleines BHKW für meine Grundlast bei mir (wenn die Sonne mal nicht so richtig ,,will") wird zugeschaltet.

Meine Lösung vor einiger Zeit war dann recht simpel und ist  im Wiki hinterlegt. Einfach zu dem PV-Erzeugungs-Summen-Dummy die Erzeugung des BHKW hinzuaddieren.

Dann wird damit zwar nicht ganz so viel damit berechnet, aber im Winter und in der Nacht scheint dann das Sonnensymbol der Grafik. 8)

Ist zwar keine komplette Luxuslösung mit allem drum und dran, aber es stört die Berechnungen des Modules für die PV nicht.

Gruß
300P
FHEM 6.3 - Raspberry Pi 3 / Pi 4 - VControl300 mit VITOVALOR 300P - SMAEM - SMAInverter - DbLog/DbRep - MariaDB/QNAP - div. HTTPMOD - div. Modbus ser+TCP - SolarForecast - Tibber + Ladung mit SMA-SBS25

kask

Warum willst du ein BHKW einbinden? "BlockHeizKraftWerk"!
Oder meinst du ein BKW "Balkonkraftwerk"?

Ein BKW kannst du einbinden. Warum sollte das nicht gehen?

DS_Starter

#275
Hallo zusammen,

in meinem contrib liegt die V 1.17.1.
Enthalten sind folgende Entwicklungen:

- ganz wichtig ... fix CPU Problem !!!
- die OpenMeteoDWD-API ist KI fähig. Die entsprechenden Set/Get-Befehle sind verfügbar.
  In dem Zusammenhang wurde die KI Raw Datenstruktur zw. DWD und OpenMeteoDWD-API harmonisiert.
- neues Attribut "ctrlAIshiftTrainStart". Damit kann man die Tainingszeit der KI in eine gewünschte Stunde
  legen (default: 1). Das Attr ist ein "Abfallprodukt" der Fehlersuche, aber praktisch zu gebrauchen.
- die Spezialaktivitäten in der Zeit 00-01 wurden besser geclustert um die Belastung zu dieser Zeit
  besser zu verteilen. (Auch ein Ergebnis des Bugfix)


Wen die Ursache des CPU Problems interessiert...
Man sollte eine Schleife NICHT so bauen wenn man eine next-Bedingung prüft:
      my $k = 0;
      while ($jdata->{hourly}{time}[$k]) {           
          ($err, my $pvtmstr) = timestringUTCtoLocal ($name, $jdata->{hourly}{time}[$k], '%Y-%m-%dT%H:%M');         
          ......
          ......
          next if(timestringToTimestamp($pvtmstr) < $refts);
          ......
          ......
          $k++;
      }

Sondern in der Next-Bedingung auch die Erhöhung des Schleifenzählers nicht vergessen:
      my $k = 0;
      while ($jdata->{hourly}{time}[$k]) {           
          ($err, my $pvtmstr) = timestringUTCtoLocal ($name, $jdata->{hourly}{time}[$k], '%Y-%m-%dT%H:%M');
          ......
          ......
          if (timestringToTimestamp($pvtmstr) < $refts) {
              $k++;
              next;   
          }
          ......
          ......
          $k++;
      }

Leicht zu erkennen wenn man es einmal gefunden hat.  ;)

Nach dem Download FHEM Restart nicht vergessen!

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

kask

die OpenMeteoDWD-API ist KI fähigdafür muß man doch den pvCorrectionFactor_Auto auf "on_complex_ai" stellen, oder?

300P

Zitat von: kask am 27 März 2024, 17:48:54die OpenMeteoDWD-API ist KI fähigdafür muß man doch den pvCorrectionFactor_Auto auf "on_complex_ai" stellen, oder?

Laut Hinweisen zum Attr :

Model OpenMeteoDWDAPI:
[s]Die empfohlene Autokorrekturmethode ist on_complex.[/s]


mmmh das ergibt leider in der Anzeige aber einen Hinweis :



FHEM 6.3 - Raspberry Pi 3 / Pi 4 - VControl300 mit VITOVALOR 300P - SMAEM - SMAInverter - DbLog/DbRep - MariaDB/QNAP - div. HTTPMOD - div. Modbus ser+TCP - SolarForecast - Tibber + Ladung mit SMA-SBS25

DS_Starter

#278
Zitatdafür muß man doch den pvCorrectionFactor_Auto auf "on_complex_ai" stellen, oder?
Wenn man die Ergebnisse/Antworten der KI nutzen will, ja.
Aber die muß erst noch trainieren.

Zur Zeit / zu Beginn ist der Trainigszustand nicht/kaum vorhanden -> on_complex nutzen.
on_complex_ai geht jetzt natürlich auch, wird aber noch nichts bringen.

EDIT: die Hilfe zum Set pvCorrectionFactor_Auto passe ich an! -> Update liegt im contrib
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

kask

Ich muß für mein Verständniss jetzt noch einmal nachfragen.

Bei on_simpel/on_complex läuft der Decissiontree(ki) immer mit bzw. lernt.
Bei "_ai" wird der KI-Wert genommen. Dann läuft das sozusagen autonom?

Edit:
Noch eine Frage.
was sagt mir folgendes?
Zitat2024.03.27 18:31:04.067 5: DWD: ProcessAlerts: parsing XML document

DS_Starter

Die OpenMeteo-API war bei mir heute auch wieder sehr überzeugend.
Interessant ist der Unterschied in der Wetterprognose zwischen OpenMeteo-API und DWD (MOSMIX_S).
Bin gespannt wer morgen Recht hat bzw näher an der Realität sein wird.  ;)

Ich habe übrigends noch 2 Fakts vergessen:

- bei OpenMeteo-API wird nicht nur die Wettervorhersage, sondern auch die aktuelle Bewölkung und der Wettercode der aktuellen Stunde genutzt.
- das Standard Wettermodel der OpenMeteo-API ist jetzt "DWD ICON Seamless". Seamless kombiniert alle Modelle eines bestimmten Anbieters (hier DWD) zu einer nahtlosen Vorhersage. Genutzt für den Mix wird DWD ICON D2, DWD ICON EU, DWD ICON Global.

Ich habe noch vor das Modell "Best match" mit anzubieten. Best Match bietet die beste Vorhersage für jeden beliebigen Ort weltweit.
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

#281
ZitatBei on_simpel/on_complex läuft der Decissiontree(ki) immer mit bzw. lernt.
Ja, alle Varianten (simple, complex, KI) werden pro Stunde kalkuliert und gespeichert unabhängig davon ob sie momentan genutzt werden.
Sobald eine Variante ausgewählt wird, erfolgt durch das System die entsprechende Auswahl/Kalkulation des Forecast.
Man kann mit dem Setter pvCorrectionFactor_Auto  dynamisch (z.B. bei bestimmten Bedingungen) zwischen den Verfahren umschalten. Kein Problem.

ZitatBei "_ai" wird der KI-Wert genommen. Dann läuft das sozusagen autonom?
Ein bisschen mehr.
Die Ki wird abgefragt. Liefert sie keinen Wert, wird auch noch mit einer Streuung um den Strahlungswert herum abgefragt und eine Näherung ermittelt.
Alle gelieferten KI Werte werden mit der jeweiligen API-Prognose verglichen. Ist die Abweichung nicht höher als ein von mir definierter Schwellenwert, wird die KI-Prognose verwendet, anderenfalls die API-Prognose.

Insbsondere in der Anfangszeit kam/kommt es vor dass die KI starke Ausreißer zeigt. Das Verfahren soll das verhindern.
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

ZitatDWD: ProcessAlerts: parsing XML document
Ist aus dem DWD Modul und sagt dass der Step "Durchsuchen der MOSMIX Datei" läuft. Mehr nicht.
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

Vllt. noch ein interessanter Hinweis.
Vergleicht man zwei SF-Devices, eins mit Attr ctrlWeatherDev1=OpenMeteoDWD-API und das zweite mit ctrlWeatherDev1=DWD, ergeben sich für Rad1h in der Übersicht "get ... solApiData" voneinander abweichende Werte für die gleiche Anlage.
Das ist kein Fehler, sondern folgt daraus dass DWD Globalstrahlung (GI) liefert und OpenMeteo die Global Tilted Irradiance (GTI), also die Globalstrahlung auf die geneigten Kollektoren. Diese Werte wirde aus den Angaben (moduleAzimuth, moduleDeclination) übermittelt.

Ich denke noch darüber nach wie ich den Speicher anpassen kann, damit beim Wechsel der Wetter-API die gelernten Werte der KI auch auf das andere Modell passen.
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

kask

Ich vermute das ist nicht so trivial lösbar. Da die Werte sich bei jeder Anlagen unterscheiden werden.
Man könnte eventuell dev2 mit einem dwd device füttern und korrektur faktoren dafür hinterlegen zum lernen.
Nach ein paar Tagen lernen sollten die Korrekturfaktoren eventuell übernommen werden können für eine umschaltung zwischen beiden.
Ich denke ein umschalten ohne lernen (mit festen parametern zur umrechnung) wird nicht funktionieren.