Leistungsprognose für Wechselrichter

Begonnen von ch.eick, 18 Januar 2021, 08:35:46

Vorheriges Thema - Nächstes Thema

DS_Starter

Du must ja nicht alles auf einmal machen.
Vom System her werden die Schlüssel "con" über die Tage aufsummiert und daraus der Durchschnitt als wahrscheinliche Vorhersage für den nächsten Tag verwendet.
Es gibt auch noch ein Attr um nur gleiche Wochentage zu betrachten, aber das ist nur eine Feinheit.
Du kannst dir also die Tage in "99" anschauen und "con" auf unsinnige Werte prüfen. Spätestens nach 31 Tagen werden die Werte sowieso gelöscht.
"con" kann mal sehr hoch sein wenn man einen Fehler beim Setup gemacht hat, oder es gibt tatsächlich mal so hohe Verbräuche weil z.B. ein E-Auto geladen wurde.
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

ambiman

Hallo Heiko,

bei dem - bei uns der Region aber wahrscheinlich auch nationalen - sonnigen Wetter dieser Tage frage ich mich, ob es nicht sinnvoll wäre das ConsumerPlanning über die 4 Stunden hinweg einzuplanen - zumindest eine Option dies pro Consumer zu definieren wäre schick - was meinst du ?

Danke und beste Grüße,

ambiman

DS_Starter

Zitat
.... ob es nicht sinnvoll wäre das ConsumerPlanning über die 4 Stunden hinweg einzuplanen - zumindest eine Option dies pro Consumer zu definieren wäre schick - was meinst du ?
was / wie meinst du das genau ? welche 4 Stunden ?
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

ambiman

Bei mir werden die Consumer immer für maximal 4 Stunden (heute bspw. 09:02:06 - 13:03:38 Uhr) eingeplant, obwohl der Forecast heute bspw. für die Stunden 13/14/15 auf dem Maximum vom 10100Wh prognostiziert wurde.

DS_Starter

Naja, kommt darauf an wann der Forecast dieses Maximum erzeugt. Will damit sagen, der Forecast verschiebt sich durchaus wenn die Datenquellen (DWD, SolCast) es vorgeben. Auch mal (leider) nach vorn und man ist schon drüber.
Die Planung erfolgt zur Zeit immer eine halbe oder eine Stunde (weiß es addhoc nicht so genau) vor Sonnenaufgang.
Möglicherweise, das überlege ich mir momentan gerade aus anderen Gründen, wäre es clever die Planung erst dann zu machen, wenn man das Automatic-Reading (quasi das Startsignal) von Off auf On schaltet aber frühestens eine Stunde vor Sonnenaufgang wenn es am aktuellen Tag schon on ist (weil man es nicht schaltet z.Beispiel).

Dann nämlich würde man direkt in das kommende Maximum hineinplanen können sofern es nicht schon vorbei ist.

Stand heute macht man einfach ein "set ... reset consumerPlanning XX" um die Einplanung neu vornehmen zu lassen wenn man das möchte/braucht.
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

ambiman

Hallo Heiko,

danke für die schnelle Rückmeldung.
Ich schaue mir das Morgen auch nochmal an - aktuell sieht es auch hier extrem gut aus im Forecast (siehe Anhang).
Heute wurde wie folgt geplant:

2023.02.08 07:20:36.005 3: PV_Forecast - Consumer "Shelly_Plug_S_2" planned: 2023-02-08 09:00:00 - 2023-02-08 13:00:00

Für morgen würde ich eigentlich erwarten das er von ca. 9 - 16 Uhr plant.
Heute war der Forecast ähnlich gut und er hat wie gesagt nur für 9-13 Uhr geplant.

VG,

ambiman

DS_Starter

Die Einplanung ist von etlichen Faktoren abhängig.
Tipp: setze dir das Attr ctrlDebug = consumerPlanning

Dann siehst du im Log einen detaillierten Hergang des Planungsvorganges etwa so:


