NEWS
Test PV Forecast Adapter
-
Ich habe mir jetzt mal ein paar Grafiken in Grafana gebastelt um die Genauigkeit der Prognose zu checken. Grün ist die aktuelle Produktion und blau ist die Prognose. Läuft erst seit gestern, bin gespannt. Beispiel links 7 Tage Betrachtung Anlage Süd und rechts dreißig Tage Anlage Ost + West in einer Grafik, da ich bei der keine Einzelerträge habe, sondern beide in einen Zähler speisen.
-
Durch den kompletten Neustart ist der Adapter nun aufgetaucht und ich konnte auch eine Instanz erzeugen, so dass die DP auch vollständig erzeugt wurden.
Muss mir jetzt noch den API-Schlüssel holen und die Daten meiner Ost/West-Anlage eingeben.
Das Verzeichnis
/opt/iobroker/node_modules/iobroker.pvforecast/
existiert bei mir nicht, aber im json steht die von Dir erwähnte Zeile. -
@qqolli Das Verzeichnix muss existieren, sonst gäbe es kein Adpater
Aber wenn er im Admin zu sehen ist, brauchst auch nicht nach dem Verz. suchen.
Der Adapter funktioniert auch ohne API Key. -
Hallo,
habe deinen Adapter jetzt mit Hilfe der Community installiert bekommen, aber:
Nach dem Start bleibt er für eine Weile grün, geht dann aber auf rot.
Sind meine Einstellungen so korrekt?:
Anbei die Fehlermeldungen:
pvforecast.0 2022-01-15 14:12:09.038 error Cannot read property 'val' of null pvforecast.0 2022-01-15 14:12:09.037 error TypeError: Cannot read property 'val' of null at getPV (/opt/iobroker/node_modules/iobroker.pvforecast/main.js:442:37) pvforecast.0 2022-01-15 14:12:09.036 error unhandled promise rejection: Cannot read property 'val' of null pvforecast.0 2022-01-15 14:12:09.035 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). pvforecast.0 2022-01-15 14:12:09.020 error Axios Error Error: Request failed with status code 502 pvforecast.0 2022-01-15 14:11:37.540 error Axios Error Error: Request failed with status code 502 pvforecast.0 2022-01-15 14:03:51.117 error Cannot read property 'val' of null pvforecast.0 2022-01-15 14:03:51.116 error TypeError: Cannot read property 'val' of null at getPV (/opt/iobroker/node_modules/iobroker.pvforecast/main.js:442:37) pvforecast.0 2022-01-15 14:03:51.114 error unhandled promise rejection: Cannot read property 'val' of null pvforecast.0 2022-01-15 14:03:51.114 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). pvforecast.0 2022-01-15 14:03:51.100 error Axios Error Error: Request failed with status code 502 pvforecast.0 2022-01-15 14:03:19.623 error Axios Error Error: Request failed with status code 502 pvforecast.0 2022-01-15 14:02:14.359 error Cannot read property 'val' of null pvforecast.0 2022-01-15 14:02:14.359 error TypeError: Cannot read property 'val' of null at getPV (/opt/iobroker/node_modules/iobroker.pvforecast/main.js:442:37) at runNextTicks (internal/process/task_queues.js:60:5) at processImmediate (internal/timers.js:437:9) pvforecast.0 2022-01-15 14:02:14.357 error unhandled promise rejection: Cannot read property 'val' of null pvforecast.0 2022-01-15 14:02:14.356 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). pvforecast.0 2022-01-15 14:02:14.331 error Axios Error Error: Request failed with status code 502 pvforecast.0 2022-01-15 14:01:42.850 error Axios Error Error: Request failed with status code 502 pvforecast.0 2022-01-15 14:00:52.933 error Axios Error Error: Request failed with status code 502 pvforecast.0 2022-01-15 13:59:46.122 error Cannot read property 'val' of null pvforecast.0 2022-01-15 13:59:46.121 error TypeError: Cannot read property 'val' of null at getPV (/opt/iobroker/node_modules/iobroker.pvforecast/main.js:442:37) pvforecast.0 2022-01-15 13:59:46.119 error unhandled promise rejection: Cannot read property 'val' of null pvforecast.0 2022-01-15 13:59:46.119 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). pvforecast.0 2022-01-15 13:59:46.107 error Axios Error Error: Request failed with status code 502 pvforecast.0 2022-01-15 13:59:14.626 error Axios Error Error: Request failed with status code 502
-
-
-
@joergh Bin ich auch gespannt, bei einigen passt es Wohl, bei anderen nicht.
Leider hole ich die Daten auch nur vom Server und kann diese nicht ändern oder korrigieren.
Was wir aber gemerkt haben (baue ich gerade ein), die Progrnose kann sich am Tag mehrmals ändern.
-
@patrickwalther Vielleicht genügt es ja schon einen Korrekturfaktor anzusetzen um näher an die realen Werte zu kommen, dazu muss ich ihn halt mal ermitteln. Dauert jetzt wohl ein paar Monate bis ich einen Überblick habe.
-
@joergh
Ich logge die Werte schon seit 3.12.2021 und das sieht dann so aus:EIn Korrekturfaktor hilft da wenig, weil es zu durchwachsen ist. Solange man nicht mal die Quelle für die Wetterdaten von forecase solar kennt. Knut hat mir auf 2 Anfragen in discord leider bis heute nie geantwortet.
-
@diginix Wenn ich mir das so ansehe, dann könnte man zumindest Faktor 0,5-0,6 mal ansetzen und läge wohl näher an der Realität. Es ist natürlich auch nur eine Prognose und ich erwarte da keine allzu große Präzision, auch wenn es schön wäre. Solange unsere Wetterleute keine präzisen Voraussagen liefern können, wird da ja immer etwas ungenau sein...
-
@joergh Man muss dazu sagen, dass ich ohne API Key arbeite und nicht weiß, ob die Prognosen mit besser wäre. Die Korrektur lässt sich einfach auch ohne separaten Faktor durch Reduzierung der kWp in der Instanz lösen. Ich habe bei mir nun mal nur 80% meiner realen kWp eingetragen und schaue wie sich das die nächsten Wochen verhält.
-
Gerade bei bewölktem Wetter und Nebel ist die Prognose sehr ungenau, wird aber auch schwierig sein. Pauschale Korrekturen muss wohl jeder für sich finden. Bei mir passt es meistens, liegt aber auch manchmal komplett daneben. Morgen soll es hier bewölkt sein, heute maximale Sonnenstunden. Ich glaube nicht, dass wir morgen mehr Ertrag haben als heute, lt Prognose schon.
Ansonsten habe ich aktuell ein eigenes Skript laufen, welches den Adapter einmal pro Stunde neustartet, um so aktuellere Werte zu bekommen. Dabei fällt auf, dass die API ab und zu nicht erreichbar ist. Ich hatte auch schon Fälle, dass für Anlage 0 und 1 was drin stand, summary aber auf 0 war.
Hier noch Realwerte und Prognose von diesem Monat:
-
@sputnik24 Da kommt bald ein Update.
Gibt es bei deinem Fall Fehlermeldungen?
-
@sputnik24 Die Frage ist ja auch, ob vielleicht die Änderung des Ausrichtungswinkels der Anlage bessere Prognoseergebnisse bringt oder die Neigung der Panele oder ob eine pauschale Korrektur reicht....müsste man sich über den Tagesverlauf halt genauer ansehen.
-
@patrickwalther said in Test PV Forecast Adapter:
@sputnik24 Da kommt bald ein Update.
Gibt es bei deinem Fall Fehlermeldungen?
Unterschiedlich. Mein Script startet den Adapter zwischen 6:01 und 18:01 jede Stunde neu. Gestern kam bei mir auch der Axios Error. Man sieht, wie oft die API nicht erreichbar ist. Ich stell mal das Log-Level noch auf debug und berichte hier, sobald ich das wieder beobachte, dass Anlage 1 und 2 befüllt sind, summary aber 0 ist.
2022-01-15 04:01:31.584 - error: pvforecast.0 (11998) Axios Error Error: Request failed with status code 502 2022-01-15 11:02:35.977 - error: pvforecast.0 (32085) Axios Error Error: Request failed with status code 502 2022-01-15 12:01:45.301 - error: pvforecast.0 (2875) Axios Error Error: Request failed with status code 502 2022-01-15 13:01:43.747 - error: pvforecast.0 (5970) Axios Error Error: Request failed with status code 502 2022-01-15 14:01:43.619 - error: pvforecast.0 (9062) Axios Error Error: Request failed with status code 502 2022-01-15 17:01:43.899 - error: pvforecast.0 (18347) Axios Error Error: Request failed with status code 502
@joergh said in Test PV Forecast Adapter:
@sputnik24 Die Frage ist ja auch, ob vielleicht die Änderung des Ausrichtungswinkels der Anlage bessere Prognoseergebnisse bringt oder die Neigung der Panele oder ob eine pauschale Korrektur reicht....müsste man sich über den Tagesverlauf halt genauer ansehen.
Wie gesagt, es gibt Tage, da passt es gut, es gibt Tage, da ist es zu viel, es gibt Tage, da ist es zu wenig. Daran wird sich durch eine Optimierung nichts ändern, höchstens im statistischen Mittel, aber dafür müsste man die Werte länger aufzeichnen und vergleichen. Am Ende geht's sollte es auch nicht um den exakten Wert, sondern die Tendenz geht, wenn man den Wert für Automatisierungslösungen braucht. Was halt nervt, sind Tage, wo die Prognose wirklich um den Faktor 2 und mehr daneben liegt, wie bei mir Beispiel 4.1. dieses Jahr: Prognose 6,7 kWh, real waren es 2 kWh.
Was ich machen musste, war die Kurve vom Tagesverlauf um eine halbe Stunde zu verschieben, da das Maximum nicht gepasst hat, was ich schon komisch finde. Den Zeitpunkt vom Sonnenhöchststand sollte er doch genau kennen. Dachte zuerst an eine Stunde wg. 1 h zu GMT, aber das passte auch nicht:
Prognosekurve Rohdaten:
Verschoben um +30 min:
-
Wie gesagt, es gibt Tage, da passt es gut, es gibt Tage, da ist es zu viel, es gibt Tage, da ist es zu wenig. Daran wird sich durch eine Optimierung nichts ändern, höchstens im statistischen Mittel, aber dafür müsste man die Werte länger aufzeichnen und vergleichen. Am Ende geht's sollte es auch nicht um den exakten Wert, sondern die Tendenz geht, wenn man den Wert für Automatisierungslösungen braucht. Was halt nervt, sind Tage, wo die Prognose wirklich um den Faktor 2 und mehr daneben liegt, wie bei mir Beispiel 4.1. dieses Jahr: Prognose 6,7 kWh, real waren es 2 kWh.
Zu viel ist weniger mein Problem, zu wenig schon eher, da ich die Prognose nutzen will zu entscheiden ob ich warte bis mehr Ertrag kommt oder eben gleich Dinge ausführen lasse, da keine Besserung in Sicht. Die Frage ist halt, ob ein Zusammenhang erkennbar ist oder weitere Korrelationen hergestellt werden können, z.B. wenn der Wetterbericht Bewölkung vorhersagt, dann prognosiiziert er im Mittel 37% zu viel. Das kann man dann mit im eigenen Kombimodell berücksichtigen. Das sieht man aber nicht in wenigen Tagen. Vielleicht stellt sich auch raus, dass das so unzuverlässig ist, dass das alles nichts bringt - kann auch ein Ergebnis sein, dann muss ich was anderes suchen.
Was ich machen musste, war die Kurve vom Tagesverlauf um eine halbe Stunde zu verschieben, da das Maximum nicht gepasst hat, was ich schon komisch finde. Den Zeitpunkt vom Sonnenhöchststand sollte er doch genau kennen. Dachte zuerst an eine Stunde wg. 1 h zu GMT, aber das passte auch nicht:
Das ist ja schonmal eine interessante Beobachtung!
-
@patrickwalther Hallo, erstmal danke für den Adapter.
Ich habe ihn installiert, bekomme ihn aber nicht gestartet. Es gibt immer eine Fehlermeldung und die Instanz wird nicht rot.
pvforecast.0 2022-01-21 17:27:21.532 warn Terminated (UNCAUGHT_EXCEPTION): Without reason pvforecast.0 2022-01-21 17:27:21.529 info terminating pvforecast.0 2022-01-21 17:27:21.502 error Cannot read properties of null (reading 'val') pvforecast.0 2022-01-21 17:27:21.501 error TypeError: Cannot read properties of null (reading 'val') at getPV (/opt/iobroker/node_modules/iobroker.pvforecast/main.js:442:37) pvforecast.0 2022-01-21 17:27:21.499 error unhandled promise rejection: Cannot read properties of null (reading 'val') pvforecast.0 2022-01-21 17:27:21.498 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). pvforecast.0 2022-01-21 17:27:21.464 error Axios Error Error: connect ECONNREFUSED 2a01:4f8:211:55d::2:443 pvforecast.0 2022-01-21 17:27:20.866 info Plant1 -> tilt: 35 Azimuth: 5 Plant-performance: 4 plant name: PV pvforecast.0 2022-01-21 17:27:20.865 info urls: https://api.forecast.solar/8b8a7c80xxxxxx/estimate/52/7/35/5/4 pvforecast.0 2022-01-21 17:27:20.863 info Längengrad: 7 Breitengrad: 52 pvforecast.0 2022-01-21 17:27:20.802 info starting. Version 0.1.5 in /opt/iobroker/node_modules/iobroker.pvforecast, node: v17.0.1, js-controller: 3.2.16 host.raspberrypi 2022-01-21 17:27:17.533 info instance system.adapter.pvforecast.0 started with pid 8714
Sind meine Einstellungen noch nicht richtig? Ich habe sie auch mit richtigen Geokordinaten ausprobiert. Für diese Frage habe ich die API mit xxxx gekürzt.
Die Datenpunkte wurden angelegt, sind aber nicht gefüllt.Danke vorab,
Udo -
@tudo sagte in Test PV Forecast Adapter:
node: v17.0.1
Das liegt an deiner falschen Node Version ( bzw. ist wohl schief dein System !?) ... empfohlen ist 14
-
@glasfaser Danke, das wars. Ich bin nicht richtig fit bei dem Kram. Wahrscheinlich habe ich mal irgendwas anderes ausprobiert und deshalb auf v.17 upgedatet. Habe es runtergeschmissen und 14 installiert. Der Adapter läuft jetzt.
Danke! -
@patrickwalther said in Test PV Forecast Adapter:
@sputnik24 Da kommt bald ein Update.
Gibt es bei deinem Fall Fehlermeldungen?
Gestern wieder der Fall, summary hat 0 angezeigt, die beiden Anlagen hatten aber Werte. Hier die Logs. Die paarweise Meldung summary.power_kw: [0,0,0,0,0] und summary.power_kwh: [0,0,0,0,0] kommt fortlaufend jede Minute.
2022-01-21 12:01:03.660 - debug: pvforecast.0 (27391) pvname: Sued,Nord,,, 2022-01-21 12:01:03.660 - debug: pvforecast.0 (27391) ThisUrl https://api.forecast.solar/estimate/xxx/xxx/24/0/5.625 2022-01-21 12:01:35.169 - error: pvforecast.0 (27391) Axios Error Error: Request failed with status code 502 2022-01-21 12:01:35.171 - debug: pvforecast.0 (27391) ThisUrl https://api.forecast.solar/estimate/xxx/xxx/24/180/5.25 2022-01-21 12:02:00.033 - debug: pvforecast.0 (27391) summary.power_kw: [0,0,0,0,0] 2022-01-21 12:02:00.034 - debug: pvforecast.0 (27391) summary.power_kwh : [0,0,0,0,0] 2022-01-21 12:02:06.649 - error: pvforecast.0 (27391) Axios Error Error: Request failed with status code 502 2022-01-21 12:02:06.649 - debug: pvforecast.0 (27391) ThisUrl 2022-01-21 12:02:06.650 - debug: pvforecast.0 (27391) ThisUrl 2022-01-21 12:02:06.650 - debug: pvforecast.0 (27391) ThisUrl 2022-01-21 12:02:06.651 - debug: pvforecast.0 (27391) watts_tag_plants[0]0 2022-01-21 12:02:06.651 - debug: pvforecast.0 (27391) watts_tag_plants[1]0 2022-01-21 12:02:06.651 - debug: pvforecast.0 (27391) watts_tag_plants[2]0 2022-01-21 12:02:06.652 - debug: pvforecast.0 (27391) watts_tag_plants[3]0 2022-01-21 12:02:06.652 - debug: pvforecast.0 (27391) watts_tag_plants[4]0 2022-01-21 12:02:06.652 - debug: pvforecast.0 (27391) watts_tomorrow_plants[0]0 2022-01-21 12:02:06.653 - debug: pvforecast.0 (27391) watts_tomorrow_plants[1]0 2022-01-21 12:02:06.653 - debug: pvforecast.0 (27391) watts_tomorrow_plants[2]0 2022-01-21 12:02:06.653 - debug: pvforecast.0 (27391) watts_tomorrow_plants[3]0 2022-01-21 12:02:06.654 - debug: pvforecast.0 (27391) watts_tomorrow_plants[4]0 2022-01-21 12:02:06.654 - debug: pvforecast.0 (27391) summary.power_day_kWh:0 summary.power_day_tomorrow_kWh: 0 2022-01-21 12:02:06.660 - debug: pvforecast.0 (27391) 1.transfer: success 2022-01-21 12:02:06.660 - debug: pvforecast.0 (27391) 1.place: xxx, xxx, Baden-Württemberg, DE 2022-01-21 12:02:06.672 - debug: pvforecast.0 (27391) 2.transfer: success 2022-01-21 12:02:06.673 - debug: pvforecast.0 (27391) 2.place: xxx, xxx, Baden-Württemberg, DE 2022-01-21 12:02:06.675 - debug: pvforecast.0 (27391) vorübergabe_power_kw[0]: 0 2022-01-21 12:02:06.675 - debug: pvforecast.0 (27391) vorübergabe_power_kw[1]: {"2022-01-21 07:59:00":0,"2022-01-21 08:30:00":180,"2022-01-21 09:00:00":891,"2022-01-21 10:00:00":2265,"2022-01-21 11:00:00":2512,"2022-01-21 12:00:00":2458,"2022-01-21 13:00:00":2489,"2022-01-21 14:00:00":1883,"2022-01-21 15:00:00":1188,"2022-01-21 16:00:00":546,"2022-01-21 17:00:00":145,"2022-01-21 17:05:00":28,"2022-01-21 17:10:00":0,"2022-01-22 07:58:00":0,"2022-01-22 08:29:00":90,"2022-01-22 09:00:00":444,"2022-01-22 10:00:00":679,"2022-01-22 11:00:00":819,"2022-01-22 12:00:00":881,"2022-01-22 13:00:00":828,"2022-01-22 14:00:00":766,"2022-01-22 15:00:00":616,"2022-01-22 16:00:00":389,"2022-01-22 17:00:00":99,"2022-01-22 17:06:00":23,"2022-01-22 17:11:00":0} 2022-01-21 12:02:06.676 - debug: pvforecast.0 (27391) vorübergabe_power_kw[2]: {"2022-01-21 07:59:00":0,"2022-01-21 08:30:00":68,"2022-01-21 09:00:00":352,"2022-01-21 10:00:00":589,"2022-01-21 11:00:00":716,"2022-01-21 12:00:00":752,"2022-01-21 13:00:00":688,"2022-01-21 14:00:00":591,"2022-01-21 15:00:00":496,"2022-01-21 16:00:00":311,"2022-01-21 17:00:00":102,"2022-01-21 17:05:00":21,"2022-01-21 17:10:00":0,"2022-01-22 07:58:00":0,"2022-01-22 08:29:00":68,"2022-01-22 09:00:00":331,"2022-01-22 10:00:00":512,"2022-01-22 11:00:00":618,"2022-01-22 12:00:00":665,"2022-01-22 13:00:00":608,"2022-01-22 14:00:00":575,"2022-01-22 15:00:00":472,"2022-01-22 16:00:00":300,"2022-01-22 17:00:00":79,"2022-01-22 17:06:00":16,"2022-01-22 17:11:00":0} 2022-01-21 12:02:06.676 - debug: pvforecast.0 (27391) vorübergabe_power_kw[3]: 0 2022-01-21 12:02:06.676 - debug: pvforecast.0 (27391) vorübergabe_power_kw[4]: 0 2022-01-21 12:02:06.678 - debug: pvforecast.0 (27391) write zero to everyhour 2022-01-21 12:02:06.679 - debug: pvforecast.0 (27391) plant_d_everyhourfalse,false,false,false,false 2022-01-21 12:03:00.104 - debug: pvforecast.0 (27391) summary.power_kw: [0,0,0,0,0] 2022-01-21 12:03:00.105 - debug: pvforecast.0 (27391) summary.power_kwh : [0,0,0,0,0] 2022-01-21 12:04:00.041 - debug: pvforecast.0 (27391) summary.power_kw: [0,0,0,0,0] 2022-01-21 12:04:00.042 - debug: pvforecast.0 (27391) summary.power_kwh : [0,0,0,0,0] 2022-01-21 12:05:00.035 - debug: pvforecast.0 (27391) summary.power_kw: [0,0,0,0,0] 2022-01-21 12:05:00.036 - debug: pvforecast.0 (27391) summary.power_kwh : [0,0,0,0,0]
Mal abgesehen davon: Frage an alle API Nutzer: Seit guter einer Woche sind die Werte faktisch nicht zu gebrauchen und liegen im Schnitt um den Faktor 2-3 daneben. Ist das bei euch auch so?