76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support

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

Vorheriges Thema - Nächstes Thema

Max_Meyer

Zitat von: DS_Starter am 07 Mai 2025, 22:17:12Dadurch können die Flüsse von und zu Hybrid <-> Batterie dargestellt werden.

Es ist also etwas abstrakter als die physikalische Realität, zeichnet aber dennoch die realen Flüsse nach.

Hallo Heiko,
aus meiner Sicht passt das heute schon ziemlich gut - hab dazu mal 2 Screen reingehangen - einen von heute Nachmittag - die das (Über-)Laden abbildet und eine von heute Abend wo Entladen zu sehen ist.
Gruß Gerd

DS_Starter

Du hast aber eine recht komplexe Anlage. Reicht dir überhaupt die verfügbare Anzahl Wechselrichter?  ;)
Weitere hinzuzufügen wäre kein Problem.
Die V 1.52.0 wird dir dann vermutlich noch mehr Möglichkeiten geben wenn sie mal fertig ist.

LG,
Heiko
Proxmox+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

Max_Meyer

Zitat von: DS_Starter am 07 Mai 2025, 22:39:35Du hast aber eine recht komplexe Anlage. Reicht dir überhaupt die verfügbare Anzahl Wechselrichter?
Hallo Heiko,
zuerst einmal nochmal Danke! für das Modul! Es hilft sehr!

die Wechselrichter (12) und auch die Verbraucher (75) habe ich zu Clustern (4+2/16) zusammengelegt - das deckt den Energiefluss eigentlich ganz gut ab. Mittlerweile stimmen auch die Prognosen besser - vermutlich durch die Abstrahierung bedingt hat das ein wenig gedauert. Ich befürchte, dass ich diese, inzwischen gewonnene, Genauigkeit wieder einbüße wenn ich die WR weiter vereinzelne. Was gut wäre, wenn ich auch die beiden letzten (kleinsten) Cluster, die zur Zeit als Producer abgebildet sind, als Inverter einbinden könnte. Aber das ist nicht besonders wichtig - funktioniert auch so.
Im Zusammenhang mit den Daten zur Genauigkeit der Prognose verwendet werden hätte ich noch eine Frage:  'würde es Sinn machen der AI auch noch andere Istdaten, die Einfluss auf Erzeugung und Verbrauch haben z.B. gemessene Temperaturen, Wind, Abwesenheiten etc. zugänglich zu machen?'
Gruß Gerd

DS_Starter

Das ist ja nochmal komplexer als es schon so aussieht. Respekt!

ZitatIm Zusammenhang mit den Daten zur Genauigkeit der Prognose verwendet werden hätte ich noch eine Frage:  'würde es Sinn machen der AI auch noch andere Istdaten, die Einfluss auf Erzeugung und Verbrauch haben z.B. gemessene Temperaturen, Wind, Abwesenheiten etc. zugänglich zu machen?'
Die Temperatur bekommt die KI schon, allerdings die vom Wetterdienst gelieferte Temperatur. Wenn man es genau nimmt, müßte es die Solarzellentemperatur sein denn sie bestimmt die Verluste bzw. ggf. Erhöhung der Peakleistung. Aber wer kann das schon liefern. Außerdem müsste man dann auch eine Prognose dieser Temperatur haben, noch unwahrscheinlicher sie zu bekommen.

Bei Wind und Abesenheiten wüsste ich nicht wie diese Paramter Einfluß auf den Solarertrag haben könnten.
Mir schwebt eher der Ersatz der aktuell verwendeten KI Bibliothek durch ein eigenes und anpassbares neuronales Netzwerk vor um diesbezüglich Fortschritte zu machen. Das will ich zunächst für den Hausverbrauch aufsetzen und wenn das erfolgreich ist, auch auf andere Prognosen adaptieren.
Mal sehen wie ich voran komme.

Achso ... heißt das du könntest 6 statt 4 mögliche Inverter gebrauchen?

Grüße,
Heiko
Proxmox+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

Max_Meyer