2023.02.08 07:30:59.106 1: SolCast DEBUG> Planning consumer "02" - name: tplink.plug1 alias: Ladestation Bad
2023.02.08 07:30:59.106 1: SolCast DEBUG> consumer "02" - Consider consumption forecast in consumer planning: no
2023.02.08 07:30:59.107 1: SolCast DEBUG> consumer "02" - epiece1: 10.00
2023.02.08 07:30:59.108 1: SolCast DEBUG> consumer "02" - mode: must, mintime: 300, relevant method: max
2023.02.08 07:30:59.108 1: SolCast DEBUG> consumer "02" - surplus: 4972, starttime: 2023-02-09 11:00:00, nexthour: 28, today: 0
2023.02.08 07:30:59.108 1: SolCast DEBUG> consumer "02" - surplus: 4774, starttime: 2023-02-08 11:00:00, nexthour: 4, today: 1
2023.02.08 07:30:59.108 1: SolCast DEBUG> consumer "02" - surplus: 4756, starttime: 2023-02-08 10:00:00, nexthour: 3, today: 1
2023.02.08 07:30:59.109 1: SolCast DEBUG> consumer "02" - surplus: 4642, starttime: 2023-02-09 12:00:00, nexthour: 29, today: 0
2023.02.08 07:30:59.109 1: SolCast DEBUG> consumer "02" - surplus: 4555, starttime: 2023-02-08 12:00:00, nexthour: 5, today: 1
2023.02.08 07:30:59.109 1: SolCast DEBUG> consumer "02" - surplus: 3480, starttime: 2023-02-09 09:00:00, nexthour: 26, today: 0
2023.02.08 07:30:59.110 1: SolCast DEBUG> consumer "02" - surplus: 3089, starttime: 2023-02-08 09:00:00, nexthour: 2, today: 1
2023.02.08 07:30:59.110 1: SolCast DEBUG> consumer "02" - surplus: 2568, starttime: 2023-02-09 16:00:00, nexthour: 33, today: 0
2023.02.08 07:30:59.110 1: SolCast DEBUG> consumer "02" - surplus: 2345, starttime: 2023-02-08 16:00:00, nexthour: 9, today: 1
2023.02.08 07:30:59.110 1: SolCast DEBUG> consumer "02" - surplus: 1652, starttime: 2023-02-09 08:00:00, nexthour: 25, today: 0
2023.02.08 07:30:59.111 1: SolCast DEBUG> consumer "02" - surplus: 1168, starttime: 2023-02-08 08:00:00, nexthour: 1, today: 1
2023.02.08 07:30:59.111 1: SolCast DEBUG> consumer "02" - surplus: 125, starttime: 2023-02-09 07:00:00, nexthour: 24, today: 0
2023.02.08 07:30:59.111 1: SolCast DEBUG> consumer "02" - surplus: 17, starttime: 2023-02-08 07:00:00, nexthour: 0, today: 1
2023.02.08 07:30:59.112 1: SolCast DEBUG> consumer "02" - surplus: 1, starttime: 2023-02-09 15:00:00, nexthour: 32, today: 0
2023.02.08 07:30:59.112 1: SolCast DEBUG> consumer "02" - surplus: 0, starttime: 2023-02-09 23:00:00, nexthour: 40, today: 0
2023.02.08 07:30:59.112 3: SolCast - Consumer "Ladestation Bad" planned: 2023-02-08 09:00:00 - 2023-02-08 14:00:00


Das kann man dann auswerten/analysieren.
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

ambiman

Zitat von: DS_Starter am 08 Februar 2023, 16:06:00
Tipp: setze dir das Attr ctrlDebug = consumerPlanning

Ist gesetzt, ich werde Morgen berichten :-)

neodee

Ich hab das Modul nun auch einige Tage am laufen. Vielen Dank für die großartige Arbeit!

