Skip to content

Modbus Register

Falk Thumm edited this page Jul 26, 2026 · 2 revisions

Modbus-Register: Deye SUN-xK-SG04LP3

Vollständige Referenz der Holding-Register des Deye SUN-xK-SG04LP3 (3-Phase LV Hybrid), so wie sie diese Firmware verwendet und im Register-Explorer des Web-UI interpretiert.

Adressen sind dezimal und werden so gezählt, wie der Wechselrichter sie auf dem Bus erwartet - ohne den 40001-Offset mancher Modbus-Werkzeuge.


Konventionen

Thema Festlegung
Transport Modbus RTU über RS485, 9600 8N1, Slave-ID 1 (Default, im Web-UI änderbar)
Lesen FC03 - Read Holding Registers
Schreiben FC16 - Write Multiple Registers
Adressierung dezimal, ohne 40001-Offset
U16 16 Bit vorzeichenlos
S16 16 Bit vorzeichenbehaftet (Zweierkomplement)
U32 zwei Register, Low-Word zuerst: wert = (hi << 16) | lo
Skalierung Anzeigewert = Rohwert x Faktor
Temperatur °C = Rohwert x 0,1 - 100 (Deye-Offset-Konvention)
ASCII zwei Zeichen pro Register, High-Byte zuerst

Vorzeichen bei Leistungen. Die Bridge liest die Leistungsregister als S16. Für die Batterie gilt nach Deye-Konvention positiv = Entladung, negativ = Ladung. Bei Netz- und CT-Leistung steht positiv für Bezug, negativ für Einspeisung. Beide Konventionen sind modell- und firmwareabhängig - vor dem Bau von Automationen am realen Gerät verifizieren (Live-Daten im Web-UI).

Wertebereich. Die Leistungsregister sind 16 Bit breit und laufen jenseits von ca. 32 kW über. Für den SG04LP3 (max. 12 kW) ist das unkritisch.


Poll-Blöcke der Bridge

Die Firmware liest nicht Register für Register, sondern drei zusammenhängende Blöcke plus einen einmaligen Static-Read. Das hält die Buslast niedrig und die Live-Werte trotzdem aktuell.

Block Bereich Register Frequenz
HOT 586..638 53 jeder Zyklus (Default 2 s)
COLD 500..558 59 jeder N. Zyklus (Default N = 3)
COLD2 644..683 40 jeder N. Zyklus
SN 3..7 5 einmal beim Boot

Register außerhalb dieser Blöcke - etwa die Setup-Register unter 500 oder die UPS-Leistungen 640..643 - werden nicht zyklisch gelesen. Sie lassen sich im Web-UI unter Deye RTU Konfiguration mit der Probe-Funktion einzeln abfragen; die Interpretationstabelle dort deckt alle hier dokumentierten Register ab.


Geräte-Identifikation (0-23)

Reg Name Typ Skalierung Anmerkung
0 Device Type U16 Enum 2 = String, 3 = 1-Phase Hybrid, 4 = Micro, 5 = 3-Phase LV Hybrid, 6 = 3-Phase HV Hybrid
1 Modbus Address U16 - Slave-ID
2 Protokoll-Version U16 -
3..7 Seriennummer ASCII 10 Bytes von der Bridge einmal beim Boot gelesen
8 Rated Power U16 -
11 Assistant Prog Version U16 hex
14 Ctrl FW Version Seg2 U16 -
15 Ctrl FW Master Version U16 -
16 Comm FW Version Seg1 U16 -
17 Comm FW Version Seg2 U16 -
18 Comm FW Master Version U16 -
19 Safety Type U16 -
20 Rated Power (low) U16 0,1 W Low-Word von U32
21 Rated Power (high) U16 0,1 W High-Word
22 MPPT Num & Phases U16 Bitfeld Anzahl MPPTs und Phasen
23 Rated Grid Voltage U16 Enum 0 = 127/220 V, 1 = 220/380 V

Steuerung und Selbsttest (60-96)