Zitat von: DS_Starter am 07 Mai 2025, 23:27:21Achso ... heißt das du könntest 6 statt 4 mögliche Inverter gebrauchen?
Guten Morgen Heiko,
ja das wäre schön - aber nicht unbedingt notwendig
Zitat von: DS_Starter am 07 Mai 2025, 23:27:21Bei Wind und Abesenheiten wüsste ich nicht wie diese Paramter Einfluß auf den Solarertrag haben könnten.
Auf die PV-Prognose nicht aber auf den Verbrauch - Urlaub (Sommer und Winter) und schlechtes Wetter (Wind Regen im Winter) führen zu geänderten Verbräuchen.
Zitat von: DS_Starter am 07 Mai 2025, 23:27:21Die Temperatur bekommt die KI schon, allerdings die vom Wetterdienst gelieferte Temperatur
die vom Wetterdienst kommenden Daten hatte ich als Prognose angesehen - das trifft ja vor Ort nicht unbedingt genau zu - außerdem hat das auch Einfluss auf den Verbrauch.
Der Kommentar soll nur meine der Frage zugrundeliegenden Gedanken erklären - ich glaube auch, eine signifikante Prognoseverbesserung ist damit nicht zu erreichen. Es war nur eine Idee.
Zitat von: DS_Starter am 07 Mai 2025, 23:27:21Das ist ja nochmal komplexer
Ist ist über die letzten anderthalb Jahrzehnte gewachsen und fühlt sich nicht so komplex an  - die abgebildete Granularität ist aber sicher Hobby ;D - so lässt sich schön die Energieeinsparung auf ca. 1/6 des ursprünglichen Bedarfs nachverfolgen - Hobby eben
Gruß Gerd


Burny4600

#2765
Zitat von: DS_Starter am 07 Mai 2025, 20:02:43- 3x PV-Strings: haben wir mit dem Schlüssel strings im Inverterattribut
- Last-Anschluss, also der Anschluß an das Hausnetz?: haben wir mit dem Schlüssel pv im Inverterattribut
- Batterie-Anschluss: muß ich bei einem solchen WR noch integrieren

Ich hoffe mit meinem Blockschaltbild es die Verteilung besser zu verstehen.
PVA1 hält die USV-Versorgung ohne Strom-Unterbrechung aufrecht, wenn das EVU-Netz(Grid) wegfällt. FÜr die USV-Versorgung aller Lasten im Haus hat der Hybridinverter 2 Trinax PV-Strings, eine Batterieeinheit und einen Windgenerator zur Verfügung.

PVA2 hält die USV-Versorgung für den Aussenbereich, die Wärmepumpe und die Haustechnikspannungsversorgung in allen Bereichen aufrecht, wenn das EVU-Netz(Grid) wegfällt. FÜr die USV- und SV-Versorgung aller Lasten im gesamten Objekt hat der Hybridinverter 3 Trinax PV-Strings, eine Batterieeinheit und einen Notstomgenerator zur Verfügung.

Die Anlage ist grundsätzlich so ausgelegt, das nichts in EVU-Netz eingespeist wird.
Alle im Blockschaltbild angeführten Anlagenteile werden mit Drehstrom-Energiezähler erfasst, bis auf die Geschirspüler, Waschmaschinen und Trockner. Diese Geräte werden mit einem 1-Phasen Energiezähler erfasst.
Im Aussenbereich (AB-UV) wird zudem der Poolbereich erfasst, und ja nach vorhandener Solar- und PV-Energie der Poolbereich freigegeben.

Ich denke das es so mit dem Blockschaltbild besser verständlich ist.
Ergänzend noch die Deye Energieerfassung. Je nach dem aktuellen Zustand gibt es die Inverter Leistung bzw. Akku Leistung mit positivem und negativen Werten.
Hier fehlt noch die Energierfassung für den Notstromgenarator bzw. Windgenerator mit den Leistungswerten.

Zur Temperaturerfassung:

Ich erfasse die Lokale Lufttemperatur in meiner Wetterstation, und habe mir zusetzlich ein kleine Solarzelle inklusive 1-Wire Temperatursensor gebaut.
Der maximale Spannungsausgang der Solarzelle sind 4,7VDC (Messbereich 0-5VDC). Die Solarzelle ist waagerecht auf der Dachspitze montiert und daraus ermittle ich die Einstrahlungsenergie W/m² und es gibt keine Schatten auf der Solarzelle. Derzeit noch ohne Temperaturkompensation aber mit Temperaturerfassung.
Natürlich passt das nicht ganz zu den montierten PV-Modulen, denn diese sind unterschiedlich in der Lage und Ausrichtung.
setupStringAzimuth    SüdOstdach=-28 SüdWestdach1=39 SüdWestdach2=39 SüdWestwand=52
setupStringDeclination    SüdOstdach=48 SüdWestdach1=15 SüdWestdach2=15 SüdWestwand=90
setupStringPeak     SüdOstdach=4.35 SüdWestdach1=6.6 SüdWestdach2=6.6 SüdWestwand=4.35
Nur so informativ zu Überlegungen.