Aktuell habe ich beim Wert Abweichung noch eine recht große Prozent Zahl stehen und bin nicht sicher wie die errechnet wird. Ich hatte heute mal die Autokorrektur auf an gestellt weil ich dachte das es damit zusammenhängt. Hab ich irgendwo noch was eventuell falsch definiert? Die Prognose weicht in den Spitzen um etwa 7% ab.

Grüße


ambiman

Zitat von: ambiman am 08 Februar 2023, 16:08:05
Ist gesetzt, ich werde Morgen berichten :-)

Wurde nun doch übermorgen, aber hier die INformationen:

Einmal von gestern (09.02.23):

2023.02.09 07:18:46.685 1: PV_Forecast DEBUG> Planning consumer "01" - name: Shelly_Plug_S_2
2023.02.09 07:18:46.685 1: PV_Forecast DEBUG> consumer "01" - Consider consumption forecast in consumer planning: no
2023.02.09 07:18:46.694 1: PV_Forecast DEBUG> consumer "01" - epiece1: 750.00
2023.02.09 07:18:46.695 1: PV_Forecast DEBUG> consumer "01" - mode: can, mintime: 240, relevant method: surplus
2023.02.09 07:18:46.696 1: PV_Forecast DEBUG> consumer "01" - surplus expected: 634, starttime: 2023-02-09 08:00:00, nexthour: 1, today: 1
2023.02.09 07:18:46.696 1: PV_Forecast DEBUG> consumer "01" - surplus expected: 3374, starttime: 2023-02-09 09:00:00, nexthour: 2, today: 1
2023.02.09 07:18:46.696 1: PV_Forecast DEBUG> consumer "01" - surplus expected: 6754, starttime: 2023-02-09 10:00:00, nexthour: 3, today: 1
2023.02.09 07:18:46.696 1: PV_Forecast DEBUG> consumer "01" - surplus expected: 10100, starttime: 2023-02-09 14:00:00, nexthour: 7, today: 1
2023.02.09 07:18:46.696 1: PV_Forecast DEBUG> consumer "01" - surplus expected: 9706, starttime: 2023-02-09 15:00:00, nexthour: 8, today: 1
2023.02.09 07:18:46.696 1: PV_Forecast DEBUG> consumer "01" - surplus expected: 6470, starttime: 2023-02-09 16:00:00, nexthour: 9, today: 1
2023.02.09 07:18:46.696 1: PV_Forecast DEBUG> consumer "01" - surplus expected: 642, starttime: 2023-02-09 17:00:00, nexthour: 10, today: 1
2023.02.09 07:18:46.697 1: PV_Forecast DEBUG> consumer "01" - surplus expected: 106, starttime: 2023-02-10 08:00:00, nexthour: 25, today: 0
2023.02.09 07:18:46.697 1: PV_Forecast DEBUG> consumer "01" - surplus expected: 711, starttime: 2023-02-10 09:00:00, nexthour: 26, today: 0
2023.02.09 07:18:46.697 1: PV_Forecast DEBUG> consumer "01" - surplus expected: 1466, starttime: 2023-02-10 10:00:00, nexthour: 27, today: 0
2023.02.09 07:18:46.697 1: PV_Forecast DEBUG> consumer "01" - surplus expected: 3252, starttime: 2023-02-10 11:00:00, nexthour: 28, today: 0
2023.02.09 07:18:46.697 1: PV_Forecast DEBUG> consumer "01" - surplus expected: 3342, starttime: 2023-02-10 12:00:00, nexthour: 29, today: 0
2023.02.09 07:18:46.697 1: PV_Forecast DEBUG> consumer "01" - surplus expected: 3397, starttime: 2023-02-10 13:00:00, nexthour: 30, today: 0
2023.02.09 07:18:46.697 1: PV_Forecast DEBUG> consumer "01" - surplus expected: 2563, starttime: 2023-02-10 14:00:00, nexthour: 31, today: 0
2023.02.09 07:18:46.697 1: PV_Forecast DEBUG> consumer "01" - surplus expected: 1948, starttime: 2023-02-10 15:00:00, nexthour: 32, today: 0
2023.02.09 07:18:46.698 1: PV_Forecast DEBUG> consumer "01" - surplus expected: 817, starttime: 2023-02-10 16:00:00, nexthour: 33, today: 0
2023.02.09 07:18:46.698 1: PV_Forecast DEBUG> consumer "01" - surplus expected: 86, starttime: 2023-02-10 17:00:00, nexthour: 34, today: 0
2023.02.09 07:18:46.698 1: PV_Forecast DEBUG> consumer "01" - surplus expected: 0, starttime: 2023-02-10 23:00:00, nexthour: 40, today: 0
2023.02.09 07:18:46.701 3: PV_Forecast - Consumer "Shelly_Plug_S_2" planned: 2023-02-09 09:00:00 - 2023-02-09 13:00:00


