Leistungsprognose für Wechselrichter

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

Vorheriges Thema - Nächstes Thema

xerion

Zitat von: DS_Starter am 24 Januar 2021, 20:51:37
Der Hausverbrauch, also der Consumption Wert CO, ist eine reine Anzeigefunktion und hat insofern keinen Einfluß.
Bezüglich Tagesertrag ist das eine gute Frage. Darüber war ich noch garnicht gestolpert weil ich nur einen String mit Südlage habe.
Ich glaube da muß ich mir bald etwas einfallen lassen um dieses Problem zu lösen. In dieser Konstellation würde die Autokorrektur die Korrekturwerte unnötig hochziehen weil die Devices nichts voneinander wissen.
D.h. erstmal ohne Autokorrektur fahren. Ich denke darüber nach wie ich das lösen werde...

Vielleicht wäre es ein besserer Ansatz, dass man einfach mehrere Strings mit unterschiedlichen Winkel und Ausrichtungen in einem Device erstellen könnte. Somit bräuchte ich anstelle von 5 Devices nur noch zwei. Da ich zwei Wechselrichter habe und man dann die Devices pro WR anlegen würden und nicht nach Ausrichtung oder Anzahl der Strings.
Ich würde mich  freuen, wenn du meinen Einladungscode für Tibber, der Stromanbieter, der dir hilft, deinen Stromverbrauch zu verstehen und zu reduzieren, nutzt: https://invite.tibber.com/5fc08jbs. So bekommen wir beide 50 Euro und 100 % Ökostrom / https://geld-fuer-eauto.de/ref/334561880

ch.eick

Zitat von: DS_Starter am 24 Januar 2021, 20:51:37
In dieser Konstellation würde die Autokorrektur die Korrekturwerte unnötig hochziehen weil die Devices nichts voneinander wissen.
D.h. erstmal ohne Autokorrektur fahren. Ich denke darüber nach wie ich das lösen werde...
Hallo Heiko,
vielleicht könntest Du die DC Werte pro String verwenden und den Wirkungsgrad dann später berücksichtigen.

Für die unter Euch, die vergleichen, bei mir werden die Werte für die Ausrichtung als Solar_[East|South|West] ins Device eingetragen, diese kann man dann Loggen und als Plot darstellen,
wodurch man dann erkennt, welche Ausrichtung wann zum Zuge kommt.
Gruß
    Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

ch.eick

#92
Zitat von: xerion am 24 Januar 2021, 21:05:53
Vielleicht wäre es ein besserer Ansatz, dass man einfach mehrere Strings mit unterschiedlichen Winkel und Ausrichtungen in einem Device erstellen könnte. Somit bräuchte ich anstelle von 5 Devices nur noch zwei. Da ich zwei Wechselrichter habe und man dann die Devices pro WR anlegen würden und nicht nach Ausrichtung oder Anzahl der Strings.
Das ist bei mir so implementiert, jedoch braucht Heiko noch etwas Zeit das alles zu implementieren.

Wetter- / Leistungs-Prognose
PV_Anlage_1_config
Bei der Config nur die setstate mit forecast und module eintragen.

Gruß
   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

DS_Starter

ZitatVielleicht wäre es ein besserer Ansatz, dass man einfach mehrere Strings mit unterschiedlichen Winkel und Ausrichtungen in einem Device erstellen könnte.
Ja das ist ja auch das Endziel. Aber gut Ding will Weile haben und ich gehe Stück für Stück voran um die Struktur im Modul nicht zu verlieren und den Überblick zu behalten damit am Ende etwas gutes herauskommt. Momentan ist nur ein String integriert.
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

xerion

Zitat von: DS_Starter am 24 Januar 2021, 21:11:10
Ja das ist ja auch das Endziel. Aber gut Ding will Weile haben und ich gehe Stück für Stück voran um die Struktur im Modul nicht zu verlieren und den Überblick zu behalten damit am Ende etwas gutes herauskommt. Momentan ist nur ein String integriert.

Ja alles gut. Ich bin sowieso sehr stark beindruckt wie schnell ihr beiden hier Support leistet und eine Update nach dem anderen rausploppt. Macht weiter so aber lasst euch nicht hetzen. Gut Ding braucht Weile. Vielen Dank nochmal.
Ich würde mich  freuen, wenn du meinen Einladungscode für Tibber, der Stromanbieter, der dir hilft, deinen Stromverbrauch zu verstehen und zu reduzieren, nutzt: https://invite.tibber.com/5fc08jbs. So bekommen wir beide 50 Euro und 100 % Ökostrom / https://geld-fuer-eauto.de/ref/334561880

ch.eick