Ein Danke noch für dieses sehr komplexe Thema und die Modulentwicklung. :)
MfG Chris

Raspberry Pi 2-5, Bullseye Lite, Bookworm Lite
Schnittstellen: 1-Wire, FHEM2FEHEM, HM-MOD-UART, LAN, Modbus, MQTT, nanoCUL, RFXtrx433E, SIGNALduino, ser2net
Devices: APC, Eastron, FS20, IT, Homematic, MQTT, PV-(DEYE, EPEVER, FRONIUS), Resol-VBUS, S.USV, TEK603, WMR200, YouLess

DS_Starter

Vielen Dank allerseits für den informativen und wertvollen Input. Ich will versuchen in der V 1.52.0 auch Hybridwechselrichter noch mit zu integrieren. Momentan haben wir ab dieser V folgende Typen zur Verfügung:

PV-Wechselrichter    Der Standard Wechselrichter. Er wandelt die Energie der angeschlossenen Solarzellen in Wechselstrom um.
   Dieses Gerät liefert die Energie in das Hausnetz. Alternativ kann mit feed=grid die Funktion des
   Wechselrichters in exklusive Einspeisung in das öffentliche Netz geändert werden.
   
Solar-Ladegerät    Ein Solar-Ladegerät wandelt die Energie der angeschlossenen Solarzellen nicht in Wechselstrom um, sondern
   arbeitet als DC-DC Wandler und lädt direkt eine Batterie bzw. versorgt einen Batteriewechselrichter.
   Die Funktion als Solar-Ladegerät wird mit feed=bat aktiviert (z.B. ein Victron SmartSolar MPPT).
   
Batterie-Wechselrichter    Dieses Gerät hat keine angeschlossenen Solarzellen und arbeitet als DC-AC bzw. AC-DC Wandler zwischen einer
   Batterie und dem Hausnetz.
   Die Funktion als Batterie-Wechselrichter wird mit strings=none aktiviert.


@Chris, da du eine Nulleinspeisung hast, gibt es im Sommer sicherlich häufiger die Situation, dass die Anlage abregelt wenn die Batterien voll sind und nicht genügend Verbrauch vorhanden ist. Wie gehst du damit um oder kommt es nicht so häufig vor?
Proxmox+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

Burny4600

Zitat von: DS_Starter am 08 Mai 2025, 19:37:36@Chris, da du eine Nulleinspeisung hast, gibt es im Sommer sicherlich häufiger die Situation, dass die Anlage abregelt wenn die Batterien voll sind und nicht genügend Verbrauch vorhanden ist. Wie gehst du damit um oder kommt es nicht so häufig vor?

Die Hybridinverter sind so eingestellt das es keine Netzeinspeisung gibt.
Diese Geräte sind sehr flexibel wie man mit der Überschußenergie umgeht. Ich bin noch in der Ferigstellungsphase da ich noch ein Dach für die PV-Module sanieren muss, darum bin ich noch nicht in die Verlegenheit gekommen. Jedenfalls können diese Hybridinverter einen Inselbetrieb genauso wie einen vollen Gridbetrieb, oder nur einen Grid Ergänzungsbetrieb ohne manuelle Eingriffe realisieren. Ist nur eine Einstellungssache an den Hybridinvertern.

Da mein Nachbar ebenfalls eine PV-Anlage errichten möchte, hatten wir schon überlegt die Energie gegenseitig auszutauschen und einen Pseudo-Inselbetrieb zu realisieren. Grundsätzlich kann mit geringem Aufwand ein Erdkabel verlegt werden um die beiden Objekte zu verbinden, und das EVU bekommt seine Zähler zurück.
Man bekommt ohnehin nichts für die Energie, und mit den neuen idiotischen Ideen wollen die EVUs die privaten PV-Anlagenbesitzer nun damit nötigen die Hauseigenen PV-Anlagen und Batterien je nach Netzlast ein- und ausschalten, und dabei die Besitzer zusätzlich zwingen den Strom zu kaufen auch wenn man selbst genügend Energie zur Eigenversorgung zur Verfügung hat. Da dann kan man sich vorstellen was geschieht wenn man auch ein E-Fahrzeug hat, und damit in die Arbeit fahren will, aber das EVU alles weggeschaltet hat und man selbst nicht eingreifen kann.
MfG Chris