Hier hätte ich erwartet, das er von 9-16:00 Uhr plant. Das Ergebnis ist (eben diese 4 Stunden - hängt das mit der mintime zusammen ?) 9-13 uhr.

Für Heute (10.02.23) sieht es wie folgt aus:


2023.02.10 07:17:29.275 1: PV_Forecast DEBUG> consumer "01" - Consider consumption forecast in consumer planning: no
2023.02.10 07:17:29.282 1: PV_Forecast DEBUG> consumer "01" - epiece1: 750.00
2023.02.10 07:17:29.284 1: PV_Forecast DEBUG> consumer "01" - mode: can, mintime: 240, relevant method: surplus
2023.02.10 07:17:29.284 1: PV_Forecast DEBUG> consumer "01" - surplus expected: 198, starttime: 2023-02-10 08:00:00, nexthour: 1, today: 1
2023.02.10 07:17:29.284 1: PV_Forecast DEBUG> consumer "01" - surplus expected: 1100, starttime: 2023-02-10 09:00:00, nexthour: 2, today: 1
2023.02.10 07:17:29.284 1: PV_Forecast DEBUG> consumer "01" - surplus expected: 1973, starttime: 2023-02-10 10:00:00, nexthour: 3, today: 1
2023.02.10 07:17:29.284 1: PV_Forecast DEBUG> consumer "01" - surplus expected: 4930, starttime: 2023-02-10 11:00:00, nexthour: 4, today: 1
2023.02.10 07:17:29.284 1: PV_Forecast DEBUG> consumer "01" - surplus expected: 6883, starttime: 2023-02-10 12:00:00, nexthour: 5, today: 1
2023.02.10 07:17:29.284 1: PV_Forecast DEBUG> consumer "01" - surplus expected: 6853, starttime: 2023-02-10 13:00:00, nexthour: 6, today: 1
2023.02.10 07:17:29.285 1: PV_Forecast DEBUG> consumer "01" - surplus expected: 4190, starttime: 2023-02-10 14:00:00, nexthour: 7, today: 1
2023.02.10 07:17:29.285 1: PV_Forecast DEBUG> consumer "01" - surplus expected: 2451, starttime: 2023-02-10 15:00:00, nexthour: 8, today: 1
2023.02.10 07:17:29.285 1: PV_Forecast DEBUG> consumer "01" - surplus expected: 799, starttime: 2023-02-10 16:00:00, nexthour: 9, today: 1
2023.02.10 07:17:29.285 1: PV_Forecast DEBUG> consumer "01" - surplus expected: 86, starttime: 2023-02-10 17:00:00, nexthour: 10, today: 1
2023.02.10 07:17:29.285 1: PV_Forecast DEBUG> consumer "01" - surplus expected: 97, starttime: 2023-02-11 08:00:00, nexthour: 25, today: 0
2023.02.10 07:17:29.285 1: PV_Forecast DEBUG> consumer "01" - surplus expected: 634, starttime: 2023-02-11 09:00:00, nexthour: 26, today: 0
2023.02.10 07:17:29.285 1: PV_Forecast DEBUG> consumer "01" - surplus expected: 1361, starttime: 2023-02-11 10:00:00, nexthour: 27, today: 0
2023.02.10 07:17:29.285 1: PV_Forecast DEBUG> consumer "01" - surplus expected: 3091, starttime: 2023-02-11 11:00:00, nexthour: 28, today: 0
2023.02.10 07:17:29.286 1: PV_Forecast DEBUG> consumer "01" - surplus expected: 3171, starttime: 2023-02-11 12:00:00, nexthour: 29, today: 0
2023.02.10 07:17:29.286 1: PV_Forecast DEBUG> consumer "01" - surplus expected: 2964, starttime: 2023-02-11 13:00:00, nexthour: 30, today: 0
2023.02.10 07:17:29.286 1: PV_Forecast DEBUG> consumer "01" - surplus expected: 1916, starttime: 2023-02-11 14:00:00, nexthour: 31, today: 0
2023.02.10 07:17:29.286 1: PV_Forecast DEBUG> consumer "01" - surplus expected: 1341, starttime: 2023-02-11 15:00:00, nexthour: 32, today: 0
2023.02.10 07:17:29.286 1: PV_Forecast DEBUG> consumer "01" - surplus expected: 474, starttime: 2023-02-11 16:00:00, nexthour: 33, today: 0
2023.02.10 07:17:29.286 1: PV_Forecast DEBUG> consumer "01" - surplus expected: 64, starttime: 2023-02-11 17:00:00, nexthour: 34, today: 0
2023.02.10 07:17:29.286 1: PV_Forecast DEBUG> consumer "01" - surplus expected: 0, starttime: 2023-02-11 23:00:00, nexthour: 40, today: 0
2023.02.10 07:17:29.289 3: PV_Forecast - Consumer "Shelly_Plug_S_2" planned: 2023-02-10 09:00:00 - 2023-02-10 13:00:00