Reg Name Typ Skalierung Anmerkung
60 Remote Lock U16 Enum 0 = turn on, 2 = turn off
61 Self-Check Time (Boot) U16 s
62 System Time Byte01 U16 Jahr
63 System Time Byte03 U16 Tag
64 System Time Byte05 U16 Minute
65 Insulation Impedance U16 0,1 kOhm
74 Communication Address U16 -
75 Communication Baudrate U16 -
77 Active Power Regulation U16 0,1 %
78 Reactive Power Regulation U16 0,1 %
79 Apparent Power Regulation U16 0,1 %
80 Inverter enabled U16 Enum 0 = aus, 1 = an
81 Factory Reset Enable U16 Enum 0 = disable, 1 = enable
82 Self-Checking Time U16 s
83 Island Protection Enable U16 Enum
84 MPPT Number Enable U16 Enum
85 GFDI Enable U16 Enum Ground Fault Detection
87 RISO Enable U16 Enum Isolationsüberwachung
88 Grid Standard (alt) U16 Enum 1 = China, 2 = Brazil, 3 = India
90 Low Voltage Ride Through U16 Enum
91 MCU EEPROM Init U16 Enum 0 = normal, 1 = EEPROM initialisieren
92 Comm EEPROM Init U16 Enum 0 = normal, 1 = EEPROM initialisieren
96 PowerWH Factor U16 0,01

Batterie-Setup (98-120)

Reg Name Typ Skalierung Anmerkung
98 Battery Control Mode U16 Enum 0 = Blei 4-stufig, 1 = Lithium
99 Battery Equalization Voltage U16 0,01 V
100 Battery Absorption Voltage U16 0,01 V
101 Battery Float Voltage U16 0,01 V
102 Battery Capacity (aktuell) U16 Ah
103 Battery Empty Voltage U16 0,01 V
104 System Zero-Export Power U16 W
105 Battery Equalization Days U16 d
106 Battery Equalization Hours U16 h
107 Temp Compensation U16 mV/°C
108 Battery Max Charge Current U16 A
109 Battery Max Discharge Current U16 A
111 Battery Type U16 Enum 0 = über Spannung, 1 = Lithium (BMS), 2 = keine Batterie
112 Battery Wake Up U16 Enum
113 Battery Resistance U16 mOhm
114 Battery Charge Efficiency U16 0,1 %
115 Battery Shutdown Capacity U16 %
116 Battery Restart Capacity U16 %
117 Battery Low Capacity U16 %
118 Battery Shutdown Voltage U16 0,01 V
119 Battery Restart Voltage U16 0,01 V
120 Battery Low Voltage Warn U16 0,01 V

Generator, Netzladen, Smart Load (121-139)

Reg Name Typ Skalierung Anmerkung
121 Generator Max Operating Time U16 0,1 h
122 Generator Cooling Time U16 0,1 h
123 Gen Charge Start Voltage U16 0,01 V laut Doku; auf realer Hardware ggf. abweichend
124 Gen Charge Start SOC U16 %
125 Gen Charge Max Current U16 A
126 Grid Charge Max Power U16 W Doku nennt "Grid Charge Start Voltage", empirisch aber Maximalleistung
127 Grid Charge Start SOC U16 %
128 Grid Charge Max Current U16 A
129 Gen Charge Enable U16 Enum 0 = aus, 1 = an
130 Grid Charge Enable U16 Enum 0 = aus, 1 = an
131 AC Couple Freq Upper U16 0,01 Hz
132 Force Generator as Load U16 Enum
133 Generator Port Usage U16 Enum 0 = Generator, 1 = Smart Load, 2 = Micro Inverter
134 Smart Load Off Voltage U16 0,01 V
135 Smart Load Off SOC U16 %
136 Smart Load On Voltage U16 0,01 V
137 Smart Load On SOC U16 %
138 Lithium Battery Enable U16 Enum
139 Battery Capacity U16 Ah

System-Modus und Zero Export (140-147)

