Wie errechnet man die PV Produktion bei einem SolarEdge WR aus den ModBus Werten?

  • Ich versuche nun schon seit geraumer Zeit die PV Leistung und/oder den Eigenverbrauch über den ModBus auszulesen bzw. zu berechen. Ich habe schon viele Berichte hier im Forum oder auch in anderen Foren (z.B.: ioBrocker, openHAB, ..) tolle Hinweise gefunden, aber irgendwo den entscheidenden Hinweis habe ich noch nicht gefunden. Aber der Reihe nach:


    Ich habe seit November meine PV in Betrieb : SolarEdge SE7k, StorEdge Interface, LG Resu 10H Speicher und ModBus Meter. Die Daten lese ich über die SE Monitoring Plattform aus.


    Zusätzlich habe ich nun schon mehr als 10 Jahren eine thermische Solar in Betrieb und deren Daten logge ich über die von der 'Technischen Alternative' Hard- und Software (CMI, Winsol...) mit. Ich möchte nun nur eine Logging bzw. Darstellung für die Solar und PV Anlage haben. Dazu lese ich via ModBus TCP, ioBroker, Raspberry Pi die Daten vom SolarEdge Inverter aus und übertrage sie ans CMI. Das funktioniert nun nach einigen Schwierigkeiten soweit gut. Was mir aber noch nicht gelungen ist, wie berechnet man die PV Leistung und/oder den Eigenverbrauch aus den Werten, die der Inverter zur Verfügung stellt.

    Ich lese die Werte I_AC_Power, M_AC_Power und Betterieleistung aus. Die Registeradressen für die beiden AC_Power Werten habe ich aus der Beschreibung die SE zur Verfügung stellt, die Registeradressen für die Batterie habe ich hier im Forum gefunden (Danke thps).

    Ich habe auch den ausführlichen Bericht vom gleichen Autor im openHAB Forum gelesen, aber ich habe keinen Weg gefunden, wie ich die PV Leistung oder den Eigenverbrauch berechnen könnte.


    Folgende Werte lese ich aus:

    • I_AC_Power (Register: 40084 und 40085)
    • M_AC_Power (Register 40207, 40211)
    • Batterie-Leistung (Register 102837)

    Zusätzlich lese ich noch weitere Werte aus z.B.: I_DC_Power, M_Export, M_Import, Batterieladung..... aber die liefern keine weiteren Aufschlüsse.

    Als Referenz dienen immer die Daten aus der SE Monitoring Plattform


    In diversen Artikel wird der Eigenverbrauch mit I_AC_Power - M_AC_Power berechnet, aber das stimmt bei mir so nicht. Um das besser darzustellen habe ich einige Screenshots angehängt:


    Im ersten Bild sieht man in der Monitoring Plattform einen Eigenverbrauch von ca. 5kW und eine PV Leistung von 0,62 kW, die sich aus den vorhandenen ModBus Werten nicht berechnen lassen. Die Werte für die Leistung aus dem Netz und der Batterie passen sehr gut zusammen.

    Bei den Bildern 2 und 3 sieht man bis ca. 15:20 einen niedrigen Eigenverbrauch (~0,3 kW), die durch die PV Leistung (ca. 1 kW) abgedeckt werden und der Rest geht in die Batterie.

    Um 15:20 habe ich bewusst einen Verbraucher mit ca. 1,5 kW für einige Minuten eingeschaltet. Man sieht schön, dass nun die PV Leistung nicht mehr ausreicht und der Rest aus der Batterie geholt wird. Ins Netz wird bis auf kleine Spitzen nichts geladen oder zugekauft.

    Auffällig ist, dass I_AC_Power mit der Batterie-Leistung 'mitgeht', hier hätte ich erwartet, dass sie der PV Leistung entspricht.


    Hat jemand eine Idee,was ich falsch mache oder wie ich den Knoten lösen kann???


    Der SolarEdge Support hat mich nur auf den Artikel im openHAB von Thomas Kuehne verwiesen, aber bei mir scheint irgendwas anders zu sein.

    Wenn die Monitoring Plattform nicht die richtigen Werte anzeigen würde, hätte ich schon vermutet, dass irgendwas verkehrt angeschlossen ist.


    Ich hoffe hier im Forum kann mir jemand helfen, ich habe wirklich schon viel probiert.


    Vielen Dank

    Kenzo

  • Guten Morgen,


    ich habe dies erst am Wochenende bei mir daheim mit Modbus TCP umgesetzt, aber auf einem ESP8266.


    Ich habe aber keine Batterie!


    Ich nutze:


    40084 I_AC_Power [Watts], wichtig ist, dass hier auch der 40085 I_AC_Power_SF genutzt wird.


    I_AC_Power * 10 ^ I_AC_Power_SF (Erzeugung der PV Anlage in Watt)


    und


    40206 M_AC_Power * 10 ^ 40210 M_AC_Power_SF (Messwert Modbuszähler in Watt)


    Der Messwert vom Modbuszähler ist je nach Messkonzept unterschiedlich.


    Bei mir ist er negativ, wenn ich Strom vom EVU beziehe und geht gegen 0, wenn Produktion PV = Verbrauch ist.

    Er ist positiv, wenn Energie ins Netz eingespeist wird.


    Hier kann man sich nun mathematisch künstlerisch betätigen, je nachdem was man visualisieren möchte. Das Solaredge Portal zeigt die Werte ja anders an, als der Modbus (Rohwert) ausgibt.


    Gruß,

    Christian

  • Hallo Christian,

    Vielen Dank für dein Antwort. Ich berechne die Leistungs_Werte unter Berücksichtigung schon richtig.

    Die Werte ModBus Meter und der Batterie stimmen mit dem im Portal überein. Was mir fehlt ist die PV Leistung und der Eigenverbrauch.

    Du hast ja keine Batterie deshalb vermute ich, ist der I_AC_Power Wert die Leistung der PV Anlage.


    Gruss

    Kenzo

  • Hallo Kenzo,


    ja, bei mir ist I_AC_Power die Leistung der PV Anlage. Sorry, dann kann ich dir hier auch nicht mehr weiterhelfen.


    Gruß,

    Christian

  • Nun verstehe ich warum ich mit den Daten vom ModBus nicht zurecht komme, Lösung habe ich trotzdem keine:

    Bei meiner Anlage wird auf der Adresse (40084, 40085 = I_AC_Power) nicht die Leistung vom PV WR sondern die Leistung vom WR für die Batterie angezeigt.

    Nun habe ich die Werte für die Batterie doppelt:


    1) 40084, 40085 : I_AC_Power

    2) 102837: Batteri_Leistung

    und die Leistung für die PV fehlt mir :(


    Ist das nur bei meiner Anlage so? Hängt das vom Setup / Konfiguration der Anlage ab?

    Kennt jemand Adressen wo ich ev. die Werte für den PV WR finde


    Gruss

    Kenzo

  • Hallo Zusammen,


    ich würde mich gerne in die Unterhaltung mit einklinken, da ich gerade auch an dem Thema am Basteln bin. Aktuell habe ich ein Python-Script geschrieben, das die Werte vom SMA Home Manager auslesen kann. Um zu sehen, auf welchem Modbus-Register überhaupt sinnvolle Werte kommen, hab ich auch einen kleinen Scanner geschrieben. Läuft alles auf einem Raspi.


    Hat auch bei mir etwas gedauert, bis ich die richtigen Register gefunden habe!


    Bitte um Rückmeldung, falls da Interesse besteht.


    Nun noch eine Frage in die Runde: Ich würde gerne den Raspi durch einen ESP8266 ersetzen. Kann mir da jemand ein Code-Beispiel empfehlen?


    Danke und liebe Grüße,


    Alex


    P.S.: meine aktuellen Projekte siehe http://www.kabza.de/MyHome/SmartHome.html

  • HI,


    Ich habe nun von SolarEdge den entscheidenden Hinweis bekommen. Um den PV-Inverter auszulesen, muss ich die Geräte ID = 2 verwenden. ID = 1 ist der Batterie-Wechselrichter und ID = 2 ist der PV - Wechselrichter mit dem gleichen Registern. Nun habe ich alle Daten, die ich auslesen wollte.


    Vielen Dank

    Kenzo

  • Hallo Kenzo,


    Ich habe einen SE8K-RWS mit LG Chem RESU 10. Zudem habe ich schon seit langem ein Raspberry Pi mit Iobroker laufen inklusive VIS.

    Ich habe das gleiche Problem und habe schon Luftsprünge gemacht, als ich deine Lösung gelesen habe. Leider funktioniert es bei mir immer noch nicht. Vielleicht kannst Du mir noch einen Tip geben.


    Ich habe in der modbus-Instanz bei mehrere Geräte ID einen Haken gemacht.

    Im Reiter Holding Registers bekommt man dann eine Spalte "Slave-ID"

    Alle Register mit der ID1 laufen übermitteln mir Daten. Die Daten mit Skale Factor rechne ich dann in einem Script um und speicher diese in einem Datenpunkt, den ich dann in der Vis anzeigen kann.


    Welche Register liest Du mit ID2 aus und welche gehören zu der PV-Leistung und der Eigenverbrauch.


    Einen Hinweis, der zum Ziel führt wäre ein Weihnachtsgeschenk :)


    Vielen Dank und schöne Feiertage

    Dirk