NEWS
Solaredge PV-Produktion mit SE Home Battery - GELÖST
-
@homoran
ja, das ist die techn. Spezifikation von Solaredge. Ich habe mich an den SE-Support gewandt, um Infos über die benötigten Register zu erhalten.
Vielen Dank für Deine Unterstützung! -
@achbz
Danke für Deinen Beitrag. Habe direkt mal "Dein" Register ausprobiert - klappt leider nicht. Ist sehr wahrscheinlich vom Batterietyp abhängig. Werde jetzt mal bei Solaredge nachhaken. -
habe nun einen speziellen Solaredge-Modbus-Adapter (Solaredge-Modbus) "entdeckt". Hier funktioniert alles bestens.
Ich musste nur ein paar spezielle Berechnungen vornehmen, um die PV-Erzeugung und den Verbrauch richtig zu ermitteln. Wichtig war, dass die Werte der Batterie hier richtig gelesen werden. -
@joerg Hi Jörg, wie hast du es den jetzt endgültig gelöst? Du schreibst von einem Modbus Adapter. Kannste mir hier mal auf die Sprünge helfen?
-
@joerg Hi, mich würde auch die Lösung interessieren. Mir fehlen auch die Registeradressen meiner Solaredge Batterie.
-
Hab bisher leider auch keinen Passenden speziellen modbus adapter gefunden welcher funktioniert mit der SE-Home Batterie.
Ich hätte zwar im folgenden link die Register vom Storegde Modul, die kann ich aber mit dem Modbus Adapter nicht auslesen und hab somit auch keine Ahnung wie ich diese auslesen kann.
https://www.photovoltaikforum.com/core/attachment/88445-power-control-open-protocol-for-solaredge-inverters-pdf/ -
So hab es nun geschafft, man muss die Hex werte in Dezimalzhalen umwandeln..., dann bekommt man auch ein Ergebnis. anbei die Holding Register für die SE Home Batterie, bei Lifetime In-Export passen die werte noch nicht.
62720 Battery 1 Manufacturer Name Battery 1 Manufacturer Name string 6 1 0 state true false false false 62736 Battery 1 Model Battery 1 Model string 16 1 0 state true false false false 62768 Battery 1 Serial Number Battery 1 Serial Number string 16 1 0 state true false false false 62788 Battery 1 Max Charge Continues Power Battery 1 Max Charge Continues Power W floatsw 2 1 0 state true false false false 62790 Battery 1 Max Discharge Continues Battery 1 Max Discharge Continues Power Battery 1 Max Discharge Continues Power W floatsw 2 1 0 state true false false false 62828 Battery 1 Average Temperature Battery 1 Average Temperature °C floatsw 2 1 0 state true false false false 62830 Battery 1 Max Temperature Battery 1 Max Temperature °C floatsw 2 1 0 state true false false false 62832 Battery 1 Instantaneous Voltage Battery 1 Instantaneous Voltage V floatsw 2 1 0 state true false false false 62834 Battery 1 Instantaneous Current Battery 1 Instantaneous Current A floatsw 2 1 0 state true false false false 62836 Battery 1 Instantaneous Power Battery 1 Instantaneous Power W floatsw 2 1 0 state true false false false 62838 Battery 1 Lifetime Export Energy Counter Battery 1 Lifetime Export Energy Counter Wh uint64le 4 1 0 state true false false false 62842 Battery 1 Lifetime Import Energy Counter Battery 1 Lifetime Import Energy Counter Wh uint64be 4 1 0 state true false false false 62846 Battery 1 Max Energy Battery 1 Max Energy Wh floatsw 2 1 0 state true false false false 62848 Battery 1 Available Energy Battery 1 Available Energy Wh floatsw 2 1 0 state true false false false 62850 Battery 1 State of Health (SOH) Battery 1 State of Health (SOH) % floatsw 2 1 0 state true false false false 62852 Battery 1 Charge level Battery 1 Charge level floatbe 2 1 0 state true false false false
-
@kalchi sagte in Solaredge PV-Produktion mit SE Home Battery - GELÖST:
man muss die Hex werte in Dezimalzhalen umwandeln...,
das wollte ich dir heute morgen schon schreiben, hielt das aber für zu banal.
Sorry! -
@homoran naja, blutiger Anfänger halt, aber ich hoffe die Register sind jemanden geholfen, bisher hab ich die noch nirgendwo gefunden außer im PV forum.
-
@joki1968 ich verwende diesen: https://github.com/joergspoerl/ioBroker.solaredge-modbus.git
-
@ajk ich verwende diesen: https://github.com/joergspoerl/ioBroker.solaredge-modbus.git
-
@joerg
Hallo Jörg, mit diesem Adapter bekommt man die Batteriedaten ausgelesen? Wenn ja, wie bekomme ich den in iobroker installiert?Gruß,
Marcus -
diese Registeradressen passen bei mir nicht. Wie hast du die ermittelt?
-
In folgendem Dokument Seite 19 Stehen die Register, diese müssen aber erst von Hex auf Dezimal umgerechnet werden.
https://www.photovoltaikforum.com/core/attachment/88445-power-control-open-protocol-for-solaredge-inverters-pdf/BG, Mario
-
@kalchi
nicht wirklich... Unterlage kenn ich und hatte auch schon versucht, die Register umzurechnen. Ich glaube, es kommt noch auf die Batterie drauf an. In meinem Fall ist es eine DC Batterie (SolarEdge Home Battery 9.2kWh) und das sind meine Register:_address name description unit type len factor offset formula role room poll wp cw isScale 97601 Batt1_Manufacturer string 8 1 0 true false false false 97617 Batt1_Model string 16 1 0 true false false false 97633 Batt1_Firmware string 16 1 0 true false false false 97649 Batt1_Serial string 16 1 0 true false false false 97665 Batt1_ID Device ID uint16be 1 1 0 true false false false 97667 Batt1_RatedEnergy Nennenergie kWh floatsw 2 1 0 x * Math.pow(10, -3) true false false false 97669 Batt1_MaxChargeConPower Max. Ladeleistung Fortlaufend W floatsw 2 1 0 true false false false 97671 Batt1_MaxDischargeConPower Max. Entladeleistung Fortlaufend W floatsw 2 1 0 true false false false 97673 Batt1_MaxChargePower Max. Ladeleistung W floatsw 2 1 0 true false false false 97675 Batt1_MaxDischargePower Max. Entladeleistung W floatsw 2 1 0 true false false false 97709 Batt1_AverageTemp Durchschnittstemperatur °C floatsw 2 1 0 true false false false 97711 Batt1_MaxTemp Maximale Temperatur °C floatsw 2 1 0 true false false false 97713 Batt1_Voltage Aktuelle Spannung V floatsw 2 1 0 true false false false 97715 Batt1_Current Aktueller Strom Minus = Laden; Plus = Entladen A floatsw 2 1 0 true false false false 97717 Batt1_Power Aktuelle Leistung Minus = Entladen; Plus = Laden W floatsw 2 1 0 true false false false 97719 Batt1_TestExport gesamt Exportierte Energie - heute? kWh uint64le 4 1 0 x * Math.pow(10, -3) true false false false 97723 Batt1_TestImport gesamt Importierte Energie - heute? kWh uint64le 4 1 0 x * Math.pow(10, -3) true false false false 97727 Batt1_MaxEnergy Maximale Ladung kWh floatsw 2 1 0 x * Math.pow(10, -3) true false false false 97729 Batt1_AvailableEnergy Nutzbare Ladung kWh floatsw 2 1 0 x * Math.pow(10, -3) true false false false 97731 Batt1_StateOfHealth Lebenszustand % floatsw 2 1 0 true false false false 97733 Batt1_StateOfCharge Ladezustand % floatsw 2 1 0 true false false false 97735 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 Batt1_StatusIntern Vendor-defined status codes. uint32sw 2 1 0 true false false false 97739 Batt1_EventLog Battery vendor's last fault ID uint16le 1 1 0 true false false false 101697 CommitSettings Commit Power Control Settings uint16be 1 1 0 level true false false false 101701 ReactivePwrConfig ReactivePwrConfig uint32sw 2 1 0 level true false false false 101763 AdvancedPwrControlEn AdvancedPwrControlEn uint32sw 2 1 0 level true false false false 103237 StCtrlMode Storage Control Mode uint16be 1 1 0 level true false false false 103238 Storage_AC_Charge_Policy_RW 0 – Disable, 1 – Always allowed , 2 – Fixed Energy Limit – uint16be 1 1 0 level true false false false 103241 Storage_Backup_Reserved_Setting_RW floatsw 2 1 0 level true false false false 103243 StChDisChMode Storage Charge/Discharge Default Mode uint16be 1 1 0 level true false false false 103244 Timeout Timout sec uint32sw 2 1 0 level true false false false 103247 Remote Control Charge Limit Remote Control Charge Limit W floatsw 2 1 0 level true false false false 40001 SunSpecID C_SunSpec_ID uint32be 2 1 0 state true false false false 40003 SunSpecDID C_SunSpec_DID uint16be 1 1 0 state true false false false 40004 SunSpecLength C_SunSpec_Length uint16be 1 1 0 state true false false false 40005 Manufacturer C_Manufacturer string 16 1 0 state true false false false 40021 Model C_Model string 16 1 0 state true false false false 40045 Version C_Version string 8 1 0 state true false false false 40053 SerialNumber C_SerialNumber string 16 1 0 state true false false false 40069 DeviceAddress C_DeviceAddress uint16be 1 1 0 state true false false false 40070 PhaseTypes C_SunSpec_DID uint16be 1 1 0 state true false false false 40071 SunSpecLength C_SunSpec_Length uint16be 1 1 0 state true false false false 40072 CurrentTotal I_AC_Current A uint16be 1 1 0 x = x * Math.pow(10, sf['40076']) value true false false false 40073 CurrentL1 I_AC_CurrentA A uint16be 1 1 0 x = x * Math.pow(10, sf['40076']) value true false false false 40074 CurrentL2 I_AC_CurrentB A uint16be 1 1 0 x = x * Math.pow(10, sf['40076']) value true false false false 40075 CurrentL3 I_AC_CurrentC A uint16be 1 1 0 x = x * Math.pow(10, sf['40076']) value true false false false 40076 CurrentSF I_AC_Current_SF int16be 1 1 0 state true false false true 40080 VoltageL1N I_AC_VoltageAN V uint16be 1 1 0 x = x * Math.pow(10, sf['40083']) value true false false false 40081 VoltageL2N I_AC_VoltageBN V uint16be 1 1 0 x = x * Math.pow(10, sf['40083']) value true false false false 40082 VoltageL3N I_AC_VoltageCN V uint16be 1 1 0 x = x * Math.pow(10, sf['40083']) value true false false false 40083 VoltageSF I_AC_Voltage_SF int16be 1 1 0 state true false false true 40084 Power I_AC_Power W uint16be 1 1 0 x = x * Math.pow(10, sf['40085']) value true false false false 40085 PowerSF I_AC_Power_SF int16be 1 1 0 state true false false true 40086 Frequency I_AC_Frequency Hz uint16be 1 1 0 x = x * Math.pow(10, sf['40087']) value true false false false 40087 FrequencySF I_AC_Frequency_SF int16be 1 1 0 state true false false true 40088 VA I_AC_VA VA int16be 1 1 0 x = x * Math.pow(10, sf['40089']) value true false false false 40089 VASF I_AC_VA_SF int16be 1 1 0 state true false false true 40090 VAR I_AC_VAR VAR int16be 1 1 0 x = x * Math.pow(10, sf['40091']) value true false false false 40091 VARSF I_AC_VAR_SF int16be 1 1 0 state true false false true 40092 PF I_AC_PF % int16be 1 1 0 x = x * Math.pow(10, sf['40093']) value true false false false 40093 PFSF I_AC_PF_SF int16be 1 1 0 state true false false true 40094 TotalEnergy I_AC_Energy_WH Wh uint32be 2 1 0 x = x * Math.pow(10, sf['40096']) value true false false false 40096 TotalEnergySF I_AC_Energy_WH_SF int16be 1 1 0 state true false false true 40097 DCCurrent I_DC_Current A uint16be 1 1 0 x = x * Math.pow(10, sf['40098']) value true false false false 40098 DCCurrentSF I_DC_Current_SF int16be 1 1 0 state true false false true 40099 DCVoltage I_DC_Voltage V uint16be 1 1 0 x = x * Math.pow(10, sf['40100']) value true false false false 40100 DCVoltageSF I_DC_Voltage_SF int16be 1 1 0 state true false false true 40101 DCPower I_DC_Power W int16be 1 1 0 x = x * Math.pow(10, sf['40102']) value true false false false 40102 DCPowerSF I_DC_Power_SF int16be 1 1 0 state true false false true 40104 Temp I_Temp_Sink °C int16be 1 1 0 x = x * Math.pow(10, sf['40107']) state true false false false 40107 TempSF I_Temp_SF int16be 1 1 0 value true false false true 40108 Status I_Status uint16be 1 1 0 state true false false false 40109 StatusVendor I_Status_Vendor uint16be 1 1 0 state true false false false 40140 MeterModel M_C_Model string 16 1 0 state true false false false 40164 MeterVersion M_C_Version string 8 1 0 state true false false false 40172 MeterSerialNumber M_C_SerialNumber string 16 1 0 state true false false false 40191 MeterCurrentTotal M_AC_Current A int16be 1 1 0 x = x * Math.pow(10, sf['40195']) value true false false false 40192 MeterCurrentL1 M_AC_Current_A A int16be 1 1 0 x = x * Math.pow(10, sf['40195']) value true false false false 40193 MeterCurrentL2 M_AC_Current_B A int16be 1 1 0 x = x * Math.pow(10, sf['40195']) value true false false false 40194 MeterCurrentL3 M_AC_Current_C A int16be 1 1 0 x = x * Math.pow(10, sf['40195']) value true false false false 40195 MeterCurrentSF M_AC_Current_SF int16be 1 1 0 state true false false true 40196 MeterVoltageLN M_AC_Voltage_L_N V int16be 1 1 0 x = x * Math.pow(10, sf['40204']) value true false false false 40197 MeterVoltageL1N M_AC_Voltage_A_N V int16be 1 1 0 x = x * Math.pow(10, sf['40204']) value true false false false 40198 MeterVoltageL2N M_AC_Voltage_B_N V int16be 1 1 0 x = x * Math.pow(10, sf['40204']) value true false false false 40199 MeterVoltageL3N M_AC_Voltage_C_N V int16be 1 1 0 x = x * Math.pow(10, sf['40204']) value true false false false 40204 MeterVoltageSF M_AC_Voltage_SF int16be 1 1 0 state true false false true 40205 MeterFrequency M_AC_Freq Hz int16be 1 1 0 x = x * Math.pow(10, sf['40206']) value true false false false 40206 MeterFrequencySF M_AC_Freq_SF int16be 1 1 0 state true false false true 40207 MeterPowerTotal M_AC_Power W int16be 1 1 0 x = x * Math.pow(10, sf['40211']) value true false false false 40208 MeterPowerL1 M_AC_Power_A W int16be 1 1 0 x = x * Math.pow(10, sf['40211']) value true false false false 40209 MeterPowerL2 M_AC_Power_B W int16be 1 1 0 x = x * Math.pow(10, sf['40211']) value true false false false 40210 MeterPowerL3 M_AC_Power_C W int16be 1 1 0 x = x * Math.pow(10, sf['40211']) value true false false false 40211 MeterPowerSF M_AC_Power_SF int16be 1 1 0 state true false false true 40212 MeterApparentPowerTotal M_AC_VA VA int16be 1 1 0 x = x * Math.pow(10, sf['40216']) value true false false false 40213 MeterApparentPowerL1 M_AC_VA_A VA int16be 1 1 0 x = x * Math.pow(10, sf['40216']) value true false false false 40214 MeterApparentPowerL2 M_AC_VA_B VA int16be 1 1 0 x = x * Math.pow(10, sf['40216']) value true false false false 40215 MeterApparentPowerL3 M_AC_VA_C VA int16be 1 1 0 x = x * Math.pow(10, sf['40216']) value true false false false 40216 MeterApparentPowerSF M_AC_VA_SF int16be 1 1 0 state true false false true 40217 MeterReactivePowerTotal M_AC_VAR VAR int16be 1 1 0 x = x * Math.pow(10, sf['40221']) value true false false false 40218 MeterReactivePowerL1 M_AC_VAR_A VAR int16be 1 1 0 x = x * Math.pow(10, sf['40221']) value true false false false 40219 MeterReactivePowerL2 M_AC_VAR_B VAR int16be 1 1 0 x = x * Math.pow(10, sf['40221']) value true false false false 40220 MeterReactivePowerL3 M_AC_VAR_C VAR int16be 1 1 0 x = x * Math.pow(10, sf['40221']) value true false false false 40221 MeterReactivePowerSF M_AC_VAR_SF int16be 1 1 0 state true false false true 40227 MeterEnergyExportedTotal M_Exported Wh uint32be 2 1 0 x = x * Math.pow(10, sf['40243']) value true false false false 40229 MeterEnergyExportedL1 M_Exported_A Wh uint32be 2 1 0 x = x * Math.pow(10, sf['40243']) value true false false false 40231 MeterEnergyExportedL2 M_Exported_B Wh uint32be 2 1 0 x = x * Math.pow(10, sf['40243']) value true false false false 40233 MeterEnergyExportedL3 M_Exported_C Wh uint32be 2 1 0 x = x * Math.pow(10, sf['40243']) value true false false false 40235 MeterEnergyImportedTotal M_Imported Wh uint32be 2 1 0 x = x * Math.pow(10, sf['40243']) value true false false false 40237 MeterEnergyImportedL1 M_Imported_A Wh uint32be 2 1 0 x = x * Math.pow(10, sf['40243']) value true false false false 40239 MeterEnergyImportedL2 M_Imported_B Wh uint32be 2 1 0 x = x * Math.pow(10, sf['40243']) value true false false false 40241 MeterEnergyImportedL3 M_Imported_C Wh uint32be 2 1 0 x = x * Math.pow(10, sf['40243']) value true false false false 40243 MeterEnergySF M_Energy_W_SF int16be 1 1 0 state true false false true
trotzdem danke für deine Antwort.
-
@mguenther
wo hast du bloß diese Registeradressen her? Ich suche und probiere schon seit Monaten rum! DANKE!!!
Habe allerdings auch die gleiche Batterie wie du. -
Hallo.
Da ich im Frühjahr voraussichtlich auch einen Speicher (vermutlich den SE mit 4,6kWh bekomme) und einen Wechselrichter SE10K wollte ich mal nachfragen, ob das auslesen bei Euch über Modbus TCP funktioniert.
Wenn ja, mit welchem WR den SE10K-RWS oder den SE10K-RWB ?Vom SE Support hab ich nämlich folgende Info bekommen:
"Über Modbus TCP ist nicht möglich die Daten aus unserer Batterie zu lesen.
Dafür bitte Monitoring Portal API Feature nutzen. "Die API ist jedoch keine wirkliche Alternative, da es hier nur 300 Abfragen am Tag gibt und man abhängig von der Internetverbindung ist. Auch fällt die API sehr oft aus, bzw. liefert sie nicht aktuelle Daten.
Bitte um Info, ob das so wie im Thread angeführt funktioniert. DANKE !
-
Hallo zusammen,
Ich quäle mich auch mit dem SolarEdge Wechselrichter herum. Was ich schon mal entdeckt habe, sind die Register meines Byd-Speichers und die sind auch richtig. Ich habe also den Zustand der Batterie, sprich ob diese be- oder entladen wird, und mit welcher Leistung.
Die aktuelle Einspeisung ins Netz hab ich auch: 40207_M_AC_Power mit Skalierungsfaktor 40211_M_AC_Power_SF (Wert positiv bei Einspeisung und negativ bei Netzbezug).
Was ich nicht zuordnen kann sind folgende beiden Werte:
- aktuelle Sonnenenergie
- Stromverbrauch im Gebäude
Kann mir jemand diese beiden Register benennen? Danke schon mal im Voraus!
-
@guitardoc
Hallo, diese Werte musst du dir aus den Vorhandenen berechnen.
Anbei ein link wo dies sehr gut beschrieben ist.
https://forum.iobroker.net/topic/38322/tutorial-solaredge-modbus-iobroker-grafana/3BG, Mario
-
@kalchi Hatte es schon selbst rausgefunden, trotzdem danke für den Hinweis!