ModbusAttr - Berechnung Netzbezug/-einspeisung

Begonnen von csb13, 03 März 2022, 16:58:43

Vorheriges Thema - Nächstes Thema

csb13

Hallo zusammen,

ich möchte die Daten meiner PV-Anlage in FHEM mittels ModbusAttr auswerten.
Insbesondere interessiert mich die Netzeinspeisung bzw. der -bezug (in der SolarEdge-App entspricht das der Grid-Power). Diese sollte ich ja aus den Leistungen, die ich abgreifen kann, berechnen können.

Weiß jemand, wie die Berechnung aussieht?

Das ist mein aktuelles Device:

defmod PVAnlage_ModBus ModbusAttr 1 10 192.168.178.35:502 TCP
attr PVAnlage_ModBus dev-h-combine 20
attr PVAnlage_ModBus dev-h-defPoll 1
attr PVAnlage_ModBus dev-h-defShowGet 1
attr PVAnlage_ModBus event-on-change-reading .*
attr PVAnlage_ModBus event-on-update-reading AC-Power-Scale
attr PVAnlage_ModBus icon sani_solar
attr PVAnlage_ModBus obj-h40004-len 16
attr PVAnlage_ModBus obj-h40004-reading C_Manufacturer-Val
attr PVAnlage_ModBus obj-h40004-unpack (a16)
attr PVAnlage_ModBus obj-h40044-len 8
attr PVAnlage_ModBus obj-h40044-reading C_Version-Val
attr PVAnlage_ModBus obj-h40044-unpack (a8)
attr PVAnlage_ModBus obj-h40052-len 16
attr PVAnlage_ModBus obj-h40052-reading C_SerialNumber-Val
attr PVAnlage_ModBus obj-h40052-unpack (a16)
attr PVAnlage_ModBus obj-h40071-reading TotalCurrent-Val
attr PVAnlage_ModBus obj-h40075-reading TotalCurrent-Scale
attr PVAnlage_ModBus obj-h40075-unpack s>
attr PVAnlage_ModBus obj-h40083-reading AC-Power-Val
attr PVAnlage_ModBus obj-h40084-reading AC-Power-Scale
attr PVAnlage_ModBus obj-h40084-unpack s>
attr PVAnlage_ModBus obj-h40087-reading ApparentPower-Val
attr PVAnlage_ModBus obj-h40088-reading ApparentPower-Scale
attr PVAnlage_ModBus obj-h40088-unpack s>
attr PVAnlage_ModBus obj-h40089-reading ReactivePower-Val
attr PVAnlage_ModBus obj-h40090-reading ReactivePower-Scale
attr PVAnlage_ModBus obj-h40090-unpack s>
attr PVAnlage_ModBus obj-h40091-reading PowerFactor-Val
attr PVAnlage_ModBus obj-h40091-unpack s>
attr PVAnlage_ModBus obj-h40092-reading PowerFactor-Scale
attr PVAnlage_ModBus obj-h40092-unpack s>
attr PVAnlage_ModBus obj-h40093-len 2
attr PVAnlage_ModBus obj-h40093-reading Energy-Val
attr PVAnlage_ModBus obj-h40093-unpack l>
attr PVAnlage_ModBus obj-h40095-reading Energy-Scale
attr PVAnlage_ModBus room PV-Anlage
attr PVAnlage_ModBus userReadings AC-Power:(AC-Power-Scale.*) { \
my $scale = ReadingsVal ("PVAnlage_ModBus","AC-Power-Scale",0);;\
return (ReadingsVal ("PVAnlage_ModBus","AC-Power-Val",0) * ( 10 ** $scale));;;;},\
\
ApparentPower:(ApparentPower-.*) { \
my $scale = ReadingsVal ("PVAnlage_ModBus","ApparentPower-Scale",0);;\
return (ReadingsVal ("PVAnlage_ModBus","ApparentPower-Val",0) * ( 10 ** $scale));;;;},\
\
ReactivePower:(ReactivePower-.*) { \
my $scale = ReadingsVal ("PVAnlage_ModBus","ReactivePower-Scale",0);;\
return (ReadingsVal ("PVAnlage_ModBus","ReactivePower-Val",0) * ( 10 ** $scale));;;;},\
\
\
PowerFactor:(PowerFactor-.*) { \
my $scale = ReadingsVal ("PVAnlage_ModBus","PowerFactor-Scale",0);;\
return (ReadingsVal ("PVAnlage_ModBus","PowerFactor-Val",0) * ( 10 ** $scale));;;;}


