NEWS
[Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana
-
@sammydk sagte in [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana:
@hennerich
Auf die beiden Pfeile drücken.Danke Dietmar!
Hier mein Export (bitte bedenken, dass ich keinen Speicher habe)_address name description unit type len factor offset formula role room poll wp cw isScale 40000 C_SunSpec_ID "Wert = ""SunS"" (0x53756e53). Identifiziert dies eindeutig als eine SunSpec Modbus-Karte" uint32be 2 1 0 value true false false 40002 C_SunSpec_DID Wert = 0x0001. Identifiziert dies eindeutig als einen SunSpec “Common Block“ uint16be 1 1 0 value true false false 40003 C_SunSpec_Länge 65 = Länge eines Blocks in 16-bit Registern uint16be 1 1 0 value true false false 40004 C_Hersteller "Bei SunSpec eingetragener Wert = ""SolarEdge""" string 16 value true false false 40020 C_Modell Spezifischer SolarEdge Wert string 16 value true false false 40044 C_Version Spezifischer SolarEdge Wert string 8 value true false false 40052 C_Seriennummer Eindeutiger SolarEdge Wert string 16 value true false false 40069 C_SunSpec_DID 101 = Einphasig, 102 = Spaltphase, 103 = Dreiphasig uint16be 1 1 0 value true false false 40071 I_AC_Strom AC-Gesamtstromwert A uint16be 1 1 0 value true false false 40072 I_AC_StromA AC-Phase A (L1) Stromwert A uint16be 1 1 0 value true false false 40073 I_AC_StromB AC-Phase B (L2) Stromwert A uint16be 1 1 0 value true false false 40074 I_AC_StromC AC-Phase C (L3) Stromwert A uint16be 1 1 0 value true false false 40075 I_AC_Strom_SF AC-Strom Skalierungsfaktor SF int16be 1 1 0 value true false false 40083 I_AC_Leistung AC-Leistungswert W uint16be 1 1 0 value true false false 40084 I_AC_Leistung_SF AC-Leistung Skalierungsfaktor SF int16be 1 1 0 value true false false 40087 I_AC_VA Scheinleistung VA uint16be 1 1 0 value true false false 40088 I_AC_VA_SF Scheinleistung Skalierungsfaktor SF int16be 1 1 0 value true false false 40089 I_AC_VAR Blindleistung VAR uint16be 1 1 0 value true false false 40090 I_AC_VAR_SF Blindleistung Skalierungsfaktor SF int16be 1 1 0 value true false false 40091 I_AC_PF Leistungsfaktor % uint16be 1 1 0 value true false false 40092 I_AC_PF_SF Leistungsfaktor Skalierungsfaktor SF int16be 1 1 0 value true false false 40093 I_AC_Energie_WH AC Gesamt-Energieproduktion Wh uint32be 2 1 0 value true false false 40095 I_AC_Energie_WH_SF AC Gesamtenergie Skalierungsfaktor SF uint16be 1 1 0 value true false false 40096 I_DC_Strom DC-Stromwert A uint16be 1 1 0 value true false false 40097 I_DC_Strom_SF DC-Strom Skalierungsfaktor SF int16be 1 1 0 value true false false 40098 I_DC_Spannung DC-Spannungswert V uint16be 1 1 0 value true false false 40099 I_DC_Spannung_SF DC-Spannung Skalierungsfaktor SF int16be 1 1 0 value true false false 40100 I_DC_Leistung DC-Leistungswert W uint16be 1 1 0 value true false false 40101 I_DC_Leistung_SF DC-Leistung Skalierungsfaktor SF int16be 1 1 0 value true false false 40103 I_Temp_Kühler Kühlkörpertemperatur °C uint16be 1 1 0 value true false false 40106 I_Temp_SF Kühlkörpertemperatur Skalierungsfaktor SF int16be 1 1 0 value true false false 40107 I_Status Betriebszustand (1 = Aus, 2 = Schlafen (Automatisches Herunterfahren) – Nachtmodus, 3 = Aufwachen/Starten, 4 = Wechselrichter ist AN und wandelt Energie, 5 = Begrenzte Produktion, 6 = Herunterfahren, 7 = Fehler, 8 = Wartung/Setup) uint16be 1 1 0 value true false false 40108 I_Status_Anbieter Anbieter-spezifischer Betriebszustand sowie Fehlercodes: 1 = Aus, 2 = Schlafen (Automatisches Herunterfahren) – Nachtmodus, 3 = Aufwachen/Starten, 4 = Wechselrichter ist AN und wandelt Energie, 5 = Begrenzte Produktion, 6 = Herunterfahren, 7 = Fehler, 8 = Wartung/Setup uint16be 1 1 0 value true false false 40123 C_Manufacturer Meter manufacturer string 32 1 0 value true false false 40139 C_Model Meter model string 32 1 0 value true false false 40155 C_Option Export + Import, Production, consumption string 16 1 0 value true false false 40190 M_AC_Current AC Current (sum of active phases) A uint16be 1 1 0 value true false false 40194 M_AC_Current_S F AC Current Scale Factor SF int16be 1 1 0 value true false false 40206 M_AC_Power Total Real Power (sum of active phases) W int16be 1 1 0 value true false false 40210 M_AC_Power_SF AC Real Power Scale Factor SF int16be 1 1 0 value true false false 40226 M_Exported Total Exported Real Energy Wh uint32be 2 1 0 value true false false 40234 M_Imported Total Imported Real Energy Wh uint32be 2 1 0 value true false false 40242 M_Energy_W_SF Real Energy Scale Factor SF int16be 1 1 0 value true false false
-
@sammydk sagte in [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana:
@chris87
Hallo,
ist es dir möglich von deinem Solardashboard einen Export *.json zu machen, so wie Hennerich das im Tutorial am Anfang erstellt hat?
Bin überwältigt von deinem Dashboard und da meine Solaredge noch unterwegs ist bin ich natürlich schon mal am probieren und soweit es mir möglich ist am vorbereiten.G Dietmar
Du meinst aus dem Grafana?
Hier ist meins noch mal:
-
Daneben hatte ich mir noch eines für die Handyansicht gebaut. Falls das wen interessiert:
-
@hennerich
besten Dank dir noch mal für die schnelle Unterstützung.
Das json von Grafana, damit meinte ich @chris87, aber auch deine Arbeit ist sehr gelungen, vor allem die Idee mit der Handyseite, schau ich mir auch schon mal an. -
@hennerich
der Tip mit dem Speicher ist echt wertvoll, Ich bekomme einen LG ~10 kW, gut das Du das noch mal angesprochen hast.
Mit den beiden false false Werten lag ich ja dann doch richtig bei meiner Analyse.
Auch hierzu noch mal besten Dank -
@cybtrash Hi cybtrash, ich habe das gleiche Verhalten wie bei dir. Hast du schon eine Lösung dafür gefunden?
Ich habe soeben beim Solardge Support via WhatsApp eine Aktualisierung beider Wechselrichter anstoßen lassen.
Aktuelle Versionen bei mir sind:
DSP1 1.0.1159 (Update auf 1.0.1428)
DSP2 2.0.1012 (Update auf 2.0.1206) -
@cybtrash Meine Wechselrichter und Batterie wurden jetzt erfolgreich aktualisiert, jedoch ohne Erfolg.
Wechselrichter:
DSP1 = 1.0.1428
DSP2 = 2.0.1206
Kommunikationskarte (CPU) Version = 3.2724.0Ich weiß nicht, was man noch machen kann...
Ich könnte versuchen es als Bug bei SolarEdge anzugeben.
-
@sammydk
Sorry, hab länger nicht mehr nachgeschaut hier.
Welches Dashboard meinst du genau?
Hab inzwischen mehrere.
MfG Chris -
@chris87
Hallo Chris, leider kenne ich deine aktuellen Dashboards nicht, Habe nur ein hier im Forum von Dir gesehen und das war schon mal sehr schön, von den Inhalten und auch von der Gestalltung.
Ich benötige den/die Export einfach nur um zu lernen wie die Umsetzung erfolgt ist.
Wenn Du magst, kannst Du mir die ja auch als Export per PN zukommen lassen. -
Hallo zusammen,
ich bin neu hier und versuche meinen SolarEdge Wechselrichter auszulesen. Per Modbus. Das funktioniert auch grundsätzlich aber ich komme nicht an die von euch beschriebenen "M_xxxxx" Werte. Beispiel : "M_AC_Power", "M_Exported"
Alles was mir geliefert wird seht ihr unten in der Liste. (Daten zur Produktion aber nicht zum Bezug)
Habt ihr eine Idee wie ich auch an die M-Wertekomme?
Grundsätzlich ist der Wechselrichter auf bei der RS485-1 Schrittstelle auf "Modubus (Mulit-Gerät) eingestellt und der Zähler auf "Einspeisung und Bezug (E+I)
ich wäre euch sehr dankbar wenn ihr mir helfen könnte über den Modbus auch den Bezug auszulesen damit ich diesen gegen die Produktion rechnen kann.
NM_Module: "se_inverter" C_SunSpec_ID: "xxxxx" C_SunSpec_DID: "103" C_SunSpec_Length: "50" C_Manufacturer: "SolarEdge " C_Model: "SE10K-RWS48BEN4" C_Version: xxxx" C_SerialNumber: "xxxxx" C_DeviceAddress: "1" I_AC_Current: "0" I_AC_CurrentA: "0" I_AC_CurrentB: "0" I_AC_CurrentC: "0" I_AC_Current_SF: "-2" I_AC_VoltageAB: "4094" I_AC_VoltageBC: "4095" I_AC_VoltageCA: "4080" I_AC_VoltageAN: "2361" I_AC_VoltageBN: "2363" I_AC_VoltageCN: "2360" I_AC_Voltage_SF: "-1" I_AC_Power: "0" I_AC_Power_SF: "0" I_AC_Frequency: "5001" I_AC_Frequency_SF: "-2" I_AC_VA: "0" I_AC_VA_SF: "0" I_AC_VAR: "0" I_AC_VAR_SF: "0" I_AC_PF: "0" I_AC_PF_SF: "0" I_AC_Energy_WH: "7306819" I_AC_Energy_WH_SF: "0" I_DC_Current: "0" I_DC_Current_SF: "0" I_DC_Voltage: "0" I_DC_Voltage_SF: "-1" I_DC_Power: "0" I_DC_Power_SF: "0" I_Temp_Sink: "0" I_Temp_SF: "-2" I_Status: "2" I_Status_Vendor: "0" I_Event_1: "4294967295" I_Event_2: "4294967295" I_Event_1_Vendor: undefined I_Event_2_Vendor: "4294967295" I_Event_3_Vendor: "4294967295" I_Event_4_Vendor: "0"
-
Wichtig! Trotz der Tatsache, dass bei mir der Energiezähler erfolgreich installiert wurde und mir mein Solarteur mitgeteilt hat, dass alles korrekt funktioniert war bei mir Modbus TCP nicht aktiviert. Darauf müsst ihr achten, sonst klappt keine Verbindung.
@hennerich Starke Arbeit erstmal! Das hat mir richtig geholfen! Ich hatte ein ähnliches Problem was den Modbus-Zugang angeht.
MOD-EDIT: Text entschärft
-
Bitte keine Angaben hier im Forum ...
wie man mit einem Umweg an die Einstellung kommt !
( Das kann Böse enden , bei falschen Einstellungen die man noch wo anderes machen könnte )Bitte Editieren / löschen !
-
@glasfaser sagte in [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana:
Bitte keine Angaben hier im Forum ...
-
Hallo und vielen Dank erst mal für die tolle Dokumentation an die Autoren, dass hat mir sehr weiter geholfen. Ich habe 2 WR von SE. Einen "Slave" und einen "Master". Also einen 3 Phasen WR (SE7K) und einen SE10K RWS (Hybrid). An dem Hybrid WR hängt ein BYD Akku. Die Einrichtung der ModBus-Schnittstelle hat hervorragend geklappt und die Werte kommen auch logisch rein. Ich habe nur ein Problem bei der Darstellung der Werte für den Hausverbrauch, sobald der Akku geladen wird. Im Grund haben ich einfach folgende Schema (vereinfacht und ohne Akku) für den Verbrauch "PV-Leistung - Netzbezug = Hausverbrauch". Nur leider funktioniert das nicht, wenn der Akku geladen wird, da der Hybrid WR dann keinen Drehstromwert angibt.
Im Aktuellen Fall bekomme ich folgende Wert auf der SE-Plattform angezeigt
Im IO-Broker bekomme ich folgende Werte
In den Akku gibt der Hybrid-WR 3.500 Watt
Der SE7K erzeugt 1.380 Watt
Der Hybrid-WR erzeugt 0 Watt Drehstrom
Wie komme ich jetzt auf den richtigen Hausverbrauch. In meiner Naivität (lassen wir mach Wandlungsverluste außen vor. damit ich muss ich wahrscheinlich einfach leben)dachte ich mir folgendes, was aber nicht richtig zu sein scheint.
Ich rechnen einfach die Leistung (AC) des SE7K (1.380 W) + Leistung (AC) des SE10K (0 Watt) + die Leistung des SE10K, die in den Akku geht, müsste eigentlich DC sein (3.500 Watt) zusammen (ziehe Netzbezug ab und rechne Export drauf) und habe dann meine PV Leistung. In dem Fall also 4.880 Watt Erzeugung. Davon ziehe ich dann die Ladeleistung (AKKU) ab und haben den Hausverbrauch, wenn über das Netz nichts läuft. Also komme ich auf folgende Werte:
PV: 4.880 W
Akku: 3.500 W
Netz: 0 W
Verbrauch: 1.380 WDas ist aber laut Plattform falsch und ich weiß auch, dass ich aktuell keine 1.380 W verbrauche, da keine größeren Verbrauche an sind. Deswegen gehe ich davon aus, dass der Fehler bei mir liegt und die Werte aus der Plattform korrekt sind.
SE sagt mir also eine PV-Erzeugung von 4.120 Watt an. Das sind also 760 Watt Differenz zu meinen Werten. Wenn ich dies 760 Watt von meine errechneten Verbrauch abziehe, komme ich auch genau 620 Watt Verbrauch, aus der SE-Plattform. Ich habe also einen zu hohen Wert bei der Erzeugung. Entweder vom SE7K oder vom SE10K beim DC-Wert des Akku.
Ich versuche schon seit Wochen auf eine Lösung. Leider ohne Erfolg. Eine Königreich für einen Hinweis. Falls jemand eine Idee hat, bin ich mehr als Dankbar dafür. Sorry für den Langen Post.
-
Beim Entladen passt es wieder. Es ist so, dass der Hybrid WR beim Laden keinen Drehstrom anzeigt, insofern nicht noch ins Netz gespeist wird. Wie ist das denn bei Anderen, die einen Hybrid WR haben?
-
Keiner eine Idee oder einen Hinweis?
-
@juri88 sagte in [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana:
Ich habe 2 WR von SE. Einen "Slave" und einen "Master". Also einen 3 Phasen WR (SE7K) und einen SE10K RWS (Hybrid). An dem Hybrid WR hängt ein BYD Akku.
Hey, ich habe ein ähnliches System - SE9K WR (3-phasig) und SE5000H WR (1-phasig) mit LG-Speicher. Der SE5000H ist der Master, der SE9K ist Slave.
Wie komme ich jetzt auf den richtigen Hausverbrauch. In meiner Naivität (lassen wir mach Wandlungsverluste außen vor. damit ich muss ich wahrscheinlich einfach leben)dachte ich mir folgendes, was aber nicht richtig zu sein scheint.
Ich rechnen einfach die Leistung (AC) des SE7K (1.380 W) + Leistung (AC) des SE10K (0 Watt) + die Leistung des SE10K, die in den Akku geht, müsste eigentlich DC sein (3.500 Watt) zusammen.Bis hier hin mache ich das selbe - das ist bei mir der PV-Ertrag - also das, was die Sonne aktuell liefert (in Deinen Worten - die PV Leistung)
(ziehe Netzbezug ab und rechne Export drauf) und habe dann meine PV Leistung. In dem Fall also 4.880 Watt Erzeugung. Davon ziehe ich dann die Ladeleistung (AKKU) ab und haben den Hausverbrauch, wenn über das Netz nichts läuft.
Hier ist Dein Fehler. Von dem oben genannten PV-Ertrag ziehst Du nun die Werte des Energiezählers ab (Einspeisung ist positiv, Bezug ist negativ), um Deinen Stromverbrauch im Haus zu ermitteln.
Zahlenbeispiel:
WR1 liefert 2500W
WR2 liefert 0W, läd aber mit 2000W den Speicher
Wenn Du jetzt 0W Hausverbrauch hättest, würdest Du am Energiezähler 2500W Einspeisung sehen.
Hast Du 500W Hausverbrauch, siehst Du von den 2500W des WR1 nur 2000W am Energiezähler - der Rest geht im Haus drauf - das ist dann Dein Hausverbrauch.Ich hoffe, ich habe er verständlich erklärt.
Viele Grüße,
Strobi -
@smidl hast du das Problem in den Griff bekommen?
Stehe vor der gleichen Problematik
-
@smidl sagte in [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana:
Vielen Dank für das super Tutorial. Bei mir hat soweit alles funktioniert.
Ich habe den WR SolarEdge SE10K - RWS und den BYD LVS 8.0 Speicher.
Ein Problem bei der Kombination ist der Wert für die aktuelle PV-Leistung vom Dach. Der sollte in der Nacht ja bei ~0W stehen. Tut er aber nicht sondern liefert mir den Wert (annähernd) meines Hausverbrauches, welcher ja nachts aus dem Speicher entladen wird.
Den Wert sollte es doch aber geben? Zumindest im Portal oder in der mySolarEdge App ist der Wert ja bekannt.
Hat jemand von euch eine Idee, wie ich den Wert raus bekomme?
Das gleiche Problem habe ich beim Laden des Speichers. Einen zuverlässigen Wert für 40083_I_AC_Leistung bekomme ich erst, sobald der Speicher voll ist.
Ich könnte das ja auch berechnen, indem ich die Lade-/Entlade-Leistung abhängig vom 57734_Battery Register mit einbeziehe, nur ist das ja nicht gerade gewollt.Hat jemand das selbe Problem?
Hast du das Problem lösen können? Stehe vor der gleichen Problematik
-
Ich bin begeistert. Endlich ein super Tutorial für SE und Modbus. Besteht irgendwie die Chance das ganze auch für nen Modbus Proxy umzusetzen? Ich tue mich da gerade schwer. Ziel: OpenWB und Victron Batterie WR sollen auf den Modbus Stream des SE Zählers zugreifen können. Hintergrund: Die OpenWB fragt aktuell per Modbus den Solaredge Modbus Zähler ab. Diese Daten ruft der Victron Batterie Wechselrichter (MP2) über MQTT von der openWB ab und regelt entsprechend die Ein- bzw. Ausspeiseleistung der Batterie. Das (schwierige )Ziel natürlich: 0 Einspeisung.
Wie man auf der Grafik sieht, klappt das bei schnellen, starken Lastanstiegen so gut wie nie.