Reg Name Typ Skalierung Anmerkung
140 Signal Source U16 Enum 0 = beide aus, 1 = Grid Signal, 2 = Gen Signal, 3 = beide an
141 Energy Mgmt Mode U16 Bitmaske Bit0-1: 0 = Battery First / 1 = Load First; Bit2-3 passiv; Bit4-5 aktiver Grid Balance
142 System Work Mode U16 Enum 0 = Self Use, 1 = Zero Export to Load, 2 = Zero Export to CT, 3 = Selling First - siehe Abweichungen
143 Max Sell Power U16 W
144 External CT Clamp Phase U16 Bitfeld
145 Solar Export U16 Enum 0 = aus, 1 = an
146 TOU Day-Mask / Enable U16 Bitmaske schaltet die Time-of-Use-Slots scharf
147 Grid Phase Sequence U16 Enum 0 = 0/120/240, 1 = 0/240/120

Time-of-Use-Blöcke (148-177)

Sechs Zeitslots, jeder Parameter liegt als zusammenhängender Sechserblock. Slot n (1..6) findet sich also jeweils bei Basis + n - 1.

Reg Name Typ Skalierung Anmerkung
148..153 TOU Time Slot 1..6 U16 HH*100 + MM aufsteigend, z.B. 1630 = 16:30
154..159 TOU Power Slot 1..6 U16 W Lade- bzw. Entlade-Sollleistung
160..165 TOU Voltage Slot 1..6 U16 0,01 V Alternative zum SOC-Ziel
166..171 TOU SOC Slot 1..6 U16 % Ziel-SOC des Slots
172..177 TOU Grid Charge 1..6 U16 Enum 0 = kein Netzladen, 1 = Netzladen erlaubt

Funktions-Flags und Netz-Standards (178-194)

Reg Name Typ Skalierung Anmerkung
178 Function Flags 1 U16 Bitmaske paarweise Bits (10 = disable, 11 = enable): Bit0-1 MicroInv Export Cutoff, Bit2-3 Gen Peak Shave, Bit4-5 Grid Peak Shave, Bit6-7 On-Grid Always On
179 Function Flags 2 U16 Bitmaske Bit0-1 externe CT-Richtungserkennung, Bit2-3 Forced Off-Grid
180 Restore Connection Time U16 s Wiederzuschaltzeit nach Netzfehler
181 Solar Arc Fault Mode U16 Enum
182 Grid Standard U16 Enum 0 Generic, 1 IEEE1547, 2 RULE21, 3 SRD_UL1741, 4 CEI_0_21, 5 EN50549_CZ, 6 AS4777_A, 7 AS4777_B, 8 AS4777_C, 9 AS4777_NZ, 10 VDE4105, 11 OVE_R25, 12 EN50549_CZ_L16A
183 Grid Frequency Config U16 Enum 0 = 50 Hz, 1 = 60 Hz
184 Grid Type U16 Enum 0 = 1-phasig 220-240 V, 1 = Split-Phase 120/240 V, 2 = 3-phasig 208 V, 3 = 1-phasig 120 V
185 Grid Voltage High Limit U16 0,1 V
186 Grid Voltage Low Limit U16 0,1 V
187 Grid Frequency High Limit U16 0,01 Hz
188 Grid Frequency Low Limit U16 0,01 Hz
189 Gen connected to Grid Input U16 Enum
190 Gen Peak Shaving Power U16 W
191 Grid Peak Shaving Power U16 W
192 Smart Load Open Delay U16 min
193 Output PF Setting U16 0,1 %
194 External Relay Bits U16 Bitmaske Bit0-8 = 8 Relais

ARC-Diagnose (195-208)

Werksdiagnose der Lichtbogenerkennung, je Größe ein High- und ein Low-Register. Nur zur Diagnose lesen.

Reg Name
195 / 196 ARC_factory_B High / Low
197 / 198 ARC_factory_I High / Low
199 / 200 ARC_factory_F High / Low
201 / 202 ARC_factory_D High / Low
203 / 204 ARC_factory_T High / Low
205 / 206 ARC_factory_C High / Low
207 / 208 ARC_factory_Frz High / Low

UPS, BMS, Batterie-Hersteller (209-235)

