NEWS
[Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana
-
Hallo in die Runde,
ich lese meinen Wechselrichter über den M-Bus aus und stelle die Daten grafisch im iobroker da. Jetzt würde gern mal wissen, welcher Werte bitte folgende Daten sind.
Hausverbrauch
PV-Leitung(was produziert wird)
Netzeinspeisung/bezug
Vielen Dank. -
Hallo in die Runde,
ich lese meinen Wechselrichter über den M-Bus aus und stelle die Daten grafisch im iobroker da. Jetzt würde gern mal wissen, welcher Werte bitte folgende Daten sind.
Hausverbrauch
PV-Leitung(was produziert wird)
Netzeinspeisung/bezug
Vielen Dank.@longbow sagte in [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana:
über den M-Bus aus
welcher Werte bitte folgende Daten sind.
Hausverbrauch
PV-Leitung(was produziert wird)
Netzeinspeisung/bezugSteht doch alles im Threadstart !?
..aber kein M-Bus , sondern hier geht es um Modbus !! -
@longbow sagte in [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana:
über den M-Bus aus
welcher Werte bitte folgende Daten sind.
Hausverbrauch
PV-Leitung(was produziert wird)
Netzeinspeisung/bezugSteht doch alles im Threadstart !?
..aber kein M-Bus , sondern hier geht es um Modbus !!Danke… ich finde nichts, bin wohl zu blöd… kannst du es mir aber mal bitte sagen, vielen Dank
-
Danke… ich finde nichts, bin wohl zu blöd… kannst du es mir aber mal bitte sagen, vielen Dank
@all
In einem neben " Thread "hat einer Probleme bei der Modbusabfrage des Slave WR.
https://forum.iobroker.net/topic/64745/wechselrichter-slave
Da ich diese Kombination nicht habe , vielleicht kann einer von euch Ihm weiterhelfen ,
Tipps geben , usw. ...SE10K-RWS48BNN4
BVD LVS12Slave : SE4K RWB
-
Hallo Forum,
ich habe mich bewusst dafür entschieden, diesen Topic nicht unter der Kategorie Visualisierung zu posten, weil es hier primär um die Anbindung des SolarEdge Systems an ioBroker geht. Visualisierung kommt später bzw. ist hier nur am Rande ein Thema.
Vorweg möchte ich sagen, dass ich ein einfacher Nutzer bin und weder tiefe Kenntnisse im SolarEdge Bereich noch im ioBroker habe. Alle Informationen habe ich mir entweder selbst erarbeitet oder User aus den Foren (hauptsächlich hier oder im Photofoltaikforum) haben für die gleichen Fragen die entsprechenden Antworten gefunden. Mir geht es in erster Linie darum, an einer Stelle alle für dieses Szenario notwendigen Informationen zu sammeln.Teil1 – Konfiguration Modbus Adapter
Voraussetzungen:
Ihr braucht natürlich in erster Linie erst einmal einen SolarEdge Wechselrichter. In meinem Fall ist das der SE25k Wechselrichter.
Außerdem wird zwingend der Energiezähler mit Modbus Anschluss benötigt. Der Wechselrichter kann von Haus aus kein Modbus sprechen. Der Energiezähler kommt noch mit den jeweiligen Stromwandlern, die im Sicherungskasten verbaut werden. Ihr lasst das natürlich von einem Fachmann erledigen.Zu guter Letzt gehe ich davon aus, dass ihr den Wechselrichter in euer Heimnetz eingebunden habt und dieser IP technisch auch erreichbar ist. Falls ihr nicht wisst, welche IP Adresse euer Router per DHCP vergeben hat, lasst ihr euch das von eurem Solarteur sagen, die können in die Netzwerkkonfiguration des WR reinschauen oder ihr habt die App und könnt selbst nachschauen (nur mit aktiver Registrierung als Installateur möglich).

ioBroker Setup:
Ihr habt natürlich schon ioBroker laufen und das System funktioniert ohne Fehler.
Verwendete Versionen bei mir:


Zuerst fügt ihr einen (weiteren) Modbus Adapter hinzu. Bei mir sind es mittlerweile 2 Stück, weil ich auch noch meine Heizung wie hier beschrieben angebunden habe.
Danach wird der Adapter konfiguriert.

Partner IP Adresse ist die von eurem Wechselrichter.
Der Port ist der default eingestellte Port für den Modbus im Wechselrichter, solltet ihr nicht ändern müssen.
Die Geräte ID ist (in meinem Fall) die 1.

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.

Und noch was wichtiges! Wenn ihr nur die Verbindungseinstellungen vom Modbus im ioBroker konfiguriert habt und keine Daten, die ihr abrufen wollt, dann verbindet sich der Adapter auch nicht. Ich hab da ganz schön lange suchen müssen, bevor ich dazu eine Lösung hatte. Ich dachte immer, an meiner Konfiguration würde etwas nicht stimmen.
Also richtet ihr mindestens eine Adresse unter Holding Register ein, die ihr abrufen wollt. Und bevor ihr das tut, schaut ihr erstmal in die dazugehörige SolarEdge Doku:
Englisch (ist ausführlicher als die deutsche, ich verstehe nicht warum)
DeutschIch beziehe mich jetzt an dieser Stelle mal auf die englische Dokumentation. Dort stehen ab der Seite 16 die erforderlichen Informationen.
Auf der Seite 15 unten findet ihr aber noch eine weitere, wichtige Information, die ich bei mir leider überlesen (bzw. nicht verstanden hatte):
The base Register Common Block is set to 40001 (MODBUS PLC address [base 1]) or 40000 (MODBUS Protocol Address [base 0]).In meinem Fall wird base 0 verwendet (fragt mich nicht warum und wieso) und das bedeutet, dass alle in der Doku stehenden Adressen um eins reduziert werden müssen.
Beispiel:
ID 40094 ist die gesamte, produzierte Energie in Wh und die muss dann im Modbus ioBroker die ID 40093 sein.Ihr müsst dann selbst entscheiden, welche Adressen ihr importieren möchtet und welche ihr nicht braucht.
Hier hab ich euch mal meinen Export angehangen:
Ab der Seite 16 unten findet ihr die Adressen des Wechselrichters und 19 die Adressen für Meter 1 (also den Energiemesser). Meter 2 und 3 sind bei mir nicht vorhanden.
So sieht das ganze jetzt bei mir aus:

Wenn ihr alles richtig gemacht habt, dann ist 1. Eure Modbus Instanz grün und ihr findet in den Objekten die ausgelesenen Werte.
@all,
dank der Super Informationen aus dem Post konnte ich bis jetzt die Werte meines SE7k super in Grafana abbilden, bis gestern.
Gestern habe ich endlich meinen Speicher LG RESU 10 (48 Volt) bekommen.
Seit dem stimmen die Werte die ich per Holding aus dem SE auslesen zum Teil nicht mehr. Besonders auffällig ist die aktuelle PV Erzeugung. Diese ist seit der IBS des Speichers nur noch so hoch wie der eigentliche Hausverbrauch. Hat hier jemand in dieser Konstellation ein ähnliches Problem?Hier mein Holding Register
_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 false 40002 C_SunSpec_DID Wert = 0x0001. Identifiziert dies eindeutig als einen SunSpec “Common Block“ uint16be 1 1 0 value true false false false 40003 C_SunSpec_Länge 65 = Länge eines Blocks in 16-bit Registern uint16be 1 1 0 value true false false false 40004 C_Hersteller "Bei SunSpec eingetragener Wert = ""SolarEdge""" string 16 1 0 value true false false false 40020 C_Modell Spezifischer SolarEdge Wert string 16 1 0 value true false false false 40044 C_Version Spezifischer SolarEdge Wert string 8 1 0 value true false false false 40052 C_Seriennummer Eindeutiger SolarEdge Wert string 16 1 0 value true false false false 40068 C_Geräteadresse Modbus-ID der entsprechenden Einheit uint16be 1 1 0 value true false false false 40069 C_SunSpec_DID 101 = Einphasig, 102 = Spaltphase, 103 = Dreiphasig uint16be 1 1 0 value true false false false 40070 C_SunSpec_Länge 50 = Länge des Modellblocks Register uint16be 1 1 0 value true false false false 40071 I_AC_Strom AC-Gesamtstromwert A uint16be 1 1 0 x * Math.pow(10, sf['40075']) value true false false false 40072 I_AC_StromA AC-Phase A (L1) Stromwert A uint16be 1 1 0 x * Math.pow(10, sf['40075']) value true false false false 40073 I_AC_StromB AC-Phase B (L2) Stromwert A uint16be 1 1 0 x * Math.pow(10, sf['40075']) value true false false false 40074 I_AC_StromC AC-Phase C (L3) Stromwert A uint16be 1 1 0 x * Math.pow(10, sf['40075']) value true false false false 40075 I_AC_Strom_SF AC-Strom Skalierungsfaktor int16be 1 1 0 value true false false true 40076 I_AC_SpannungAB AC-Spannung Phase AB (L1-L2) Wert V uint16be 1 1 0 x * Math.pow(10, sf['40082']) value true false false false 40077 I_AC_SpannungBC AC-Spannung Phase BC (L2-L3) Wert V uint16be 1 1 0 x * Math.pow(10, sf['40082']) value true false false false 40078 I_AC_SpannungCA AC-Spannung Phase CA (L3-L1) Wert V uint16be 1 1 0 x * Math.pow(10, sf['40082']) value true false false false 40079 I_AC_SpannungAN AC-Spannung Phase A-N (L1-N) Wert V uint16be 1 1 0 x * Math.pow(10, sf['40082']) value true false false false 40080 I_AC_SpannungBN AC-Spannung Phase B-N (L2-N) Wert V uint16be 1 1 0 x * Math.pow(10, sf['40082']) value true false false false 40081 I_AC_SpannungCN AC-Spannung Phase C-N (L3-N) Wert V uint16be 1 1 0 x * Math.pow(10, sf['40082']) value true false false false 40082 I_AC_Spannung_SF AC-Spannung Skalierungsfaktor int16be 1 1 0 value true false false true 40083 I_AC_Leistung AC-Leistungswert W uint16be 1 1 0 x * Math.pow(10, sf['40084']) value true false false false 40084 I_AC_Leistung_SF AC-Leistung Skalierungsfaktor int16be 1 1 0 value true false false true 40085 I_AC_Frequenz Frequenzwert Hz uint16be 1 1 0 x * Math.pow(10, sf['40086']) value true false false false 40086 I_AC_Frequenz_SF Frequenz Skalierungsfaktor int16be 1 1 0 value true false false true 40087 I_AC_VA Scheinleistung VA uint16be 1 1 0 x * Math.pow(10, sf['40088']) value true false false false 40088 I_AC_VA_SF Scheinleistung Skalierungsfaktor int16be 1 1 0 value true false false true 40089 I_AC_VAR Blindleistung VAR uint16be 1 1 0 x * Math.pow(10, sf['40090']) value true false false false 40090 I_AC_VAR_SF Blindleistung Skalierungsfaktor int16be 1 1 0 value true false false true 40091 I_AC_PF Leistungsfaktor % uint16be 1 1 0 x * Math.pow(10, sf['40092']) value true false false false 40092 I_AC_PF_SF Leistungsfaktor Skalierungsfaktor int16be 1 1 0 value true false false true 40093 I_AC_Energie_WH AC Gesamt-Energieproduktion Wh uint32be 2 1 0 x * Math.pow(10, sf['40095']) value true false false false 40095 I_AC_Energie_WH_SF AC Gesamtenergie Skalierungsfaktor uint16be 1 1 0 value true false false true 40096 I_DC_Strom DC-Stromwert A uint16be 1 1 0 x * Math.pow(10, sf['40097']) value true false false false 40097 I_DC_Strom_SF DC-Strom Skalierungsfaktor int16be 1 1 0 value true false false true 40098 I_DC_Spannung DC-Spannungswert V uint16be 1 1 0 x * Math.pow(10, sf['40099']) value true false false false 40099 I_DC_Spannung_SF DC-Spannung Skalierungsfaktor int16be 1 1 0 value true false false true 40100 I_DC_Leistung DC-Leistungswert W uint16be 1 1 0 x * Math.pow(10, sf['40101']) value true false false false 40101 I_DC_Leistung_SF DC-Leistung Skalierungsfaktor int16be 1 1 0 value true false false true 40103 I_Temp_Kühler Kühlkörpertemperatur °C uint16be 1 1 0 x * Math.pow(10, sf['40106']) value true false false false 40106 I_Temp_SF Kühlkörpertemperatur Skalierungsfaktor int16be 1 1 0 value true false false true 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 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 false 40121 meter_C_SunSpec_DID Value = 0x0001. Uniquely identifies this as a SunSpec Common Model Block uint16be 1 1 0 value true false false false 40122 meter_C_SunSpec_Length 65 = Length of block in 16-bit registers uint16be 1 1 0 value true false false false 40123 meter_C_Manufacturer Meter manufacturer string 32 1 0 value true false false false 40139 meter_C_Model Meter model string 32 1 0 value true false false false 40155 meter_C_Option Export + Import, Production, consumption, string 16 1 0 value true false false false 40163 meter_C_Version Meter version string 16 1 0 value true false false false 40171 meter_C_SerialNumber Meter SN string 32 1 0 value true false false false 40187 meter_C_DeviceAddress Inverter Modbus ID uint16be 1 1 0 value true false false false 40188 meter_C_SunSpec_DID Well-known value. Uniquely identifies this as a SunSpecMODBUS Map: Single Phase (AN or AB) Meter (201) Split Single Phase (ABN) Meter (202) Wye-Connect Three Phase (ABCN) Meter (203) Delta-Connect Three Phase (ABC) Meter(204) uint16be 1 1 0 value true false false false 40189 meter_C_SunSpec_Length Length of meter model block uint16be 1 1 0 value true false false false 40190 meter_M_AC_Current AC Current (sum of active phases) A int16be 1 1 0 x * Math.pow(10, sf['40194']) value true false false false 40191 meter_M_AC_Current_A Phase A AC Current A int16be 1 1 0 x * Math.pow(10, sf['40194']) value true false false false 40192 meter_M_AC_Current_B Phase B AC Current A int16be 1 1 0 x * Math.pow(10, sf['40194']) value true false false false 40193 meter_M_AC_Current_C Phase C AC Current A int16be 1 1 0 x * Math.pow(10, sf['40194']) value true false false false 40194 meter_M_AC_Current_SF AC Current Scale Factor int16be 1 1 0 value true false false true 40195 meter_M_AC_Voltage_L N Line to Neutral AC Voltage (average of active phases) V int16be 1 1 0 x * Math.pow(10, sf['40203']) value true false false false 40196 meter_M_AC_Voltage_A N Phase A to Neutral AC Voltage V int16be 1 1 0 x * Math.pow(10, sf['40203']) value true false false false 40197 meter_M_AC_Voltage_B N Phase B to Neutral AC Voltage V int16be 1 1 0 x * Math.pow(10, sf['40203']) value true false false false 40198 meter_M_AC_Voltage_C N Phase C to Neutral AC Voltage V int16be 1 1 0 x * Math.pow(10, sf['40203']) value true false false false 40199 meter_M_AC_Voltage_L L Line to Line AC Voltage (average of active phases) V int16be 1 1 0 x * Math.pow(10, sf['40203']) value true false false false 40200 meter_M_AC_Voltage_A B Phase A to Phase B AC Voltage V int16be 1 1 0 x * Math.pow(10, sf['40203']) value true false false false 40201 meter_M_AC_Voltage_B C Phase B to Phase C AC Voltage V int16be 1 1 0 x * Math.pow(10, sf['40203']) value true false false false 40202 meter_M_AC_Voltage_C A Phase C to Phase A AC Voltage V int16be 1 1 0 x * Math.pow(10, sf['40203']) value true false false false 40203 meter_M_AC_Voltage_SF AC Voltage Scale Factor int16be 1 1 0 value true false false true 40204 meter_M_AC_Freq AC Frequency Hz int16be 1 1 0 x * Math.pow(10, sf['40205']) value true false false false 40205 meter_M_AC_Freq_SF AC Frequency Scale Factor int16be 1 1 0 value true false false true 40206 meter_M_AC_Power Total Real Power (sum of active phases) W int16be 1 1 0 x * Math.pow(10, sf['40210']) value true false false false 40207 meter_M_AC_Power_A Phase A AC Real Power W int16be 1 1 0 x * Math.pow(10, sf['40210']) value true false false false 40208 meter_M_AC_Power_B Phase B AC Real Power W int16be 1 1 0 x * Math.pow(10, sf['40210']) value true false false false 40209 meter_M_AC_Power_C Phase C AC Real Power W int16be 1 1 0 x * Math.pow(10, sf['40210']) value true false false false 40210 meter_M_AC_Power_SF AC Real Power Scale Factor int16be 1 1 0 value true false false true 40211 meter_M_AC_VA Total AC Apparent Power (sum of active phases) VA int16be 1 1 0 x * Math.pow(10, sf['40215']) value true false false false 40212 meter_M_AC_VA_A Phase A AC Apparent Power VA int16be 1 1 0 x * Math.pow(10, sf['40215']) value true false false false 40213 meter_M_AC_VA_B Phase B AC Apparent Power VA int16be 1 1 0 x * Math.pow(10, sf['40215']) value true false false false 40214 meter_M_AC_VA_C Phase C AC Apparent Power VA int16be 1 1 0 x * Math.pow(10, sf['40215']) value true false false false 40215 meter_M_AC_VA_SF AC Apparent Power Scale Factor int16be 1 1 0 value true false false true 40226 meter_M_Exported Total Exported Real Energy Wh uint32be 2 1 0 x * Math.pow(10, sf['40242']) value true false false false 40228 meter_M_Exported_A Phase A Exported Real Energy Wh uint32be 2 1 0 x * Math.pow(10, sf['40242']) value true false false false 40230 meter_M_Exported_B Phase B Exported Real Energy Wh uint32be 2 1 0 x * Math.pow(10, sf['40242']) value true false false false 40232 meter_M_Exported_C Phase C Exported Real Energy Wh uint32be 2 1 0 x * Math.pow(10, sf['40242']) value true false false false 40234 meter_M_Imported Total Imported Real Energy Wh uint32be 2 1 0 x * Math.pow(10, sf['40242']) value true false false false 40236 meter_M_Imported_A Phase A Imported Real Energy Wh uint32be 2 1 0 x * Math.pow(10, sf['40242']) value true false false false 40238 meter_M_Imported_B Phase B Imported Real Energy Wh uint32be 2 1 0 x * Math.pow(10, sf['40242']) value true false false false 40240 meter_M_Imported_C Phase C Imported Real Energy Wh uint32be 2 1 0 x * Math.pow(10, sf['40242']) value true false false false 40242 meter_M_Energy_W_SF Real Energy Scale Factor int16be 1 1 0 value true false false true 40293 meter_M_Events See M_EVENT_ flags. 0 = nts. uint32be 2 1 0 value true false false false 57664 Battery 1 Device ID Batterie Geräte ID uint16be 1 1 0 value true false false false 57666 Battery 1 Rated Energy Batterie Nennkapazität Wh floatsw 2 1 0 value true false false false 57668 Battery 1 Max Charge Continues Power Batterie maximale Ladeleistung W floatsw 2 1 0 value true false false false 57670 Battery 1 Max Discharge Continues Power Batterie maximale Entladeleistung W floatsw 2 1 0 value true false false false 57672 Battery 1 Max Charge Peak Power Batterie maximale Ladespitzenleistung W floatsw 2 1 0 value true false false false 57674 Battery 1 Max Discharge Peak Power Batterie maximale Entladespitzenleistung W floatsw 2 1 0 value true false false false 57708 Battery 1 Average Temperature Batterie Durchschnittstemperatur °C floatsw 2 1 0 value true false false false 57710 Battery 1 Max Temperature Batterie maximale Temperatur °C floatsw 2 1 0 value true false false false 57712 Battery 1 Instantaneous Voltage Batterie momentane Spannung V floatsw 2 1 0 value true false false false 57714 Battery 1 Instantaneous Current Batterie momentane Stromstärke A floatsw 2 1 0 value true false false false 57716 Battery 1 Instantaneous Power Batterie momentane Leistung W floatsw 2 1 0 value true false false false 57718 Battery 1 Lifetime Export Energy Counter Batterie Gesamtenergie entladen Wh uint64le 4 1 0 value true false false false 57722 Battery 1 Lifetime Import Energy Counter Batterie Gesamtenergie geladen Wh uint64le 4 1 0 value true false false false 57726 Battery 1 Max Energy Batteriekapazität aktualisiert nach Alterung Wh floatsw 2 1 0 value true false false false 57728 Battery 1 Available Energy Batterie verfügbare Energie Wh floatsw 2 1 0 value true false false false 57730 Battery 1 State of Health (SOH) Batterie Verhältnis von Nennkapazität zu Batteriekapazität nach Alterung % floatsw 2 1 0 value true false false false 57732 Battery 1 State of Energy (SOE) Batterie Ladezustand (verfügbare Energie zu mögliche Kapazität) % floatsw 2 1 0 value true false false false 57734 Battery 1 Status Batterie Zustand (0 = Aus, 1 = Standby, 2 = Initialisierung, 3 = Laden, 4 = Entladen, 5 = Fehler, 6 = Leerlauf) uint32sw 2 1 0 level true false false falseErgebnis Holding Registar

Und die App liefert mir

Hier ist ein gravierender Unterschied festzustellen. Lt App wird hier 2,07 kW erzeugt lt. Holding Registar nur noch schlappe 354 W, vor der Installtion der Speichers passten die Werte alle.
Muss man sich die werte jetzt aus unterschiedlichen Werten zusammenrechnen , die SF sind in den Holdig Registar mit berücksichtigt.
Bis jetzt sehe ich hier keinen Zusammenhang.
Wer Infos hierzu hat, bin über jeden Tip dankbar.
G DietmarIch glaube ich hab das Problem entdeckt. So wie es aussieht, muss ich die Batterieladung + den Hausverbrauch + den Export addieren und den Import abziehen, damit ich auf die aktuelle PV Leistung komme. Kann das jemand bestätigen?
-
@all,
dank der Super Informationen aus dem Post konnte ich bis jetzt die Werte meines SE7k super in Grafana abbilden, bis gestern.
Gestern habe ich endlich meinen Speicher LG RESU 10 (48 Volt) bekommen.
Seit dem stimmen die Werte die ich per Holding aus dem SE auslesen zum Teil nicht mehr. Besonders auffällig ist die aktuelle PV Erzeugung. Diese ist seit der IBS des Speichers nur noch so hoch wie der eigentliche Hausverbrauch. Hat hier jemand in dieser Konstellation ein ähnliches Problem?Hier mein Holding Register
_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 false 40002 C_SunSpec_DID Wert = 0x0001. Identifiziert dies eindeutig als einen SunSpec “Common Block“ uint16be 1 1 0 value true false false false 40003 C_SunSpec_Länge 65 = Länge eines Blocks in 16-bit Registern uint16be 1 1 0 value true false false false 40004 C_Hersteller "Bei SunSpec eingetragener Wert = ""SolarEdge""" string 16 1 0 value true false false false 40020 C_Modell Spezifischer SolarEdge Wert string 16 1 0 value true false false false 40044 C_Version Spezifischer SolarEdge Wert string 8 1 0 value true false false false 40052 C_Seriennummer Eindeutiger SolarEdge Wert string 16 1 0 value true false false false 40068 C_Geräteadresse Modbus-ID der entsprechenden Einheit uint16be 1 1 0 value true false false false 40069 C_SunSpec_DID 101 = Einphasig, 102 = Spaltphase, 103 = Dreiphasig uint16be 1 1 0 value true false false false 40070 C_SunSpec_Länge 50 = Länge des Modellblocks Register uint16be 1 1 0 value true false false false 40071 I_AC_Strom AC-Gesamtstromwert A uint16be 1 1 0 x * Math.pow(10, sf['40075']) value true false false false 40072 I_AC_StromA AC-Phase A (L1) Stromwert A uint16be 1 1 0 x * Math.pow(10, sf['40075']) value true false false false 40073 I_AC_StromB AC-Phase B (L2) Stromwert A uint16be 1 1 0 x * Math.pow(10, sf['40075']) value true false false false 40074 I_AC_StromC AC-Phase C (L3) Stromwert A uint16be 1 1 0 x * Math.pow(10, sf['40075']) value true false false false 40075 I_AC_Strom_SF AC-Strom Skalierungsfaktor int16be 1 1 0 value true false false true 40076 I_AC_SpannungAB AC-Spannung Phase AB (L1-L2) Wert V uint16be 1 1 0 x * Math.pow(10, sf['40082']) value true false false false 40077 I_AC_SpannungBC AC-Spannung Phase BC (L2-L3) Wert V uint16be 1 1 0 x * Math.pow(10, sf['40082']) value true false false false 40078 I_AC_SpannungCA AC-Spannung Phase CA (L3-L1) Wert V uint16be 1 1 0 x * Math.pow(10, sf['40082']) value true false false false 40079 I_AC_SpannungAN AC-Spannung Phase A-N (L1-N) Wert V uint16be 1 1 0 x * Math.pow(10, sf['40082']) value true false false false 40080 I_AC_SpannungBN AC-Spannung Phase B-N (L2-N) Wert V uint16be 1 1 0 x * Math.pow(10, sf['40082']) value true false false false 40081 I_AC_SpannungCN AC-Spannung Phase C-N (L3-N) Wert V uint16be 1 1 0 x * Math.pow(10, sf['40082']) value true false false false 40082 I_AC_Spannung_SF AC-Spannung Skalierungsfaktor int16be 1 1 0 value true false false true 40083 I_AC_Leistung AC-Leistungswert W uint16be 1 1 0 x * Math.pow(10, sf['40084']) value true false false false 40084 I_AC_Leistung_SF AC-Leistung Skalierungsfaktor int16be 1 1 0 value true false false true 40085 I_AC_Frequenz Frequenzwert Hz uint16be 1 1 0 x * Math.pow(10, sf['40086']) value true false false false 40086 I_AC_Frequenz_SF Frequenz Skalierungsfaktor int16be 1 1 0 value true false false true 40087 I_AC_VA Scheinleistung VA uint16be 1 1 0 x * Math.pow(10, sf['40088']) value true false false false 40088 I_AC_VA_SF Scheinleistung Skalierungsfaktor int16be 1 1 0 value true false false true 40089 I_AC_VAR Blindleistung VAR uint16be 1 1 0 x * Math.pow(10, sf['40090']) value true false false false 40090 I_AC_VAR_SF Blindleistung Skalierungsfaktor int16be 1 1 0 value true false false true 40091 I_AC_PF Leistungsfaktor % uint16be 1 1 0 x * Math.pow(10, sf['40092']) value true false false false 40092 I_AC_PF_SF Leistungsfaktor Skalierungsfaktor int16be 1 1 0 value true false false true 40093 I_AC_Energie_WH AC Gesamt-Energieproduktion Wh uint32be 2 1 0 x * Math.pow(10, sf['40095']) value true false false false 40095 I_AC_Energie_WH_SF AC Gesamtenergie Skalierungsfaktor uint16be 1 1 0 value true false false true 40096 I_DC_Strom DC-Stromwert A uint16be 1 1 0 x * Math.pow(10, sf['40097']) value true false false false 40097 I_DC_Strom_SF DC-Strom Skalierungsfaktor int16be 1 1 0 value true false false true 40098 I_DC_Spannung DC-Spannungswert V uint16be 1 1 0 x * Math.pow(10, sf['40099']) value true false false false 40099 I_DC_Spannung_SF DC-Spannung Skalierungsfaktor int16be 1 1 0 value true false false true 40100 I_DC_Leistung DC-Leistungswert W uint16be 1 1 0 x * Math.pow(10, sf['40101']) value true false false false 40101 I_DC_Leistung_SF DC-Leistung Skalierungsfaktor int16be 1 1 0 value true false false true 40103 I_Temp_Kühler Kühlkörpertemperatur °C uint16be 1 1 0 x * Math.pow(10, sf['40106']) value true false false false 40106 I_Temp_SF Kühlkörpertemperatur Skalierungsfaktor int16be 1 1 0 value true false false true 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 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 false 40121 meter_C_SunSpec_DID Value = 0x0001. Uniquely identifies this as a SunSpec Common Model Block uint16be 1 1 0 value true false false false 40122 meter_C_SunSpec_Length 65 = Length of block in 16-bit registers uint16be 1 1 0 value true false false false 40123 meter_C_Manufacturer Meter manufacturer string 32 1 0 value true false false false 40139 meter_C_Model Meter model string 32 1 0 value true false false false 40155 meter_C_Option Export + Import, Production, consumption, string 16 1 0 value true false false false 40163 meter_C_Version Meter version string 16 1 0 value true false false false 40171 meter_C_SerialNumber Meter SN string 32 1 0 value true false false false 40187 meter_C_DeviceAddress Inverter Modbus ID uint16be 1 1 0 value true false false false 40188 meter_C_SunSpec_DID Well-known value. Uniquely identifies this as a SunSpecMODBUS Map: Single Phase (AN or AB) Meter (201) Split Single Phase (ABN) Meter (202) Wye-Connect Three Phase (ABCN) Meter (203) Delta-Connect Three Phase (ABC) Meter(204) uint16be 1 1 0 value true false false false 40189 meter_C_SunSpec_Length Length of meter model block uint16be 1 1 0 value true false false false 40190 meter_M_AC_Current AC Current (sum of active phases) A int16be 1 1 0 x * Math.pow(10, sf['40194']) value true false false false 40191 meter_M_AC_Current_A Phase A AC Current A int16be 1 1 0 x * Math.pow(10, sf['40194']) value true false false false 40192 meter_M_AC_Current_B Phase B AC Current A int16be 1 1 0 x * Math.pow(10, sf['40194']) value true false false false 40193 meter_M_AC_Current_C Phase C AC Current A int16be 1 1 0 x * Math.pow(10, sf['40194']) value true false false false 40194 meter_M_AC_Current_SF AC Current Scale Factor int16be 1 1 0 value true false false true 40195 meter_M_AC_Voltage_L N Line to Neutral AC Voltage (average of active phases) V int16be 1 1 0 x * Math.pow(10, sf['40203']) value true false false false 40196 meter_M_AC_Voltage_A N Phase A to Neutral AC Voltage V int16be 1 1 0 x * Math.pow(10, sf['40203']) value true false false false 40197 meter_M_AC_Voltage_B N Phase B to Neutral AC Voltage V int16be 1 1 0 x * Math.pow(10, sf['40203']) value true false false false 40198 meter_M_AC_Voltage_C N Phase C to Neutral AC Voltage V int16be 1 1 0 x * Math.pow(10, sf['40203']) value true false false false 40199 meter_M_AC_Voltage_L L Line to Line AC Voltage (average of active phases) V int16be 1 1 0 x * Math.pow(10, sf['40203']) value true false false false 40200 meter_M_AC_Voltage_A B Phase A to Phase B AC Voltage V int16be 1 1 0 x * Math.pow(10, sf['40203']) value true false false false 40201 meter_M_AC_Voltage_B C Phase B to Phase C AC Voltage V int16be 1 1 0 x * Math.pow(10, sf['40203']) value true false false false 40202 meter_M_AC_Voltage_C A Phase C to Phase A AC Voltage V int16be 1 1 0 x * Math.pow(10, sf['40203']) value true false false false 40203 meter_M_AC_Voltage_SF AC Voltage Scale Factor int16be 1 1 0 value true false false true 40204 meter_M_AC_Freq AC Frequency Hz int16be 1 1 0 x * Math.pow(10, sf['40205']) value true false false false 40205 meter_M_AC_Freq_SF AC Frequency Scale Factor int16be 1 1 0 value true false false true 40206 meter_M_AC_Power Total Real Power (sum of active phases) W int16be 1 1 0 x * Math.pow(10, sf['40210']) value true false false false 40207 meter_M_AC_Power_A Phase A AC Real Power W int16be 1 1 0 x * Math.pow(10, sf['40210']) value true false false false 40208 meter_M_AC_Power_B Phase B AC Real Power W int16be 1 1 0 x * Math.pow(10, sf['40210']) value true false false false 40209 meter_M_AC_Power_C Phase C AC Real Power W int16be 1 1 0 x * Math.pow(10, sf['40210']) value true false false false 40210 meter_M_AC_Power_SF AC Real Power Scale Factor int16be 1 1 0 value true false false true 40211 meter_M_AC_VA Total AC Apparent Power (sum of active phases) VA int16be 1 1 0 x * Math.pow(10, sf['40215']) value true false false false 40212 meter_M_AC_VA_A Phase A AC Apparent Power VA int16be 1 1 0 x * Math.pow(10, sf['40215']) value true false false false 40213 meter_M_AC_VA_B Phase B AC Apparent Power VA int16be 1 1 0 x * Math.pow(10, sf['40215']) value true false false false 40214 meter_M_AC_VA_C Phase C AC Apparent Power VA int16be 1 1 0 x * Math.pow(10, sf['40215']) value true false false false 40215 meter_M_AC_VA_SF AC Apparent Power Scale Factor int16be 1 1 0 value true false false true 40226 meter_M_Exported Total Exported Real Energy Wh uint32be 2 1 0 x * Math.pow(10, sf['40242']) value true false false false 40228 meter_M_Exported_A Phase A Exported Real Energy Wh uint32be 2 1 0 x * Math.pow(10, sf['40242']) value true false false false 40230 meter_M_Exported_B Phase B Exported Real Energy Wh uint32be 2 1 0 x * Math.pow(10, sf['40242']) value true false false false 40232 meter_M_Exported_C Phase C Exported Real Energy Wh uint32be 2 1 0 x * Math.pow(10, sf['40242']) value true false false false 40234 meter_M_Imported Total Imported Real Energy Wh uint32be 2 1 0 x * Math.pow(10, sf['40242']) value true false false false 40236 meter_M_Imported_A Phase A Imported Real Energy Wh uint32be 2 1 0 x * Math.pow(10, sf['40242']) value true false false false 40238 meter_M_Imported_B Phase B Imported Real Energy Wh uint32be 2 1 0 x * Math.pow(10, sf['40242']) value true false false false 40240 meter_M_Imported_C Phase C Imported Real Energy Wh uint32be 2 1 0 x * Math.pow(10, sf['40242']) value true false false false 40242 meter_M_Energy_W_SF Real Energy Scale Factor int16be 1 1 0 value true false false true 40293 meter_M_Events See M_EVENT_ flags. 0 = nts. uint32be 2 1 0 value true false false false 57664 Battery 1 Device ID Batterie Geräte ID uint16be 1 1 0 value true false false false 57666 Battery 1 Rated Energy Batterie Nennkapazität Wh floatsw 2 1 0 value true false false false 57668 Battery 1 Max Charge Continues Power Batterie maximale Ladeleistung W floatsw 2 1 0 value true false false false 57670 Battery 1 Max Discharge Continues Power Batterie maximale Entladeleistung W floatsw 2 1 0 value true false false false 57672 Battery 1 Max Charge Peak Power Batterie maximale Ladespitzenleistung W floatsw 2 1 0 value true false false false 57674 Battery 1 Max Discharge Peak Power Batterie maximale Entladespitzenleistung W floatsw 2 1 0 value true false false false 57708 Battery 1 Average Temperature Batterie Durchschnittstemperatur °C floatsw 2 1 0 value true false false false 57710 Battery 1 Max Temperature Batterie maximale Temperatur °C floatsw 2 1 0 value true false false false 57712 Battery 1 Instantaneous Voltage Batterie momentane Spannung V floatsw 2 1 0 value true false false false 57714 Battery 1 Instantaneous Current Batterie momentane Stromstärke A floatsw 2 1 0 value true false false false 57716 Battery 1 Instantaneous Power Batterie momentane Leistung W floatsw 2 1 0 value true false false false 57718 Battery 1 Lifetime Export Energy Counter Batterie Gesamtenergie entladen Wh uint64le 4 1 0 value true false false false 57722 Battery 1 Lifetime Import Energy Counter Batterie Gesamtenergie geladen Wh uint64le 4 1 0 value true false false false 57726 Battery 1 Max Energy Batteriekapazität aktualisiert nach Alterung Wh floatsw 2 1 0 value true false false false 57728 Battery 1 Available Energy Batterie verfügbare Energie Wh floatsw 2 1 0 value true false false false 57730 Battery 1 State of Health (SOH) Batterie Verhältnis von Nennkapazität zu Batteriekapazität nach Alterung % floatsw 2 1 0 value true false false false 57732 Battery 1 State of Energy (SOE) Batterie Ladezustand (verfügbare Energie zu mögliche Kapazität) % floatsw 2 1 0 value true false false false 57734 Battery 1 Status Batterie Zustand (0 = Aus, 1 = Standby, 2 = Initialisierung, 3 = Laden, 4 = Entladen, 5 = Fehler, 6 = Leerlauf) uint32sw 2 1 0 level true false false falseErgebnis Holding Registar

Und die App liefert mir

Hier ist ein gravierender Unterschied festzustellen. Lt App wird hier 2,07 kW erzeugt lt. Holding Registar nur noch schlappe 354 W, vor der Installtion der Speichers passten die Werte alle.
Muss man sich die werte jetzt aus unterschiedlichen Werten zusammenrechnen , die SF sind in den Holdig Registar mit berücksichtigt.
Bis jetzt sehe ich hier keinen Zusammenhang.
Wer Infos hierzu hat, bin über jeden Tip dankbar.
G DietmarIch glaube ich hab das Problem entdeckt. So wie es aussieht, muss ich die Batterieladung + den Hausverbrauch + den Export addieren und den Import abziehen, damit ich auf die aktuelle PV Leistung komme. Kann das jemand bestätigen?
-
Hallo Forum,
ich habe mich bewusst dafür entschieden, diesen Topic nicht unter der Kategorie Visualisierung zu posten, weil es hier primär um die Anbindung des SolarEdge Systems an ioBroker geht. Visualisierung kommt später bzw. ist hier nur am Rande ein Thema.
Vorweg möchte ich sagen, dass ich ein einfacher Nutzer bin und weder tiefe Kenntnisse im SolarEdge Bereich noch im ioBroker habe. Alle Informationen habe ich mir entweder selbst erarbeitet oder User aus den Foren (hauptsächlich hier oder im Photofoltaikforum) haben für die gleichen Fragen die entsprechenden Antworten gefunden. Mir geht es in erster Linie darum, an einer Stelle alle für dieses Szenario notwendigen Informationen zu sammeln.Teil1 – Konfiguration Modbus Adapter
Voraussetzungen:
Ihr braucht natürlich in erster Linie erst einmal einen SolarEdge Wechselrichter. In meinem Fall ist das der SE25k Wechselrichter.
Außerdem wird zwingend der Energiezähler mit Modbus Anschluss benötigt. Der Wechselrichter kann von Haus aus kein Modbus sprechen. Der Energiezähler kommt noch mit den jeweiligen Stromwandlern, die im Sicherungskasten verbaut werden. Ihr lasst das natürlich von einem Fachmann erledigen.Zu guter Letzt gehe ich davon aus, dass ihr den Wechselrichter in euer Heimnetz eingebunden habt und dieser IP technisch auch erreichbar ist. Falls ihr nicht wisst, welche IP Adresse euer Router per DHCP vergeben hat, lasst ihr euch das von eurem Solarteur sagen, die können in die Netzwerkkonfiguration des WR reinschauen oder ihr habt die App und könnt selbst nachschauen (nur mit aktiver Registrierung als Installateur möglich).

ioBroker Setup:
Ihr habt natürlich schon ioBroker laufen und das System funktioniert ohne Fehler.
Verwendete Versionen bei mir:


Zuerst fügt ihr einen (weiteren) Modbus Adapter hinzu. Bei mir sind es mittlerweile 2 Stück, weil ich auch noch meine Heizung wie hier beschrieben angebunden habe.
Danach wird der Adapter konfiguriert.

Partner IP Adresse ist die von eurem Wechselrichter.
Der Port ist der default eingestellte Port für den Modbus im Wechselrichter, solltet ihr nicht ändern müssen.
Die Geräte ID ist (in meinem Fall) die 1.

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.

Und noch was wichtiges! Wenn ihr nur die Verbindungseinstellungen vom Modbus im ioBroker konfiguriert habt und keine Daten, die ihr abrufen wollt, dann verbindet sich der Adapter auch nicht. Ich hab da ganz schön lange suchen müssen, bevor ich dazu eine Lösung hatte. Ich dachte immer, an meiner Konfiguration würde etwas nicht stimmen.
Also richtet ihr mindestens eine Adresse unter Holding Register ein, die ihr abrufen wollt. Und bevor ihr das tut, schaut ihr erstmal in die dazugehörige SolarEdge Doku:
Englisch (ist ausführlicher als die deutsche, ich verstehe nicht warum)
DeutschIch beziehe mich jetzt an dieser Stelle mal auf die englische Dokumentation. Dort stehen ab der Seite 16 die erforderlichen Informationen.
Auf der Seite 15 unten findet ihr aber noch eine weitere, wichtige Information, die ich bei mir leider überlesen (bzw. nicht verstanden hatte):
The base Register Common Block is set to 40001 (MODBUS PLC address [base 1]) or 40000 (MODBUS Protocol Address [base 0]).In meinem Fall wird base 0 verwendet (fragt mich nicht warum und wieso) und das bedeutet, dass alle in der Doku stehenden Adressen um eins reduziert werden müssen.
Beispiel:
ID 40094 ist die gesamte, produzierte Energie in Wh und die muss dann im Modbus ioBroker die ID 40093 sein.Ihr müsst dann selbst entscheiden, welche Adressen ihr importieren möchtet und welche ihr nicht braucht.
Hier hab ich euch mal meinen Export angehangen:
Ab der Seite 16 unten findet ihr die Adressen des Wechselrichters und 19 die Adressen für Meter 1 (also den Energiemesser). Meter 2 und 3 sind bei mir nicht vorhanden.
So sieht das ganze jetzt bei mir aus:

Wenn ihr alles richtig gemacht habt, dann ist 1. Eure Modbus Instanz grün und ihr findet in den Objekten die ausgelesenen Werte.
-
@all,
hat hier jemand eine zündende Formel entwickelt aus der man das Gesamtkonstrukt ableiten kann auf die PV Erzeugung? -
Ich glaube ich habe eine halbwegs zufriedenstellende Lösung gefunden, diese muss ich aber mal über die Tage mit allen Konstellationen aus der APP kontrollieren.
-
Teil2 – Werte umrechnen und in Grafana anzeigen
Jetzt haben wir also die Werte im ioBroker. Wie gehts nun damit weiter?
Zuerst einmal muss jeder für sich selbst entscheiden, welche Werte für ihn von Interesse sind. Ich für meinen Teil verwende die folgenden Werte:
Wechselrichter- 40084: AC-Leistungswert in W (aktuelle PV Produktion)
- 40093: AC Gesamt-Energieproduktion in Wh (also alles, was eure Anlage bisher erzeugt hat)
- 40103: Kühlkörpertemperatur vom Wechselrichter in °C (man weiß ja nie)
Energiezähler
- 40206: Total Real Power (aktueller Netzbezug bzw. Einspeisung)
- 40226: Total Exported Real Energy (was ihr heute erzeugt habt)
- 40234: Total Imported Real Energy (was ihr heute aus dem Netz bezogen habt)
Aus den letzten beiden Werte kann man den Eigenverbrauch heute berechnen.
Dann müssen wir verstehen, dass SolarEdge für viele Werte noch Skalierungsfaktoren mitliefert. Auch das ist etwas, dass nur in der englischen Doku auftaucht. Dort steht nämlich:
Man muss die Werte die man möchte also erst noch umrechnen. Und sie müssen unmittelbar zusammen ausgelsesen werden, sonst passen sie nicht zusammen. Dazu geht mein Dank an inkoFa aus dem PV Forum, der mir mit seiner Lösung dazu sehr weitergeholfen hat.
Für den Wert 40084: AC-Leistungswert legt ihr folgendes JS Script an:
function convertValue(value, factor) { if (value === null) return; if (factor === null) factor = 0; setState('Solar.Wechselrichter.PVLeistungAktuell', value * Math.pow(10, factor), true); } createState('Solar.Wechselrichter.PVLeistungAktuell', { name: 'PVLeistungAktuell', unit: 'W', min: 0, type: 'number', role: 'value.energy' }, function () { on('modbus.1.holdingRegisters.40083_I_AC_Leistung'/*AC-Leistungswert*/, function(obj) { var timeout = setTimeout(function () { clearTimeout(timeout); var factorState = getState('modbus.1.holdingRegisters.40084_I_AC_Leistung_SF'/*AC-Leistung Skalierungsfaktor*/); convertValue(obj.state.val, factorState ? factorState.val : 0); }, 100); }); var factorState = getState('modbus.1.holdingRegisters.40084_I_AC_Leistung_SF'/*AC-Leistung Skalierungsfaktor*/); var valueState = getState('modbus.1.holdingRegisters.40083_I_AC_Leistung'/*AC-Leistungswert*/); convertValue(valueState ? valueState.val : null, factorState ? factorState.val : 0); });Für den Wert 40206: Total Real Power legt ihr folgendes JS Script an:
function convertValue(value, factor) { if (value === null) return; if (factor === null) factor = 0; setState('Solar.Wechselrichter.ACTotalRealPower', value * Math.pow(10, factor), true); } createState('Solar.Wechselrichter.ACTotalRealPower', { name: 'ACTotalRealPower', unit: 'W', min: -999999, type: 'number', role: 'value.energy' }, function () { on('modbus.1.holdingRegisters.40206_M_AC_Power'/*Total Real Power (sum of active phases)*/, function(obj) { var timeout = setTimeout(function () { clearTimeout(timeout); var factorState = getState('modbus.1.holdingRegisters.40210_M_AC_Power_SF'/*AC Real Power Scale Factor*/); convertValue(obj.state.val, factorState ? factorState.val : 0); }, 100); }); var factorState = getState('modbus.1.holdingRegisters.40210_M_AC_Power_SF'/*AC Real Power Scale Factor*/); var valueState = getState('modbus.1.holdingRegisters.40206_M_AC_Power'/*Total Real Power (sum of active phases)*/); convertValue(valueState ? valueState.val : null, factorState ? factorState.val : 0); });Und für den Wert 40103: Kühlkörpertemperatur legt ihr folgendes JS Script an:
function convertValue(value, factor) { if (value === null) return; if (factor === null) factor = 0; setState('Solar.Wechselrichter.TempWechselrichter', value * Math.pow(10, factor), true); } createState('Solar.Wechselrichter.TempWechselrichter', { name: 'TempWechselrichter', unit: '°C', min: -999999, type: 'number', role: 'value.energy' }, function () { on('modbus.1.holdingRegisters.40103_I_Temp_Kühler'/*Kühlkörpertemperatur*/, function(obj) { var timeout = setTimeout(function () { clearTimeout(timeout); var factorState = getState('modbus.1.holdingRegisters.40106_I_Temp_SF'/*Kühlkörpertemperatur Skalierungsfaktor*/); convertValue(obj.state.val, factorState ? factorState.val : 0); }, 100); }); var factorState = getState('modbus.1.holdingRegisters.40106_I_Temp_SF'/*Kühlkörpertemperatur Skalierungsfaktor*/); var valueState = getState('modbus.1.holdingRegisters.40103_I_Temp_Kühler'/*Kühlkörpertemperatur*/); convertValue(valueState ? valueState.val : null, factorState ? factorState.val : 0); });Jetzt könnt ihr mit den Umrechnungen die entsprechenden Objekte befüllen. Ich hab also ein Blockly Script Hausverbrauch angelegt:

Importiert gerne folgendes:
Und das schreibt ihr z.B. in die InfluxDB, um den Wert im Grafana anzuzeigen:

Ich versuche mal nach und nach noch Sachen hier zu ergänzen. Und eure Meinung dazu interessiert mich natürlich auch brennend. Habt ihr andere Dinge umgesetzt? Leitet ihr Infos aus anderen Werten ab, die ich noch gar nicht auf dem Schirm habe? Wie sehen eure (PV) Dashboards aus, die ihr umgesetzt habt?
@hennerich Leider ist das bei mir nicht so einfach.
Ich habe zwei Wechselrichter, hier muss ich die Werte erst addieren, was noch der einfache Part ist. Aber ich habe auch einen Akku, hier muss ich auch die Werte berücksichtigen, wenn der Akku geladen wird und wenn er entlädt auch und das zum Teil gleichzeitig mit Netzbezug oder Einspeisung. Das umrechnen mache ich nicht über einen Script, das mache ich direkt in den Registern, ist einfacher, so habe ich gleich immer die richtigen Werte, die ich benötige.

Ich habe es aber noch nicht geschafft, mal stimmt es am Tag, mal am Abend, aber nie durch. Ich bin am verzweifeln.
-
Mal zur Ausgangsbasis ich habe eine bestehende PV Anlage mit SE16K durch ein Victron ESS System erweitert, Mulitplus 2 + Pylontech Akkus. Meint ihr es wäre möglich, die Speicherinfos aus dem Victron System per Modbus auszulesen und in die SolarEdge Register zu schreiben um auch im SolarEdge Portal die Infos zum Speicher zu bekommen?
-
@hennerich Leider ist das bei mir nicht so einfach.
Ich habe zwei Wechselrichter, hier muss ich die Werte erst addieren, was noch der einfache Part ist. Aber ich habe auch einen Akku, hier muss ich auch die Werte berücksichtigen, wenn der Akku geladen wird und wenn er entlädt auch und das zum Teil gleichzeitig mit Netzbezug oder Einspeisung. Das umrechnen mache ich nicht über einen Script, das mache ich direkt in den Registern, ist einfacher, so habe ich gleich immer die richtigen Werte, die ich benötige.

Ich habe es aber noch nicht geschafft, mal stimmt es am Tag, mal am Abend, aber nie durch. Ich bin am verzweifeln.
@sirpritz said in [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana:
@hennerich Leider ist das bei mir nicht so einfach.
Ich habe zwei Wechselrichter, hier muss ich die Werte erst addieren, was noch der einfache Part ist. Aber ich habe auch einen Akku, hier muss ich auch die Werte berücksichtigen, wenn der Akku geladen wird und wenn er entlädt auch und das zum Teil gleichzeitig mit Netzbezug oder Einspeisung. Das umrechnen mache ich nicht über einen Script, das mache ich direkt in den Registern, ist einfacher, so habe ich gleich immer die richtigen Werte, die ich benötige.

Ich habe es aber noch nicht geschafft, mal stimmt es am Tag, mal am Abend, aber nie durch. Ich bin am verzweifeln.
Scheinbar liegt es daran, dass die Werte versetzt kommen, denn manchmal ploppen die Daten "Richtig" auf.
Ich setzt heute abend mal ein Skreeshot meines Blocklys ein, ob ihr mir dabei etwas helfen könnt, danke. -
Hey zusammen,
ich bin absolut am verzweifeln und weiß nicht weiter. Ich hab einen SolarEdge SE5K mit Firmware 4.17.221.
Modbus usw. ist alles Aktiviert am WR. Ich bekomme jedoch keine Werte geliefert.
Am Wechselrichter hängt bei mir noch ein Senec Speicher dran. Diesem werden die daten über einen ENFLURI zur Verfügung gestellt.
Im Debug vom Modbus-Adapter steht folgendes:Wenn ich den Haken bei "Abfragen" von diesem Wert entferne, ihn aber eingetragen lasse, bleibt die Modbus Verbindung Grün. Ansonsten kommt direkt dieser Poll error.
Lg Martin
-
Ich glaube ich habe eine halbwegs zufriedenstellende Lösung gefunden, diese muss ich aber mal über die Tage mit allen Konstellationen aus der APP kontrollieren.
-
Hallo zusammen,
hier mal meine Liste (alle SF Umrechnungen enthalten, keine seperate Umrechnung notwendig) :
Achtung
Die Werte mit RW am Ende sind beschreibbar und sollten mit äußerster Vorsicht behandelt werden./ Chris
@chris87 Herzlichen Dank für die Tabelle. Irgendwie klappt bei mir der Import nicht, aber ich konnte dank deiner Tabelle manuell die für mich wichtigen Werte übertragen und das läuft soweit bestens.
Ein Problem habe ich jedoch. Der Wert 102853 (Ladestand der Batterie) stimmt, wenn ich den Adapter starte. Aber irgendwie aktualisiert es diesen Wert nicht, er bleibt einfach konstant. Wenn ich dann den Adapter restarte, stimmt er wieder. Gibt's da irgendwie einen Trick, damit dieser sich aktualisiert? Ich könnte natürlich als Umgehung einen zweiten Adapter installieren, der lediglich diesen Wert ausliest und dafür einmal pro xy Minuten restarted wird. Aber wenn's ohne Workaround geht, dann ist mir das natürlich lieber. Danke vielmals für deinen Rat!
-
@chris87 Herzlichen Dank für die Tabelle. Irgendwie klappt bei mir der Import nicht, aber ich konnte dank deiner Tabelle manuell die für mich wichtigen Werte übertragen und das läuft soweit bestens.
Ein Problem habe ich jedoch. Der Wert 102853 (Ladestand der Batterie) stimmt, wenn ich den Adapter starte. Aber irgendwie aktualisiert es diesen Wert nicht, er bleibt einfach konstant. Wenn ich dann den Adapter restarte, stimmt er wieder. Gibt's da irgendwie einen Trick, damit dieser sich aktualisiert? Ich könnte natürlich als Umgehung einen zweiten Adapter installieren, der lediglich diesen Wert ausliest und dafür einmal pro xy Minuten restarted wird. Aber wenn's ohne Workaround geht, dann ist mir das natürlich lieber. Danke vielmals für deinen Rat!
@danielos sagte in [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana:
@chris87 Herzlichen Dank für die Tabelle. I
@danielos
hättest du mir freundlicherweise auch die tabelle, die du von @chris87 erhalten hast?
ich kann diese nicht finden.
Danke -
@peppi sagte in [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana:
ich kann diese nicht finden.