Liebe Grüße,
Claudia

ch.eick

Zitat von: csb13 am 03 März 2022, 16:58:43
Hallo zusammen,

ich möchte die Daten meiner PV-Anlage in FHEM mittels ModbusAttr auswerten.
Insbesondere interessiert mich die Netzeinspeisung bzw. der -bezug (in der SolarEdge-App entspricht das der Grid-Power). Diese sollte ich ja aus den Leistungen, die ich abgreifen kann, berechnen können.

Weiß jemand, wie die Berechnung aussieht?

Liebe Grüße,
Claudia
Hallo Claudia,
kann es sein, dass in Deiner ModBus Abfrage noch einige Register fehlen?
Aus den momentan Werten kannst Du nicht direkt die Zählerstände berechnen, ohne das über die Zeit zu betrachten.

Hast Du auch ein Energie Meter am Hausanschluss Punkt, also direkt am Zähler?

VG
   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

csb13

Zitat von: ch.eick am 03 März 2022, 17:24:23
kann es sein, dass in Deiner ModBus Abfrage noch einige Register fehlen?
Aus den momentan Werten kannst Du nicht direkt die Zählerstände berechnen, ohne das über die Zeit zu betrachten.

Hast Du auch ein Energie Meter am Hausanschluss Punkt, also direkt am Zähler?

Hi Christian,
ich vermute zumindest, dass ich alle verfügbaren Leistungen habe, mit denen ich etwas anfangen kann. Aber mir fehlt die Formel für die Berechnung, also wüsste ich nicht mal, welche Register noch fehlen könnten. Ich finde dazu auch nichts im SunSpec-Protocol und der SolarEdge-Support ist auch nicht sehr redselig (haben bereits eine Anfrage gestellt, weil wir vermuten, dass die GridPower für die SolarEdge-API/App auch über diese Daten berechnet wird).

Den Stromzähler können wir dafür leider nicht nutzen, aber über den Wechselrichter (Master) sollten wir ja an alle Infos kommen...

Liebe Grüße,
Claudia

ch.eick

#3
Zitat von: csb13 am 04 März 2022, 13:41:14
Hi Christian,
ich vermute zumindest, dass ich alle verfügbaren Leistungen habe, mit denen ich etwas anfangen kann. Aber mir fehlt die Formel für die Berechnung, also wüsste ich nicht mal, welche Register noch fehlen könnten. Ich finde dazu auch nichts im SunSpec-Protocol und der SolarEdge-Support ist auch nicht sehr redselig (haben bereits eine Anfrage gestellt, weil wir vermuten, dass die GridPower für die SolarEdge-API/App auch über diese Daten berechnet wird).

Den Stromzähler können wir dafür leider nicht nutzen, aber über den Wechselrichter (Master) sollten wir ja an alle Infos kommen...
Hallo Claudia,
der Wechselrichter kann die Einspeisung und den Hausverbrauch nur bestimmen, wenn er ein entsprechendes Energie Meter hinter dem Zähler hat.
Es gibt dafür auch bei manchen Herstellern Klemmen, die an die Adern L1-3 kommen um das zu messen.

Kannst Du mir mal genaue Bezeichnungen Deiner Gerätschaften geben, da ich kein SolarEdge habe?

Hier ist das mit dem Zähler, den Du dann haben solltest metering-solution
Und hier die weiteren möglichen Messeinrichtungen metering-and-sensors
Ab Seite 53 gehts in diesem PDF los se-energy-meter-with-modbus-installation-guide-de.pdf

Bei einem Kostal Plenticore werden dann diese Daten an den WR gesendet und dort ebnfals angezeigt und über ModBus gesendet. Am KSEM (dem Energy Meter) kann man das zusätzlich auch mit ModBus abfragen, aber ohne dieses Messgerät gibt es halt keine Verbrauchswerte für Bezug und Einspeisung.

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