Reg Name Typ Skalierung Anmerkung
209 UPS Delay Time U16 s
210 BMS Charge Voltage U16 0,01 V
211 BMS Discharge Voltage U16 0,01 V
212 BMS Charge Current Limit U16 A
213 BMS Discharge Current Limit U16 A
214 BMS SOC U16 % Wert aus dem BMS, nicht der WR-eigene SOC (588)
215 BMS Voltage U16 0,01 V
216 BMS Current U16 0,01 A
217 BMS Temperatur S16 x0,1 - 100 °C
218 BMS Max Charge Current U16 A
219 BMS Max Discharge Current U16 A
220 BMS Alarm Flags U16 Bitmaske
221 Li Battery Fault Bits U16 Bitmaske
222 Li Battery Flag 2 U16 Bitmaske
223 Lithium Battery Protocol U16 Enum 0 PYLON/SOLAX (CAN), 1 Tianbangda RS485, 2 KOK, 3 Keith, 4 Topai, 5 Pylon 485, 6 Jielisi 485, 7 Xinwangda 485, 8 Xinruineng 485, 9 Tianbangda 485, 10 Shenggao CAN
224 Lithium Battery SOH U16 %
227 Upgrade LCD Test U16 Enum
228 Comm Board Setup Bits U16 Bitmaske Zeit / Beeper / AM-PM
229 Battery 1 Manufacturer U16 Enum 0 HereYin, 1 PYLON, 2 SOLAX, 3 DYNESS_L, 4 CCGX, 5 Alpha_ESS, 6 SUNGO_CAN, 7 VISION_CAN, 8 WATTSONIC_CAN, 9 KUNLAN, 10 GSEnergy, 11 GS_HUB, 12 BYD_LV, 13 AOBO, 14 DEYE, 15 CFE, 16 DMEGC, 17 UZENERGY, 18 GROWATT
235 Track Grid Phase U16 Enum

Zellen, Parallelbetrieb, CT (310-351)

Reg Name Typ Skalierung Anmerkung
310 Solar makes Wind Input U16 Bitmaske Bit0 = String 1, Bit1 = String 2
311..322 Cell Voltage 1..12 U16 0,1 V
323..334 Cell Current 1..12 U16 0,1 A
336 Parallel Bitfeld U16 Bitmaske Master/Slave-Rolle im Parallelverbund
340 Max Solar Power U16 W
344 Grid Check Mode U16 Bit0 0 = CT, 1 = Meter
347 External CT Ratio U16 :1
348 Meter CT Ratio U16 :1
350 Charge Slew Rate (positiv) U16 W Rampe beim Hochfahren
351 Charge Slew Rate (negativ) U16 W Rampe beim Herunterfahren

Ride-Through und Volt-VAR (380-419)

Netzstützverhalten nach kalifornischem Regelwerk (CA). Spannungs- und Frequenzschwellen mit zugehörigen Auslösezeiten.

Reg Name Typ Skalierung
380 CA_LHVRT Enable U16 Enum
381..385 CA_HV2, CA_HV1, CA_LV1, CA_LV2, CA_LV3 U16 0,1 V
386..390 zugehörige Zeiten U16 0,01 s
391 CA_LHFRT Enable U16 Enum
392..395 CA_HF2, CA_HF1, CA_LF1, CA_LF2 U16 0,01 Hz
396..399 zugehörige Zeiten U16 0,01 s
400 CA_QV Enable (Volt-VAR) U16 Enum
401..403 CA_QV_V1..V3 U16 0,1 V
404 CA_QV_V4 U16 0,01
405..408 CA_QV_Q1..Q4 U16 -
409 CA_FW Enable (Freq-Watt) U16 Enum
410 / 411 CA_F Start / Stop U16 0,01 Hz
412 CA_VW Enable (Volt-Watt) U16 Enum
413 / 414 CA_V Start / Stop U16 0,1 V
415 Normal Up Slope U16 %
416 Soft Start Rise Rate U16 %
417..419 QV / VW / FW Response Time U16 s

Betriebszustand, Warnungen, Fehler (500-558)