#95
Und nochmal ein Bild von heute mit drei Ausrichtungen und da ist noch keine Autokorrektur von Heiko drin ;-) ,
die jedoch bei dem plötzlichen Peak um 14:00 Uhr nichts hätte machen können. Das ist eben Realität, aber mehr Leistung kann ja nie schaden.

Der Peak um 14:00 Uhr hat mir voll das WW mit der LWP unterstützt, das macht dann richtig Spaß.
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

DS_Starter

@Christian,
ja hab schon eine groben Plan wie ich das einbaue.  ;) Aber fürs erste checke ich die nächsten Tage wie sich die heutigen Änderungen machen.

Hast du dir mal die Wege zur Ertragsermittlung in #70 angeschaut ?
Das deckt sich mit meinem bisherigen Verständnis der Materie.
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

ch.eick

#97
Zitat von: DS_Starter am 24 Januar 2021, 15:29:33
so jetzt habe ich nochmal nach Berechnungsgrundlagen im Netz gesucht und bin auf diese Seite gestoßen ing-büro-junge.

Demnach gibt es zwei prinzipielle Formeln nach denen man vorgehen kann. Ist etwa ich der Mitte unter "Prinzip der Ertragsrechnung" beschrieben.
Ich benutze bei mir die Formel 1 -> Mittels der Einzelwirkungsgrade. Dort geht die Modulleistung nicht ein. Dafür die Einzelwirkungsgrade.

Du verwendest m.M. nach die Formel 2 -> Mittels der Perfomance Ratio. Dort geht die Modullleistung ein. Allerdings auch eine Performance Ratio. Ich weiß nicht ob du das irgendwo in deinen Subs verformelt hast.

Aber wichtig ist m.M. nach noch der mittlere Teil (Berücksichtigung der Modul-Ausrichtung). Dort passiert eine Bestimmung des Flächenfaktors der die Globalstrahlung korrigiert. Diesen Flächenfaktor werde ich bei mir erstmal mit einbauen. Ist ein bisschen Arbeit weil aus dem Flächendiagramm zunächst eine Matrix (Hash) zu erstellen ist.
Damit bekommt man dann einen Flächenfaktor mit dem man die Globalstrahlung korrigiert die dann wiederum als Gk in die genannten Formeln eingeht.

Die Wirkung des Flächenfaktors findet man auch hier -> Planung von Ertrag

Die Korrektur der Flächenausrichtung wird bei mir mit Solar_Plane() vorgenommen und stammt ursprünglich von Kölnsolar.
Ich versuche mich mal in die Berechnung, die Du hier angibst reinzudenken.

Als Endanwender stelle ich mir vor, dass es etwas einfacher ist folgender maßen vor zu gehen:
Solarteure sprechen meistens von

- Anzahl Module
- Nennleistung
- Dachneigung
- Ausrichtung


Diejenigen, die Datenblätter lesen kommen eher mit folgenden Werten klar

- Quadratmeter
- Modul Wirkungsgrad
- Inverter Wirkungsgrad
aber es wird ebenfalls folgendes benötigt
- Dachneigung
- Ausrichtung


Ohne bis hierhin Deinen Link gelesen zu haben möchte ich behaupten, Du brauchst nur noch die Ausrichtung mit rein zu nehmen und wir sind auf dem richtigen Weg :-)
Mir wäre es egal, ob ich qm oder Nennleistung angebe.
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

ch.eick

Hallo Heiko,
ich werfe mal kürzere readings Namen in den Ring:

fc[0|1]          0 = heute, 1 = morgen

fc[0|1]_nn    aktuelle Stunde
fc[0|1]_[1|4]h_[|Time|Sum]    nächste Stunde(n)

fc[0|1]_[day|rest|real|PV|SunRise|SunSet]

Configuration eventuell mit einem Prefix
config_*

Wechselrichter Werte mit
PV_*

Das wäre jedoch noch nicht komplett :-(

Gruß
   Christian


RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

DS_Starter

Zitatich werfe mal kürzere readings Namen in den Ring:
Was soll das bringen außer Stunden meiner Lebenszeit zu verbrennen ?  ;)
Sehe keinen Vorteil. Die Namen sind nicht sprechender und nicht lesbarer. Außerdem wegen der Grundlage für die durchlaufende Grafik nur aufwändig änderbar.
Wichtiger ist für mich inhaltlich weiter zu arbeiten und den Support für Multiple Strings einzubauen etc.

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

jual

Auf Grund der letzten Änderung im Modul - Flächenfaktor/Ausrichtung - hätte ich mal eine grundsätzliche Verständnisfrage und oute mich als "Neuling" ;-).