Ich nochmal

in Deinen readings hast Du bereits die Werte, jedoch nur die vom Wechselrichter

AC-Power ist die momentane Leistung in W

Dann könntest Du Dir noch die Energie, also Wh , die der Wechselrichter erzeugt hat als reading ablegen.
Da fehlt Dir noch das userreading mit dem scale Faktor für diese Register

attr PVAnlage_ModBus obj-h40093-len 2
attr PVAnlage_ModBus obj-h40093-reading Energy-Val
attr PVAnlage_ModBus obj-h40093-unpack l>
attr PVAnlage_ModBus obj-h40095-reading Energy-Scale
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

csb13

Zitat von: ch.eick am 04 März 2022, 14:13:55
der Wechselrichter kann die Einspeisung und den Hausverbrauch nur bestimmen, wenn er ein entsprechendes Energie Meter hinter dem Zähler hat.
Es gibt dafür auch bei manchen Herstellern Klemmen, die an die Adern L1-3 kommen um das zu messen.

Kannst Du mir mal genaue Bezeichnungen Deiner Gerätschaften geben, da ich kein SolarEdge habe?

Hier ist das mit dem Zähler, den Du dann haben solltest metering-solution
Und hier die weiteren möglichen Messeinrichtungen metering-and-sensors
Ab Seite 53 gehts in diesem PDF los se-energy-meter-with-modbus-installation-guide-de.pdf

Bei einem Kostal Plenticore werden dann diese Daten an den WR gesendet und dort ebnfals angezeigt und über ModBus gesendet. Am KSEM (dem Energy Meter) kann man das zusätzlich auch mit ModBus abfragen, aber ohne dieses Messgerät gibt es halt keine Verbrauchswerte für Bezug und Einspeisung.

Hallo Christian,

wieder was gelernt, danke!

ich habe mal die Geräte zusammengesucht:

Zähler: ISKRA Drehstromzähler (siehe Foto im Anhang)
Wechselrichter: 2x SE5000H-RW000BNN4 (einen Master und einen Slave)

Brauchst du sonst noch etwas?

Zitat
Dann könntest Du Dir noch die Energie, also Wh , die der Wechselrichter erzeugt hat als reading ablegen.