Reg Name Typ Skalierung Anmerkung
500 Running Status U16 Enum 0 = Standby, 1 = Selfcheck, 2 = Normal, 3 = Alarm, 4 = Fault - als run_state nach MQTT
508 Inverter Status Flag 1 U16 Bitmaske
509 Inverter Status Flag 2 U16 Bitmaske
544 DRM Code U16 Bitmaske Demand Response
548 Comm Board Fault Status U16 Bitmaske
549 MCU Test Flag U16 Bitmaske
550 LCD Test Flag U16 Bitmaske
551 Turn Off/On Status U16 Bit0-3 0 = power off, sonst power on
552 AC Relay Status U16 Bitmaske Bit0 = INV, Bit2 = Grid, Bit3 = Gen, Bit4 = Grid Supply
553 Warning Word 1 U16 Bitmaske Bit1 = FAN_WARN, Bit2 = Grid Phase Wrong
554 Warning Word 2 U16 Bitmaske
555 Fault Code 1 (low) U16 Bitmaske 555/556 bilden zusammen ein U32
556 Fault Code 1 (high) U16 Bitmaske
557 Fault Code 2 (low) U16 Bitmaske 557/558 bilden zusammen ein U32
558 Fault Code 2 (high) U16 Bitmaske

Energiezähler (501-539)

Alle Zähler in 0,1 kWh bzw. 0,1 kVarh. Total-Zähler sind U32 über zwei Register, Low-Word zuerst.

Reg Name Typ Skalierung Anmerkung
501 Day Active Energy S16 0,1 kWh
502 Day Reactive Energy S16 0,1 kVarh die Bridge liest 502 als e_day_active - siehe Abweichungen
503 Day Grid Connection Time U16 s
504 / 505 Total Active Energy U32 0,1 kWh
506 / 507 Total Reactive Energy U32 0,1 kVarh die Bridge liest 506/507 als e_tot_active
514 Day Battery Charge U16 0,1 kWh
515 Day Battery Discharge U16 0,1 kWh
516 / 517 Total Battery Charge U32 0,1 kWh
518 / 519 Total Battery Discharge U32 0,1 kWh
520 Day Grid Import U16 0,1 kWh
521 Day Grid Export U16 0,1 kWh
522 / 523 Total Grid Import U32 0,1 kWh
524 / 525 Total Grid Export U32 0,1 kWh
526 Day Load Energy U16 0,1 kWh
527 / 528 Total Load Energy U32 0,1 kWh
529 Day PV Energy U16 0,1 kWh Summe aller Strings
530..533 Day PV-1..PV-4 Energy U16 0,1 kWh
534 / 535 Total PV Energy U32 0,1 kWh
539 Gen Working Hours / Day U16 0,1 h

Temperaturen (540-543)

Alle nach der Offset-Konvention °C = Rohwert x 0,1 - 100. Rohwert 1247 entspricht also 24,7 °C.

Reg Name Typ Anmerkung
540 DC Transformer Temp S16 als temp_dc nach MQTT
541 Radiator Temp (IGBT) S16 als temp_ac nach MQTT
542 Reserved Temp 1 S16 firmwareabhängig belegt
543 Reserved Temp 2 S16 firmwareabhängig belegt

Batterie live (586-592)

Reg Name Typ Skalierung Anmerkung
586 Battery Temperature S16 x0,1 - 100 °C
587 Battery Voltage U16 0,01 V
588 Battery SOC U16 %
590 Battery Power S16 W positiv = Entladung, negativ = Ladung
591 Battery Current S16 0,02 A LV-Modell: 0,02-A-LSB, die Doku nennt 0,01 - siehe Abweichungen
592 Battery Corrected AH U16 Ah

Netz live (598-625)

Reg Name Typ Skalierung Anmerkung
598..600 Grid Voltage L1..L3 U16 0,1 V
601..603 Grid Line Voltage AB / BC / CA U16 0,1 V Außenleiterspannungen
604..606 Grid Inner Power A / B / C S16 W interne Messung des WR
607 Grid Inner Total Active S16 W
608 Grid Inner Apparent U16 VA
609 Grid Frequency U16 0,01 Hz
610..612 Grid Current L1..L3 S16 0,01 A
613..615 Grid CT Current L1..L3 S16 0,01 A externe Zangen
616..618 Grid CT Power L1..L3 S16 W externe Zangen, Messpunkt Hausanschluss
619 Grid CT Total Power S16 W Summe der externen CTs
620 Grid Ext Total Apparent U16 VA
621 Grid Power Factor U16 0,001
622..624 Grid Power L1..L3 S16 W interne Messung am Netzanschluss des WR
625 Grid Total Power S16 W