Raspberry Pi 2-5, Bullseye Lite, Bookworm Lite
Schnittstellen: 1-Wire, FHEM2FEHEM, HM-MOD-UART, LAN, Modbus, MQTT, nanoCUL, RFXtrx433E, SIGNALduino, ser2net
Devices: APC, Eastron, FS20, IT, Homematic, MQTT, PV-(DEYE, EPEVER, FRONIUS), Resol-VBUS, S.USV, TEK603, WMR200, YouLess

DS_Starter

Proxmox+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

Burny4600

Ich habe ein Problem mit dem Attribut graphicHeaderOwnspec
Normalerweise sollte <br> einen Zeilenumbruch an dieser Position veranlassen wo es gesetzt ist, nur es geschieht nicht sondern verschieb alles.

Ich muss alles mit den : anpassen damit die Darstellung passt.
#
AutarkyRate:Current_AutarkyRate
Überschuß:Current_Surplus
aktueller&nbsp;Netzbezug:Current_GridConsumption
:
:
#Inverter&nbsp;1
Status:Betriebsstatus@Deye_12k
:
:
:
#Batterieeinheit&nbsp;1
Energieladung&nbsp;heute:Akku_Energie_Ladung_Heute__kWh@Deye_12k
Energieentladung&nbsp;heute:Akku_Energie_Entladung_Heute__kWh@Deye_12k
:
:
#Inverter&nbsp;2
Status:Betriebsstatus@Deye_15k
:
:
:
#Batterieeinheit&nbsp;2
Energieladung&nbsp;heute:Akku_Energie_Ladung_Heute__kWh@Deye_15k
Energieentladung&nbsp;heute:Akku_Energie_Entladung_Heute__kWh@Deye_15k
:
:
#Settings
Autokorrektur:pvCorrectionFactor_Auto : : :
Consumer<br>Neuplanung:consumerNewPlanning : : :
Consumer<br>Sofortstart:consumerImmediatePlanning : : :
Wetter:graphicShowWeather : : :
History:graphicHistoryHour : : :
ShowNight:graphicShowNight : : :
Debug:ctrlDebug : : :

Mit definierten Zeilenumbrüchen sollte es eignetlich genaus aussehen.
#
AutarkyRate:Current_AutarkyRate
Überschuß:Current_Surplus
aktueller&nbsp;Netzbezug:Current_GridConsumption
<br>
#Inverter&nbsp;1
Status:Betriebsstatus@Deye_12k
<br>
#Batterieeinheit&nbsp;1
Energieladung&nbsp;heute:Akku_Energie_Ladung_Heute__kWh@Deye_12k
Energieentladung&nbsp;heute:Akku_Energie_Entladung_Heute__kWh@Deye_12k
<br>
#Inverter&nbsp;2
Status:Betriebsstatus@Deye_15k
<br>
#Batterieeinheit&nbsp;2
Energieladung&nbsp;heute:Akku_Energie_Ladung_Heute__kWh@Deye_15k
Energieentladung&nbsp;heute:Akku_Energie_Entladung_Heute__kWh@Deye_15k
<br>
#Settings
Autokorrektur:pvCorrectionFactor_Auto : : :
Consumer<br>Neuplanung:consumerNewPlanning : : :
Consumer<br>Sofortstart:consumerImmediatePlanning : : :
Wetter:graphicShowWeather : : :
History:graphicHistoryHour : : :
ShowNight:graphicShowNight : : :
Debug:ctrlDebug : : :

Hab ich da jetzt einen Denkfehler?
MfG Chris

Raspberry Pi 2-5, Bullseye Lite, Bookworm Lite
Schnittstellen: 1-Wire, FHEM2FEHEM, HM-MOD-UART, LAN, Modbus, MQTT, nanoCUL, RFXtrx433E, SIGNALduino, ser2net
Devices: APC, Eastron, FS20, IT, Homematic, MQTT, PV-(DEYE, EPEVER, FRONIUS), Resol-VBUS, S.USV, TEK603, WMR200, YouLess