Auch hier hätte ich erwartet: 9-16 Uhr und es wurde wieder von 9-13 Uhr geplant.

Danke und VG,

ambiman

DS_Starter

Zitat
Das Ergebnis ist (eben diese 4 Stunden - hängt das mit der mintime zusammen ?)
Genauso ist es. mintime ist die Planungsgrundlage wie lange der Verbraucher geplant werden soll.
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

@neodee,

die hohe Abweihung kommt zustande, weil es wohl bei dir keine Messung der tatsächlichen Erzeugung gibt ?
Zumindest sieht man in deiner Grafik keinerlei Erzeugungsbalken.
Die Abweichung ist dann der prozentuale Wert der Tagesschätzung zu realer Tageserzeugung (bei dir wohl 0).
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

ambiman

Hallo Heiko,

danke für die Rückmeldung.

Das mit der mintime finde ich etwas misleading.. ich würde es so interepretieren, das der Consumer mindestens 4 Stunden
laufen muss und nicht das dies das Maximum darstellt - somit wäre meine Erwartungshaltung, das ohne Angabe dieses Parameters die maximal mögliche Zeit eingeplant wird. Ich habe mintime bei meinem Consumer bspw. gar nicht gesetzt:


consumer01 Shelly_Plug_S_2 type=heater power=750 mode=can pcurr=power:W etotal=energy:Wh on=on off=off interruptable=1

DS_Starter

Zitat
somit wäre meine Erwartungshaltung, das ohne Angabe dieses Parameters die maximal mögliche Zeit eingeplant wird
Was wäre deiner Meinung nach die maximal mögliche Zeit ?
Oder anders gefragt, anhand welcher Kriterien würdest du die maximal mögliche Zeit enden lassen ?
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

ambiman

Bei mir ist der Consumer ein Elektrokonvektor - der aus dem PV Überschuss Wärme produziert, von daher kann er eigentlich den ganzen Tag (sofern man zu Hause ist -  das wir jedoch über swoncond in Verbindung mit einem userReading geregelt (hatte ich vergessen zu kopieren)) laufen. Ich würde den maximalen Planungszeitraum dann pro Tag zwischen Sunrise und Sunset definieren und anhand der Erzeugungsdaten, das maximale Fenster auswählen.