Das User-Reading habe ich in meinem Kommentar gelöscht, weil ich dachte, dass es für die Leistung nicht relevant ist. Das ist die Lifetime-Energie, aus der ich bereits in FHEM die tägliche berechne (Seite 17 in https://www.solaredge.com/sites/default/files/sunspec-implementation-technical-note.pdf)

Danke und liebe Grüße
Claudia

ch.eick

Zitat von: csb13 am 07 März 2022, 15:37:11
ich habe mal die Geräte zusammengesucht:

Zähler: ISKRA Drehstromzähler (siehe Foto im Anhang)
Wechselrichter: 2x SE5000H-RW000BNN4 (einen Master und einen Slave)

Brauchst du sonst noch etwas?

Das User-Reading habe ich in meinem Kommentar gelöscht, weil ich dachte, dass es für die Leistung nicht relevant ist. Das ist die Lifetime-Energie, aus der ich bereits in FHEM die tägliche berechne (Seite 17 in https://www.solaredge.com/sites/default/files/sunspec-implementation-technical-note.pdf)
Hallo Claudia,
somit entnehme ich, dass Du keinen Energie Manager hinter dem Hausanschluss hast, wodurch auch nicht die Werte für Bezug und Einspeisung gemessen werden.
Somit kannst Du dann auch nicht die von Dir gesuchten Werte berechnen, da du nicht weißt, wo die erzeugte Leistung hin fließt :-(

Sprechen denn die beiden Wechselrichter miteinander, oder hast Du da auch jeweils nur die Einzelwerte?

Eventuell meldet sich ja noch jemand, der eine ähnliche Installation hat.

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

csb13

Hallo Christian,

Zitat von: ch.eick am 07 März 2022, 17:55:51
somit entnehme ich, dass Du keinen Energie Manager hinter dem Hausanschluss hast, wodurch auch nicht die Werte für Bezug und Einspeisung gemessen werden.
Somit kannst Du dann auch nicht die von Dir gesuchten Werte berechnen, da du nicht weißt, wo die erzeugte Leistung hin fließt :-(

Über die SolarEdge-API werden diese Infos zur Verfügung gestellt (siehe SolarEdgeApp.png im Anhang). Wir hatten die Hoffnung, dass es deshalb auch über Modbus auszulesen ist.

Zitat von: ch.eick am 07 März 2022, 17:55:51
Sprechen denn die beiden Wechselrichter miteinander, oder hast Du da auch jeweils nur die Einzelwerte?

Wir haben vermutlich eines der beiden Setups, die du im Anhang (Setup1.png und Setup2.png) findest (Quelle: https://www.solaredge.com/sites/default/files/sunspec-implementation-technical-note.pdf).
Über ModbusAttr in FHEM habe ich es bis jetzt geschafft, einzeln auf die Wechselrichter zuzugreifen. Es ist nicht möglich, auf beide gleichzeitig zuzugreifen (laut SolarEdge).

ch.eick

#8
Zitat von: csb13 am 09 März 2022, 17:11:00
Hallo Christian,

Über die SolarEdge-API werden diese Infos zur Verfügung gestellt (siehe SolarEdgeApp.png im Anhang). Wir hatten die Hoffnung, dass es deshalb auch über Modbus auszulesen ist.

Wir haben vermutlich eines der beiden Setups, die du im Anhang (Setup1.png und Setup2.png) findest (Quelle: https://www.solaredge.com/sites/default/files/sunspec-implementation-technical-note.pdf).
Über ModbusAttr in FHEM habe ich es bis jetzt geschafft, einzeln auf die Wechselrichter zuzugreifen. Es ist nicht möglich, auf beide gleichzeitig zuzugreifen (laut SolarEdge).
Okay,
hast Du ModBus / rs485 oder ModBus / Tcp konfiguriert?

Auf den Bildern sind die WRs ja alle durch geschliffen und sprechen somit auch miteinander. Der Master sollte dann die Erzeugung für alle anzeigen.
Was da noch fehlt ist die Messtechnik zwischen dem WR Master und dem Zähler. Die muss bei Dir aber vorhanden sein, denn ansonsten könnte die APP
nicht den Hausverbrauch anzeigen.
Hast Du denn die vollständige ModBus Devinition? Da sollten die Register alle beschrieben sein.
Die Register sind ja alle im PDF enthalten.

M_EVENT_Missing_Sensor 0x00000080 Sensor not connected     << das zeigt Dir an, ob ein Sensor (Energie Meter) verbaut ist

Die Register 40226 - 40242 sollten die sein, die Du suchst. Dabei sollte "M_*" für "Energie Meter" stehen.
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

Hi,
Du könntest auch in einem neuen Device den ModBus einfach mal komplett scannen und nachschauen, welche Register alle so vorhanden sind.
Die Ausgabe muss dann natürlich mit der Definition abgeglichen werden und entsprechend formatiert werden.
Wenn einen Wert gefunden hat, lässt sich oft einfach auf die anderen auch anwenden.

Dein jetziges Device scheint schon eine sehr verkürzte Definition zu sein. Das kannst Du in der Scan Zeit eventuell deaktivieren.
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

csb13

Hallo Christian,

bitte entschuldige die späte Antwort.

Danke für den Hinweis mit der Energie über den Zähler! Ich habe erst versucht, aus der importierten bzw. exportierten Energie mittels Ableitung die Leistung zu berechnen, die Werte haben aber extrem geschwankt. Dann habe ich im Abschnitt für "Meter 1"

Reactive Power
40216 40217 1 M_AC_VAR int16 VAR Total AC Reactive Power (sum of active phases)
40217 40218 1 M_AC_VAR_A int16 VAR Phase A AC Reactive Power
40218 40219 1 M_AC_VAR_B int16 VAR Phase B AC Reactive Power
40219 40220 1 M_AC_VAR_C int16 VAR Phase C AC Reactive Power
40220 40221 1 M_AC_VAR_SF int16 SF AC Reactive Power Scale Factor


entdeckt und das entspricht genau der Leistung, die ich gesucht habe. Also vielen Dank!!!