Ich möchte meine SolarEdge PV-Anlage gerne über Modbus auslesen. In der Vergangenheit hat dies mit ioBroker hervorragend funktioniert. Nun würde ich die Daten gerne auch in Home Assistant integrieren. Mit Hilfe einer Anleitung von M. Kleine ist es mir bereits gelungen, meine PV-Anlage teilweise auszulesen. Allerdings stoße ich auf Schwierigkeiten bei der Konfiguration meiner LG Resu 10 Batterie. Trotz zahlreicher Versuche ist es mir bisher nicht gelungen, verlässliche Daten der Batterie zu erhalten. In ioBroker habe ich bestimmte Register verwendet, die mir bis auf die der Batterie problemlos zur Verfügung stehen. Falls jemand eine Idee hat, wie ich die Daten der Batterie erfolgreich auslesen kann, wäre ich sehr dankbar.
Hier meine Modus.yaml:
name: pv_inverter
type: tcp
host: 192.168.178.116
port: 1502
sensors:
# Inverter
- name: PV Inverter AC Current
unit_of_measurement: A
device_class: current
data_type: uint16
input_type: holding
slave: 1
address: 40071
scan_interval: 5
- name: PV Inverter AC Current A
unit_of_measurement: A
device_class: current
data_type: uint16
input_type: holding
slave: 1
address: 40072
scan_interval: 5
- name: PV Inverter AC Current B
unit_of_measurement: A
device_class: current
data_type: uint16
input_type: holding
slave: 1
address: 40073
scan_interval: 5
- name: PV Inverter AC Current C
unit_of_measurement: A
device_class: current
data_type: uint16
input_type: holding
slave: 1
address: 40074
scan_interval: 5
- name: PV Inverter AC Current SF
data_type: int16
input_type: holding
slave: 1
address: 40075
scan_interval: 5
- name: PV Inverter AC Power
unit_of_measurement: W
device_class: power
data_type: int16
input_type: holding
slave: 1
address: 40083
scan_interval: 5
- name: PV Inverter AC Power SF
data_type: int16
input_type: holding
slave: 1
address: 40084
scan_interval: 5
- name: PV Inverter AC Energy
unit_of_measurement: Wh
device_class: energy
data_type: uint32
input_type: holding
slave: 1
address: 40093
scan_interval: 5
- name: PV Inverter AC Energy SF
data_type: uint16
input_type: holding
slave: 1
address: 40095
scan_interval: 5
- name: PV Inverter DC Power
unit_of_measurement: W
device_class: power
data_type: int16
input_type: holding
slave: 1
address: 40100
scan_interval: 5
- name: PV Inverter DC Power SF
data_type: int16
input_type: holding
slave: 1
address: 40101
scan_interval: 5
- name: PV Inverter Temp
unit_of_measurement: °C
device_class: temperature
data_type: int16
input_type: holding
slave: 1
address: 40103
scan_interval: 5
- name: PV Inverter Temp SF
data_type: int16
input_type: holding
slave: 1
address: 40106
scan_interval: 5
- name: PV Inverter Status
data_type: uint16
input_type: holding
slave: 1
address: 40107
scan_interval: 5
# Meter
- name: PV Meter AC Current
unit_of_measurement: A
device_class: current
data_type: int16
input_type: holding
slave: 1
address: 40190
scan_interval: 5
- name: PV Meter AC Current A
unit_of_measurement: A
device_class: current
data_type: int16
input_type: holding
slave: 1
address: 40191
scan_interval: 5
- name: PV Meter AC Current B
unit_of_measurement: A
device_class: current
data_type: int16
input_type: holding
slave: 1
address: 40192
scan_interval: 5
- name: PV Meter AC Current C
unit_of_measurement: A
device_class: current
data_type: int16
input_type: holding
slave: 1
address: 40193
scan_interval: 5
- name: PV Meter AC Current SF
data_type: int16
input_type: holding
slave: 1
address: 40194
scan_interval: 5
- name: PV Meter AC Power
unit_of_measurement: W
device_class: power
data_type: int16
input_type: holding
slave: 1
address: 40206
scan_interval: 5
- name: PV Meter AC Power A
unit_of_measurement: W
device_class: power
data_type: int16
input_type: holding
slave: 1
address: 40207
scan_interval: 5
- name: PV Meter AC Power B
unit_of_measurement: W
device_class: power
data_type: int16
input_type: holding
slave: 1
address: 40208
scan_interval: 5
- name: PV Meter AC Power C
unit_of_measurement: W
device_class: power
data_type: int16
input_type: holding
slave: 1
address: 40209
scan_interval: 5
- name: PV Meter AC Power SF
data_type: int16
input_type: holding
slave: 1
address: 40210
scan_interval: 5
- name: PV Meter Exported
unit_of_measurement: Wh
device_class: energy
data_type: uint32
input_type: holding
slave: 1
address: 40226
scan_interval: 5
- name: PV Meter Imported
unit_of_measurement: Wh
device_class: energy
data_type: uint32
input_type: holding
slave: 1
address: 40234
scan_interval: 5
- name: PV Meter Energy SF
data_type: int16
input_type: holding
slave: 1
address: 40242
scan_interval: 5
# Batterey
- name: PV Battery 1 Device ID
data_type: uint16
input_type: holding
slave: 1
address: 57664
scan_interval: 5
- name: PV Battery 1 Lifetime Export Energy Counter
unit_of_measurement: Wh
device_class: power
data_type: uint64
input_type: holding
slave: 1
address: 57718
scan_interval: 5
- name: PV Battery 1 Available Energy
unit_of_measurement: Wh
device_class: power
data_type: float32
input_type: holding
slave: 1
address: 57728
scan_interval: 5
- name: PV Battery 1 Status
data_type: uint32
input_type: holding
slave: 1
address: 57734
scan_interval: 5
- name: PV Battery 1 Status 1
data_type: uint32
input_type: input
slave: 1
address: 62854
scan_interval: 5
- name: PV Battery Status 2
data_type: int16
input_type: holding
slave: 1
address: 57990
scan_interval: 5
Hier die Register aus dem ioBroker Modbus Instanz:
_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 value true false false false
40072 I_AC_StromA AC-Phase A (L1) Stromwert A uint16be 1 1 0 value true false false false
40073 I_AC_StromB AC-Phase B (L2) Stromwert A uint16be 1 1 0 value true false false false
40074 I_AC_StromC AC-Phase C (L3) Stromwert A uint16be 1 1 0 value true false false false
40075 I_AC_Strom_SF AC-Strom Skalierungsfaktor SF int16be 1 1 0 value true false false false
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 SF 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 SF int16be 1 1 0 value true false false true
40085 I_AC_Frequenz Frequenzwert Hz uint16be 1 1 0 value true false false false
40086 I_AC_Frequenz_SF Frequenz Skalierungsfaktor int16be 1 1 0 value true false false false
40087 I_AC_VA Scheinleistung VA uint16be 1 1 0 value true false false false
40088 I_AC_VA_SF Scheinleistung Skalierungsfaktor SF int16be 1 1 0 value true false false false
40089 I_AC_VAR Blindleistung VAR uint16be 1 1 0 value true false false false
40090 I_AC_VAR_SF Blindleistung Skalierungsfaktor SF int16be 1 1 0 value true false false false
40091 I_AC_PF Leistungsfaktor % uint16be 1 1 0 value true false false false
40092 I_AC_PF_SF Leistungsfaktor Skalierungsfaktor SF int16be 1 1 0 value true false false false
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 SF uint16be 1 1 0 value true false false true
40096 I_DC_Strom DC-Stromwert A uint16be 1 1 0 value true false false false
40097 I_DC_Strom_SF DC-Strom Skalierungsfaktor SF int16be 1 1 0 value true false false false
40098 I_DC_Spannung DC-Spannungswert V uint16be 1 1 0 value true false false false
40099 I_DC_Spannung_SF DC-Spannung Skalierungsfaktor SF int16be 1 1 0 value true false false false
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 SF 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 SF 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 Betriebszustand Anbieter (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
40123 C_Manufacturer Meter manufacturer string 32 1 0 value true false false false
40139 C_Model Meter model string 32 1 0 value true false false false
40155 C_Option Export + Import, Production, consumption string 16 1 0 value true false false false
40190 M_AC_Current AC Current (sum of active phases) A uint16be 1 1 0 value true false false false
40194 M_AC_Current_S F AC Current Scale Factor SF int16be 1 1 0 value true false false false
40206 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
40210 M_AC_Power_SF AC Real Power Scale Factor SF int16be 1 1 0 value true false false true
40226 M_Exported Total Exported Real Energy Wh uint32be 2 1 0 x * Math.pow(10,sf['40242']) value true false false false
40234 M_Imported Total Imported Real Energy Wh uint32be 2 1 0 x * Math.pow(10,sf['40242']) value true false false false
40242 M_Energy_W_SF Real Energy Scale Factor SF int16be 1 1 0 value true false false true
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 value true false false false
63236 Storage Control Mode 0 – Disabled | 1 – Maximize Self Consumption | 2 – Time of Use (Profile programming) | 3 – Backup Only | 4 – Remote Control uint16be 1 1 0 value true false false false
63243 Remote Control Command Timeout sets the operating timeframe for the charge/discharge command sets in Remote Control s uint32be 2 1 0 value true false false false
63245 Remote Control Command Mode 0 – Off | 1 – Charge excess PV power | 2 – Charge from PV first | 3 – Charge from PV+AC according to the max battery power | 4 – Maximize export | 5 – Discharge to meet loads consumption | 7 – Maximize self-consumption uint16be 1 1 0 value true false false false
63246 Remote Control Charge Limit Sets the maximum charge limit. The default is the maximum battery charge power. W floatsw 2 1 0 value true false false false
63248 Remote Control Command Discharge Limit Sets the maximum discharge limit. The default is the maximum battery discharge power. W floatsw 2 1 0 value true false false false