Die Bridge publiziert sowohl die internen Netzleistungen (622..625) als auch die CT-Werte (616..619). Für Hausbilanz und Zero-Export ist in der Regel der CT-Wert der relevante, weil er den gesamten Hausanschluss sieht.

Inverter-Ausgang (627-638)

Reg Name Typ Skalierung
627..629 Inverter Voltage L1..L3 U16 0,1 V
630..632 Inverter Current L1..L3 S16 0,01 A
633..635 Inverter Power L1..L3 S16 W
636 Inverter Total Power S16 W
637 Inverter Total Apparent U16 VA
638 Inverter Frequency U16 0,01 Hz

UPS / Backup-Load (640-643)

Reg Name Typ Skalierung Anmerkung
640..642 UPS Load Power L1..L3 S16 W Notstromausgang
643 UPS Load Total Power S16 W liegt außerhalb der Poll-Blöcke, nur per Probe lesbar

Load (644-655)

Reg Name Typ Skalierung
644..646 Load Voltage L1..L3 U16 0,1 V
647..649 Load Current L1..L3 S16 0,01 A
650..652 Load Power L1..L3 S16 W
653 Load Total Power S16 W
654 Load Total Apparent U16 VA
655 Load Frequency U16 0,01 Hz

Generator live (661-671)

Reg Name Typ Skalierung
661..663 Gen Voltage L1..L3 U16 0,1 V
664..666 Gen Power L1..L3 S16 W
667 Gen Total Power S16 W
671 Gen Current L1 S16 0,01 A

PV / MPPT (672-683)

Reg Name Typ Skalierung Anmerkung
672 PV1 Power U16 W
673 PV2 Power U16 W
674 PV3 Power U16 W am SG04LP3 nicht bestückt
675 PV4 Power U16 W am SG04LP3 nicht bestückt
676 / 677 PV1 Voltage / Current U16 0,1 V / 0,1 A
678 / 679 PV2 Voltage / Current U16 0,1 V / 0,1 A
680 / 681 PV3 Voltage / Current U16 0,1 V / 0,1 A
682 / 683 PV4 Voltage / Current U16 0,1 V / 0,1 A

Erweitert

Reg Name Typ Anmerkung
1000 Grid Power Check Mode U16 Bit0: 0 = CT, 1 = Meter

Batterie-Steuerung (schreibend)

Die Bridge steuert die Batterie nicht über ein einzelnes "Leistungs-Register", sondern über den Time-of-Use-Block: alle sechs Slots werden mit denselben Werten beschrieben, damit die Vorgabe rund um die Uhr gilt. Geschrieben wird mit FC16 in fünf Blöcken.

Reihenfolge Register Inhalt
1 142 System Work Mode = 2
2 148..153 Zeitraster 00:00, 04:00, 08:00, 12:00, 16:00, 20:00
3 154..159 Sollleistung in W
4 166..171 Ziel-SOC in %
5 172..177 Netzladen erlauben (0/1)

Die drei Modi der Bridge füllen diese Blöcke so:

Modus Power (154..159) SOC (166..171) Grid Charge (172..177)
Auto 0 20 % 0
Force Charge Sollleistung SOC-Limit 1
Force Discharge Sollleistung SOC-Limit (Entlade-Untergrenze) 0

Das SOC-Limit wird auf 5..100 % begrenzt. Der zuletzt gesetzte Modus liegt im NVS und wird ein paar Sekunden nach dem Boot erneut auf den Wechselrichter geschrieben.


MQTT-Mapping

Die 60 Sensoren, die als JSON-State auf deye/<deviceId>/state landen und per Home-Assistant-Discovery angelegt werden - mit dem Register, aus dem sie stammen.

