NEWS
[Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana
-
Weiß keiner das oder so? keiner der untersützen mag?
-
@glasfaser Kannst du mir dein Script mal zukommen lassen ?
Also ich habe es so lösen wollen, geht nicht :
-
-
@glasfaser
Vielen Dank, aber irgendwie klappt das bei mir nicht.Update, gelöst
-
@Glasfaser Danke, habe es nochmals kopiert und die Datenpunkte angepasst, jetzt geht es wohl...
-
@longbow sagte in [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana:
@glasfaser aber irgendwie klappt das bei mir nicht.
jetzt geht es wohl...
freut mich das ich helfen konnte
-
@glasfaser Ja vielen Dank... Hab gerade nur gesehen, dass der Akku geladen wird, PV Leitung bei 1,75kw liegt, der Datenpunkt PV Leistung ohne Speicher aber das gleich anzeigt wie das normal Script.
Beim Entladen stimmt es, was ich gestern beobachtet habe. Wo könnte hier der Fehler liegen? -
@Glasfaser Ja, leider stimmt es wenn, wie jetzt die PV Anlage produziert, das dies mit den Werten nicht stimmt.
z.b. PV produziert 1,17kw, Haus verbraucht 0,35kw, Akku wird geladen mit 0,85kw. Wir der Datenpunkt PV Leistung ohne Akku nur mit ca. 0.300kw berechnet. Was in etwa den Hausverbrauch entsprechen könnte. Da ist noch ein Fehler dring, nur weiß ich kein Ansatz.
-
Bei mir passt es :
Bedenke ... Modbus ist schneller in der Abfrage , die Online WebGui ist träge !
-
@glasfaser komisch... bei mir stimmt es nicht...
Woran kann das hängen, das dies nicht klappt. Kann bei dem Datenpunkt ,,PVLeistungAktuell'' was damit zu tun haben, denn der wert dort wird ja dann abgezogen.
-
@longbow sagte in [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana:
bei dem Datenpunkt ,,PVLeistungAktuell'
da sollte eigentlich ..
ohne Akkunutzung :
mit Akkunutzung :
.
-
Moin,
gibt es auch eine Möglichkeit über die Register die einzelnen Optimierer abzufragen? Status, Anzahl oder Fehler ? -
@lesiflo sagte in [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana:
die einzelnen Optimierer abzufragen
nur per python Skript
sieht so aus :
Status, Anzahl oder Fehler ?
das kann man auch bauen / abfragen ... nutze ich aber nicht .
-
Mal ne doofe Frage, warum sind bei manchen die Mod-Bus Adressen für den Akku bei 50000 und bei manchen im 100000 er Bereich? Wonach richtet sich das?
-
@longbow sagte in [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana:
dort wird ja dann abgezogen.
Nimm nochmal diese Script zusätzlich
javascript.0.Solar.Wechselrichter.PVLeistungAktuell_Dachflaeche , mußt du noch selber anlegen
Die anderen Datenpunkte auf deine ändern -
@glasfaser Danke, habe ich soweit gemacht... bekomme aber diese Fehlermeldung.
javascript.0 2023-06-13 19:13:03.378 error at processImmediate (node:internal/timers:468:21) javascript.0 2023-06-13 19:13:03.378 error at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/main.js:1527:17) javascript.0 2023-06-13 19:13:03.378 error at /opt/iobroker/node_modules/iobroker.javascript/main.js:2053:17 javascript.0 2023-06-13 19:13:03.377 error at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1955:37) javascript.0 2023-06-13 19:13:03.377 error at createVM (/opt/iobroker/node_modules/iobroker.javascript/main.js:1702:21) javascript.0 2023-06-13 19:13:03.377 error at new Script (node:vm:100:7) javascript.0 2023-06-13 19:13:03.377 error SyntaxError: Unexpected token '<' javascript.0 2023-06-13 19:13:03.377 error ^ javascript.0 2023-06-13 19:13:03.377 error <xml xmlns="https://developers.google.com/blockly/xml"> javascript.0 2023-06-13 19:13:03.377 error script.js.common.PV-SolarEgde.PVLeistungAktuelle_Dachflaeche compile failed: at script.js.common.PV-SolarEgde.PVLeistungAktuelle_Dachflaeche:1
-
Beim einfügen schon diese Meldung ...
Das Blockly funktioniert , gerade mal neu eingefügt in Js .
Da ist nicht viel drin ...
.
-
@glasfaser Guten Morgen, keine Ahnung warum auch immer, hab es gelöscht, erneut und wieder importiert und es klappt nun. Vielen Dank aber jetzt... So langsam verstehe ich auch das was man mit Scripts machen kann.
-
Hallo zusammen,
ich bin neu hier und verfolge mit großem Interesse dem Thema. An dieser Stelle vielen Dank für all die Infos, welche bereits im Thread gesammelt wurden.
Leider stehe ich vor einem kleinen Batterieproblem..... Ich besitze eine PV-Anlage mit 2 SE Wechselrichtern. Am Hybridwechselrichter ist ein Batteriespeicher angeschlossen. Diesen kann ich mitterweile sehr gut auslesen mit ein paar Ausnahmen. Hat jemand dieses Problem schonmal gehabt bzw. wenn es bei euch nicht existiert, wie sind die Modbuseinstellungen zu sezten?
- Die max. Temperatur bleibt immer bei 0°C - hat sich auch noch nie geändert
- Die TotalExport Werte schwanken stark - setzen sich auch immer wieder auf 0 zurück. Habe die Adresse mit 2 unterschiedlichen Typen zum Test gepflegt
- Selbiges hab ich mit den TotalImport Werten
Hier ein Auszug aus meinen Ergebnissen
Hier die Total Import und Export Werte in kWh
Hier die angelegten Adressen:
_address deviceId name description unit type len factor offset formula role room poll wp cw isScale 97601 1 Batt1_Manufacturer string 8 1 0 true false false false 97617 1 Batt1_Model string 16 1 0 true false false false 97633 1 Batt1_Firmware string 16 1 0 true false false false 97649 1 Batt1_Serial string 16 1 0 true false false false 97665 1 Batt1_ID Device ID uint16be 1 1 0 true false false false 97667 1 Batt1_RatedEnergy Nennenergie kWh floatsw 2 1 0 x * Math.pow(10, -3) true false false false 97669 1 Batt1_MaxChargeConPower Max. Ladeleistung Fortlaufend W floatsw 2 1 0 true false false false 97671 1 Batt1_MaxDischargeConPower Max. Entladeleistung Fortlaufend W floatsw 2 1 0 true false false false 97673 1 Batt1_MaxChargePower Max. Ladeleistung W floatsw 2 1 0 true false false false 97675 1 Batt1_MaxDischargePower Max. Entladeleistung W floatsw 2 1 0 true false false false 97709 1 Batt1_AverageTemp Durchschnittstemperatur °C floatsw 2 1 0 true false false false 97711 1 Batt1_MaxTemp Maximale Temperatur °C floatsw 2 1 0 true false false false 97713 1 Batt1_Voltage Aktuelle Spannung V floatsw 2 1 0 true false false false 97715 1 Batt1_Current Aktueller Strom Minus = Laden; Plus = Entladen A floatsw 2 1 0 true false false false 97717 1 Batt1_Power Aktuelle Leistung Minus = Entladen; Plus = Laden W floatsw 2 1 0 true false false false 97719 1 Batt1_TotalExport gesamt Exportierte Energie - heute? kWh uint32sw 2 1 0 x * Math.pow(10, -3) true false false false 97719 1 Batt1_TestExport kWh uint64le 4 1 0 x * Math.pow(10, -3) true false false false 97723 1 Batt1_TotalImport gesamt Importierte Energie - heute? kWh uint32sw 2 1 0 x * Math.pow(10, -3) true false false false 97723 1 Batt1_TestImport kWh uint64le 4 1 0 x * Math.pow(10, -3) true false false false 97727 1 Batt1_MaxEnergy Maximale Ladung kWh floatsw 2 1 0 x * Math.pow(10, -3) true false false false 97729 1 Batt1_AvailableEnergy Nutzbare Ladung kWh floatsw 2 1 0 x * Math.pow(10, -3) true false false false 97731 1 Batt1_StateOfHealth Lebenszustand % floatsw 2 1 0 true false false false 97733 1 Batt1_StateOfCharge Ladezustand % floatsw 2 1 0 true false false false 97735 1 Batt1_Status Battery operating state: 0 – Off; 1 – Standby; 2 – Init; 3 – Charge; 4 – Discharge; 5 – Fault; 7 - Idle uint32sw 2 1 0 true false false false 97737 1 Batt1_StatusIntern Vendor-defined status codes. uint32sw 2 1 0 true false false false 97739 1 Batt1_EventLog Battery vendor's last fault ID uint16le 1 1 0 true false false false 40001 1 C_SunSpec_ID "Wert = ""SunS"" (0x53756e53). Identifiziert dies eindeutig als eine SunSpec Modbus-Karte" uint32be 2 1 0 true false false false 40003 1 C_SunSpec_DID Wert = 0x0001. Identifiziert dies eindeutig als einen SunSpec “Common Block“ uint16be 1 1 0 true false false false 40004 1 C_SunSpec_Length 65 = Länge eines Blocks in 16-bit Registern uint16be 1 1 0 true false false false 40005 1 C_Manufacturer "Bei SunSpec eingetragener Wert = ""SolarEdge""" string 16 1 0 true false false false 40021 1 C_Model Spezifischer SolarEdge Wert string 16 1 0 true false false false 40045 1 C_Version Spezifischer SolarEdge Wert string 8 1 0 true false false false 40053 1 C_SerialNumber Eindeutiger SolarEdge Wert string 16 1 0 true false false false 40069 1 C_DeviceAddress Modbus-ID der entsprechenden Einheit uint16be 1 1 0 true false false false 40070 1 C_SunSpec_DID 101 = Einphasig, 102 = Spaltphase, 103 = Dreiphasig uint16be 1 1 0 true false false false 40072 1 I_AC_Current AC-Strom Gesamtstromwert A uint16be 1 1 0 x * Math.pow(10, sf['40076']) true false false false 40073 1 I_AC_CurrentA AC-Strom Phase A (L1) Stromwert A uint16be 1 1 0 x * Math.pow(10, sf['40076']) true false false false 40074 1 I_AC_CurrentB AC-Strom Phase B (L2) Stromwert A uint16be 1 1 0 x * Math.pow(10, sf['40076']) true false false false 40075 1 I_AC_CurrentC AC-Strom Phase C (L3) Stromwert A uint16be 1 1 0 x * Math.pow(10, sf['40076']) true false false false 40076 1 I_AC_Current_SF AC-Strom Skalierungsfaktor SF int16be 1 1 0 true false false true 40084 1 I_AC_Power AC-Leistung Leistungswert W int16be 1 1 0 x * Math.pow(10, sf['40085']) true false false false 40085 1 I_AC_Power_SF AC-Leistung Skalierungsfaktor SF int16be 1 1 0 true false false true 40088 1 I_AC_VA Scheinleistung VA int16be 1 1 0 x * Math.pow(10, sf['40089']) true false false false 40089 1 I_AC_VA_SF Scheinleistung Skalierungsfaktor SF int16be 1 1 0 true false false true 40090 1 I_AC_VAR Blindleistung VAR int16be 1 1 0 x * Math.pow(10, sf['40091']) true false false false 40091 1 I_AC_VAR_SF Blindleistung Skalierungsfaktor SF int16be 1 1 0 true false false true 40092 1 I_AC_PF Leistungsfaktor % % int16be 1 1 0 x * Math.pow(10, sf['40093']) true false false false 40093 1 I_AC_PF_SF Leistungsfaktor Skalierungsfaktor SF int16be 1 1 0 true false false true 40094 1 I_AC_Energy_WH AC Energie Gesamt-Energieproduktion kWh uint32be 2 1 0 x * Math.pow(10, sf['40096'] - 3) true false false false 40096 1 I_AC_Energy_WH_SF AC Energie Gesamtenergie Skalierungsfaktor SF uint16be 1 1 0 true false false true 40097 1 I_DC_Current DC-Strom Stromwert A uint16be 1 1 0 x * Math.pow(10, sf['40098']) true false false false 40098 1 I_DC_Current_SF DC-Strom Skalierungsfaktor SF int16be 1 1 0 true false false true 40099 1 I_DC_Voltage DC-Spannung Spannungswert V uint16be 1 1 0 x * Math.pow(10, sf['40100']) true false false false 40100 1 I_DC_Voltage_SF DC-Spannung Skalierungsfaktor SF int16be 1 1 0 true false false true 40101 1 I_DC_Power DC-Leistung Leistungswert W int16be 1 1 0 x * Math.pow(10, sf['40102']) true false false false 40102 1 I_DC_Power_SF DC-Leistung Skalierungsfaktor SF int16be 1 1 0 true false false true 40104 1 I_Temp_Sink Kühlkörpertemperatur °C int16be 1 1 0 x * Math.pow(10, sf['40107']) true false false false 40107 1 I_Temp_SF Kühlkörpertemperatur Skalierungsfaktor SF int16be 1 1 0 true false false true 40108 1 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 true false false false 40109 1 I_Status_Vendor 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 true false false false 40124 1 C_Manufacturer Meter manufacturer string 16 1 0 true false false false 40140 1 C_Model Meter model string 16 1 0 true false false false 40156 1 C_Option Export + Import, Production, consumption string 8 1 0 true false false false 40164 1 C_Version Meter version string 8 1 0 true false false false 40191 1 M_AC_Current AC Current (sum of active phases) A int16be 1 1 0 x * Math.pow(10, sf['40195']) true false false false 40192 1 M_AC_Current_A Phase A AC Current A int16be 1 1 0 x * Math.pow(10, sf['40195']) true false false false 40193 1 M_AC_Current_B Phase B AC Current A int16be 1 1 0 x * Math.pow(10, sf['40195']) true false false false 40194 1 M_AC_Current_C Phase C AC Current A int16be 1 1 0 x * Math.pow(10, sf['40195']) true false false false 40195 1 M_AC_Current_S F AC Current Scale Factor SF int16be 1 1 0 true false false true 40207 1 M_AC_Power Total real power (sum of active phases) Minus = Bezug; Plus = Einspeisung W int16be 1 1 0 x * Math.pow(10, sf['40211']) true false false false 40211 1 M_AC_Power_SF AC Real Power Scale Factor SF int16be 1 1 0 true false false true 40222 1 M_AC_PF Average Power Factor (average of active phases) % int16be 1 1 0 x * Math.pow(10, sf['40226']) true false false false 40226 1 M_AC_PF_SF AC Power Factor Scale Factor SF int16be 1 1 0 true false false true 40227 1 M_Exported Total Exported Real Energy kWh uint32be 2 1 0 x * Math.pow(10, sf['40243'] -3) true false false false 40235 1 M_Imported Total Imported Real Energy kWh uint32be 2 1 0 x * Math.pow(10, sf['40243'] -3) true false false false 40243 1 M_Energy_W_SF Real Energy Scale Factor SF int16be 1 1 0 true false false true 40005 2 C_Manufacturer "Bei SunSpec eingetragener Wert = ""SolarEdge""" string 16 1 0 true false false false 40021 2 C_Model Spezifischer SolarEdge Wert string 16 1 0 true false false false 40045 2 C_Version Spezifischer SolarEdge Wert string 8 1 0 true false false false 40053 2 C_SerialNumber Eindeutiger SolarEdge Wert string 16 1 0 true false false false 40069 2 C_DeviceAddress Modbus-ID der entsprechenden Einheit uint16be 1 1 0 true false false false 40070 2 C_SunSpec_DID 101 = Einphasig, 102 = Spaltphase, 103 = Dreiphasig uint16be 1 1 0 true false false false 40072 2 I_AC_Current AC-Strom Gesamtstromwert A uint16be 1 1 0 x * Math.pow(10, sf['40076']) true false false false 40073 2 I_AC_CurrentA AC-Strom Phase A (L1) Stromwert A uint16be 1 1 0 x * Math.pow(10, sf['40076']) true false false false 40074 2 I_AC_CurrentB AC-Strom Phase B (L2) Stromwert A uint16be 1 1 0 x * Math.pow(10, sf['40076']) true false false false 40075 2 I_AC_CurrentC AC-Strom Phase C (L3) Stromwert A uint16be 1 1 0 x * Math.pow(10, sf['40076']) true false false false 40076 2 I_AC_Current_SF AC-Strom Skalierungsfaktor SF int16be 1 1 0 true false false true 40084 2 I_AC_Power AC-Leistung Leistungswert W int16be 1 1 0 x * Math.pow(10, sf['40085']) true false false false 40085 2 I_AC_Power_SF AC-Leistung Skalierungsfaktor SF int16be 1 1 0 true false false true 40088 2 I_AC_VA Scheinleistung VA int16be 1 1 0 x * Math.pow(10, sf['40089']) true false false false 40089 2 I_AC_VA_SF Scheinleistung Skalierungsfaktor SF int16be 1 1 0 true false false true 40090 2 I_AC_VAR Blindleistung VAR int16be 1 1 0 x * Math.pow(10, sf['40091']) true false false false 40091 2 I_AC_VAR_SF Blindleistung Skalierungsfaktor SF int16be 1 1 0 true false false true 40092 2 I_AC_PF Leistungsfaktor % % int16be 1 1 0 x * Math.pow(10, sf['40093']) true false false false 40093 2 I_AC_PF_SF Leistungsfaktor Skalierungsfaktor SF int16be 1 1 0 true false false true 40094 2 I_AC_Energy_WH AC Energie Gesamt-Energieproduktion kWh uint32be 2 1 0 x * Math.pow(10, sf['40096'] - 3) true false false false 40096 2 I_AC_Energy_WH_SF AC Energie Gesamtenergie Skalierungsfaktor SF uint16be 1 1 0 true false false true 40097 2 I_DC_Current DC-Strom Stromwert A uint16be 1 1 0 x * Math.pow(10, sf['40098']) true false false false 40098 2 I_DC_Current_SF DC-Strom Skalierungsfaktor SF int16be 1 1 0 true false false true 40099 2 I_DC_Voltage DC-Spannung Spannungswert V uint16be 1 1 0 x * Math.pow(10, sf['40100']) true false false false 40100 2 I_DC_Voltage_SF DC-Spannung Skalierungsfaktor SF int16be 1 1 0 true false false true 40101 2 I_DC_Power DC-Leistung Leistungswert W int16be 1 1 0 x * Math.pow(10, sf['40102']) true false false false 40102 2 I_DC_Power_SF DC-Leistung Skalierungsfaktor SF int16be 1 1 0 true false false true 40104 2 I_Temp_Sink Kühlkörpertemperatur °C int16be 1 1 0 x * Math.pow(10, sf['40107']) true false false false 40107 2 I_Temp_SF Kühlkörpertemperatur Skalierungsfaktor SF int16be 1 1 0 true false false true 40108 2 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 true false false false 40109 2 I_Status_Vendor 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 true false false false
Ich danke schonmal im Voraus,
Apfel -
@apfel85 Hallo,
woher hast Du denn die Adressen für den Batteriespeicher (97600 und folgende?)
Ich kannte bisher nur die Adressen aus dem offiziellen Dokument von SolarEdge, in dem die Batterie aber fehlt.
Was die Sprünge angeht: In Deiner Tabelle werden konstante Skalierungswerte (z.B. "x * 10^(-3)") verwendet. Bist Du sicher, daß das stimmt? Im Bereich des Inverters sind die Scale Factors nicht konstant, sondern ändern sich dynamisch. Wenn dies im Batterie-Bereich ähnlich ist, würde das die Sprünge erklären.
MfG