DS_Starter

#2770
ZitatNormalerweise sollte <br> einen Zeilenumbruch an dieser Position veranlassen wo es gesetzt ist, nur es geschieht nicht sondern verschieb alles.
Dieser Bereich hat eine Tabellenstruktur mit einer definierten Syntax --->

ZitatEin leeres Feld in einer Zeile wird durch ":" erzeugt.

Deswegen habe ich die zu verwende Syntax im Attribut/Wiki beschrieben.

Der Zeilenumbruch bezieht sich auf die Verwendung in den Labeln:

ZitatLeerzeichen im Label sind durch "&nbsp;" einzufügen, ein Zeilenumbruch durch "<br>".

Vielleicht wird es für den Leser nicht genügend deutlich, dass sich der Zeilenumbruch auch auf "im Label" bezieht? Wenn es so ist, muß ich es noch deutlicher hervorheben.

LG,
Heiko
Proxmox+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

Burny4600

Das war dann ein Missverständnis meinerseite.

Ich muss sagen das ist schon ein ganz mächtiges Modul.
MfG Chris

Raspberry Pi 2-5, Bullseye Lite, Bookworm Lite
Schnittstellen: 1-Wire, FHEM2FEHEM, HM-MOD-UART, LAN, Modbus, MQTT, nanoCUL, RFXtrx433E, SIGNALduino, ser2net
Devices: APC, Eastron, FS20, IT, Homematic, MQTT, PV-(DEYE, EPEVER, FRONIUS), Resol-VBUS, S.USV, TEK603, WMR200, YouLess

DS_Starter

Hier stecken bestimmt mehrere tausend Stunden Arbeit drin innerhalb der letzten 5 Jahre Aufbau des Moduls. Habe die Zeit nicht gezählt.
Proxmox+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

tobi01001

Dafür kann man nur Dankbar sein. Und der Erfolg gibt dir recht:

Du darfst diesen Dateianhang nicht ansehen.
(screenshot von gestern)

Kleiner Hinweis zum Wiki bzw. dem DbRep-Device zum Löschen der AllPVForeCast Readings des Folgetages:
Ich würde dem DbRep noch ein
attr Rep.Del.AllPVforecastsToEvent device TYPE=SolarForecast
spendieren. Für Leute die auch andere Prognosen in der Db haben (wie ich zum Beispiel Tibber-Preise), ist das sicherlich hilfreich.  ;)

LG und Danke!
FHEM@UbuntuServer on Lenovo ThinkCentre M900 [i5-6500T / 8GB RAM] MySQL-DbLog, Grafana, FTUI3 / HmIP incl. CCU3 / LGESS / Wärempumpe über TA CMI und CANoE / Shellies u.v.m.

Wolle02

Zitat von: tobi01001 am 10 Mai 2025, 09:45:40Dafür kann man nur Dankbar sein. Und der Erfolg gibt dir recht:

Du darfst diesen Dateianhang nicht ansehen.
(screenshot von gestern)

Zu den Abweichungen hätte ich jetzt auch eine Frage. Bei mir sind die aktuell immer so um die 20 - 30%. Ok, dachte ich mir, das muss sich erstmal eingrooven, weil die KI ja erstmal trainiert werden muss. Wie lange dauert die Trainingszeit denn so bis man mit präziseren Werten rechnen kann?

Des weiteren ist mir in dem Zusammenhang noch was anderes aufgefallen. Aus dem Screenshot kann man sehen, dass morgens erst mal mein Speicher geladen wird. So lange bis der auf 100% steht passen die Werte der realen PV Erzeugung nicht. Obwohl hier aktuell die Sonne vom strahlend blauen Himmel scheint und ich heute schon 8,8 kWh erzeugt habe wird die reale PV Erzeugung für 8h mit 492 Wh und für 9h mit 904 Wh angezeigt, obwohl die Progrnose (und die scheint ja hier zu stimmen) deutlich mehr anzeigt und ich auch deutlich mehr erzeugt habe. Erst ab 10h, als der Speicher voll war, stimmt scheint auch der Wert der realen PV Erzeugung wieder zu stimmen.

Welche Attributswerte müsste ich euch den zeigen, um zu prüfen, ob ich hier irgend eine Fehleinstellung vorgenommen habe?