Ich habe mir jetzt für meine beiden Ausrichtungen (Ost/West) direkt mal zwei Devices angelegt. Bis auf die Ausrichtung sind ja eigentlich alle Angaben identisch. Wo ich jedoch einen kleinen Hänger habe, ist die Nutzung des Wechselrichters in Bezug auf etoday. Für die aktuelle PV-Leistung habe ich nun bei meinem SMA WR als Readings nun die Werte SPOT_PDC1 und SPOT_PDC2 für die beiden Strings angegeben. Das scheint auch soweit zu funktionieren.

Müsste ich für den Wert etoday nicht auch eine Trennung auf die beiden Seiten also die beiden Strings vornehmen? Ich bin mir nicht ganz sicher, ob der Wert nur der Anzeige dient oder evtl. auch für die Berechnung des Ausgleichsfaktors heran gezogen wird. Dann müsste ich mir wahrscheinlich mit UserReadings irgendwie selbst die Werte für SPOT_DC1_ETODAY und SPOT_DC2_ETODAY zusammen bauen ?!

Konnte heute noch nicht richtig testen. Hatte noch einen Fehler in meiner Definition und außerdem nahezu den ganzen Tag Schnee auf den Modulen ;(

DS_Starter

ZitatMüsste ich für den Wert etoday nicht auch eine Trennung auf die beiden Seiten also die beiden Strings vornehmen?
Naja, die Sache mit der Verteilung auf je ein Device pro String hinkt gewaltig weil eins vom anderen nichts weiß, etoday aber durch alle strings erbracht wird wobei der jeweilige Anteil zum Zeitpunkt X unbekannt ist.

Ich habe erkannt, dass man in einem Device alle Strings eines Wechselrichters zusammenführen muß um über etoday einen realen Vergleichswert zu haben.
Das ist der nächste Akt um es für den User vernünftig zu supporten.

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

ch.eick

Zitat von: DS_Starter am 25 Januar 2021, 16:17:10
Was soll das bringen außer Stunden meiner Lebenszeit zu verbrennen ?  ;)
Sehe keinen Vorteil. Die Namen sind nicht sprechender und nicht lesbarer. Außerdem wegen der Grundlage für die durchlaufende Grafik nur aufwändig änderbar.
Sie würden besser in den DWD Forecast passen und ließen sich in der Datenbank auch besser Maskieren.
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

DS_Starter

ZitatSie würden besser in den DWD Forecast passen
Rechtfertigt den Aufwand in keinster Weise.

Zitatund ließen sich in der Datenbank auch besser Maskieren.
Datenbank ist hier ausnahmsweise mal out of scope.  ;)
Aber da wäre ein konkretes Beispiel mal angebracht.
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

ch.eick

#104
Zitat von: DS_Starter am 25 Januar 2021, 18:02:16
Rechtfertigt den Aufwand in keinster Weise.
Datenbank ist hier ausnahmsweise mal out of scope.  ;)
Aber da wäre ein konkretes Beispiel mal angebracht.

Ich habe mal ein Beispiel vorher/nachher gemacht und andere reading Namen nur angelistet.

Current_GridConsumption -10 W
Current_PV -0.57 W

--vorher------------------------------------------------
Next04Hours_PV 0 Wh
ThisHour_PVforecast 0 Wh
ThisHour_Time 25.01.2021 18:00:00
Today_PV 2993 Wh
Tomorrow_PV 3185 Wh
--nachher-----------------------------------------------
fc0_4h 0 Wh
fc0_1h 0 Wh
fc0_1h_time 25.01.2021 18:00:00
fc0_PV 2993 Wh
fc1_PV 3185 Wh

# Das gehört zum DWD Bereich
Today_SunRise 08:06
Today_SunSet 17:12
Tomorrow_SunRise 08:05
Tomorrow_SunSet 17:14

# hier macht current für mich keinen Sinn
#
# generell ist die Sortierung nach Alphabet mit einem durchdachten Namenskonzept besser. Man sieht was zusammen gehört
currentForecastDev DWD_Forecast

currentInverterDev PV_Anlage_1 pv=Total_DC_Power_(sumOfAllPVInputs):W etoday=Daily_yield:kWh
currentMeterDev PV_Anlage_1 gcon=Home_own_consumption_from_grid:W
inverterEfficiency 96.5

moduleArea 36 qm
moduleEfficiency 17.8
moduleTiltAngle 40


Bei einer Abfrage des Forecast für die aktuelle Stunde und die nächsten 4 Stunden wäre folgende Maske denkbar

#Nur die Werte
fc0_%h

# Die Werte und "time"
fc0_%h%


Man sollte auch noch berücksichtigen, dass ja wahrscheinlich mehrere Wechselrichter mit mehreren Ausrichtungen hinzukommen und durch ein gutes Namenskonzept auch Schleifen und Summierungen innerhalb des Codes übersichtlicher zu realisieren sind. Gerade im Code merkt man, wie das Namenskonzept aufgebaut sein sollte.
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick