Fix: SDM-630 Gesamtwirkleistung aus Phasensumme berechnet (v1.2.1)

Register 0x0030 liefert je nach SDM-630-Firmware-Variante den Phasenwinkel
statt der Gesamtwirkleistung. total_power wird jetzt zuverlässig aus
power_l1 + power_l2 + power_l3 berechnet und überschreibt den Hardware-Wert.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
retr0
2026-04-27 11:27:00 +02:00
parent 456bfb34d6
commit 9913dccfa9
3 changed files with 51 additions and 1 deletions
+1 -1
View File
@@ -1,5 +1,5 @@
name: ShineBridge
version: "1.2.0"
version: "1.2.1"
slug: shinebridge
description: Growatt Wechselrichter lokal in Home Assistant — Modbus TCP via ShineLAN-X, MQTT Discovery, Web UI
url: https://gitea.bitfire.work/retr0/Growatt-Wechselrichter-HAOS
+8
View File
@@ -81,4 +81,12 @@ def _extract_sensors(sensors: list, regs: Dict[int, int]) -> Dict[str, float]:
else:
raw_val = regs[s.reg] * s.scale
values[s.id] = round(raw_val, 3)
# SDM-630: register 0x0030 enthält je nach Firmware-Variante den Phasenwinkel statt
# der Gesamtwirkleistung → sicherer aus den Phasenwerten ableiten
if {"power_l1", "power_l2", "power_l3"} <= values.keys():
values["total_power"] = round(
values["power_l1"] + values["power_l2"] + values["power_l3"], 3
)
return values