JSON-Key Register Einheit
pv1_voltage 676 V
pv1_current 677 A
pv1_power 672 W
pv2_voltage 678 V
pv2_current 679 A
pv2_power 673 W
pv_total_power 672 + 673 (berechnet) W
batt_temp 586 °C
batt_voltage 587 V
batt_current 591 A
batt_power 590 W
batt_soc 588 %
grid_voltage_l1 598 V
grid_voltage_l2 599 V
grid_voltage_l3 600 V
grid_frequency 609 Hz
grid_power_l1 622 W
grid_power_l2 623 W
grid_power_l3 624 W
grid_power_total 625 W
ct_power_l1 616 W
ct_power_l2 617 W
ct_power_l3 618 W
ct_power_total 619 W
inv_voltage_l1 627 V
inv_voltage_l2 628 V
inv_voltage_l3 629 V
inv_current_l1 630 A
inv_current_l2 631 A
inv_current_l3 632 A
inv_power_l1 633 W
inv_power_l2 634 W
inv_power_l3 635 W
inv_power_total 636 W
inv_frequency 638 Hz
load_voltage_l1 644 V
load_voltage_l2 645 V
load_voltage_l3 646 V
load_power_l1 650 W
load_power_l2 651 W
load_power_l3 652 W
load_power_total 653 W
load_frequency 655 Hz
temp_dc 540 °C
temp_ac 541 °C
run_state 500 -
e_day_pv 529 kWh
e_day_load 526 kWh
e_day_grid_imp 520 kWh
e_day_grid_exp 521 kWh
e_day_batt_chg 514 kWh
e_day_batt_dis 515 kWh
e_day_active 502 kWh
e_tot_pv 534 / 535 kWh
e_tot_load 527 / 528 kWh
e_tot_grid_imp 522 / 523 kWh
e_tot_grid_exp 524 / 525 kWh
e_tot_batt_chg 516 / 517 kWh
e_tot_batt_dis 518 / 519 kWh
e_tot_active 506 / 507 kWh

Zusätzlich steht die Seriennummer (Register 3..7) als serial_number im State-JSON.


Bekannte Abweichungen

Die Register-Map des SG04LP3 ist nicht offiziell dokumentiert; die öffentlichen Quellen widersprechen sich an einigen Stellen, und auch dieses Projekt trägt an zwei Stellen zwei Lesarten desselben Registers mit sich.

Der ausführliche Abgleich mit beiden Referenzen steht auf einer eigenen Seite: Findings: Register-Abweichungen - je Fall mit Belegstelle, praktischer Auswirkung, einer Prüfanleitung für das eigene Gerät und dem nötigen Eingriff. Kurzfassung:

Register Kurzfassung Schwere
591 Parser rechnet mit 0,02 A/LSB, beide Referenzen nennen 0,01 - batt_current womöglich Faktor 2 zu hoch hoch
142 drei verschiedene Enum-Zuordnungen; der Register-Explorer zeigt Wert 0 vermutlich falsch an mittel
501/502, 504..507 Wirk- vs. Blindenergie: der Parser ist belegt korrekt, die Web-UI-Beschriftung weicht ab mittel
500 Betriebszustände im Kommentar verschoben, Zustand 5 fehlt niedrig
604..659 High-Words der 32-Bit-Leistungen werden nicht gelesen (Überlauf > 32 kW) niedrig
672 / 673 in der Quelle doppelt belegt (PV-Leistung vs. Generatorstrom) niedrig

Zwei weitere Punkte sind keine Quellenkonflikte, sondern hardwareabhängig und lassen sich nur am Gerät klären:

Temperaturkonvention. raw / 10 - 100 gilt auf den meisten Firmware-Ständen, aber nicht auf allen; manche Sensoren liefern reines x0,1 °C ohne Offset. Ein Wert um -75 °C statt 25 °C ist das typische Symptom. Anpassbar in src/deye_master.cpp über decodeTempOffset bzw. decodeTempPlain.

Vorzeichen Batterie. Ob Laden positiv oder negativ gezählt wird, ist modellabhängig. Im Web-UI unter Live-Daten gegen einen bekannten Betriebszustand prüfen.


Quellen

  • kellerza/sunsynk - three_phase_common.py, three_phase_lv.py
  • kbialek/deye-inverter-mqtt - src/deye_sensors_deye_sg04lp3.py
  • Deye Modbus RTU/TCP Protocol Spec (öffentlich kursierende Fassung)
  • Verifikation am Gerät über den Register-Explorer im Web-UI