Revert: SPH Energiebilanz-Ableitung entfernt — Problem war Goodwe pbattery1 (v1.7.7)
Die Growatt SPH Register 1009/1011 liefern korrekte Werte. Die Ableitung via ac_power_total war unnötig und fehleranfällig. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
name: ShineBridge
|
name: ShineBridge
|
||||||
version: "1.7.6"
|
version: "1.7.7"
|
||||||
slug: shinebridge
|
slug: shinebridge
|
||||||
description: Growatt Wechselrichter lokal in Home Assistant — Modbus TCP via ShineLAN-X, MQTT Discovery, Web UI
|
description: Growatt Wechselrichter lokal in Home Assistant — Modbus TCP via ShineLAN-X, MQTT Discovery, Web UI
|
||||||
url: https://gitea.bitfire.work/retr0/shinebridge
|
url: https://gitea.bitfire.work/retr0/shinebridge
|
||||||
|
|||||||
@@ -245,21 +245,6 @@ def _poll_loop(inv_cfg: Dict[str, Any], stop: threading.Event):
|
|||||||
if values and "grid_power" not in values and "import_kwh" in values and "total_power" in values:
|
if values and "grid_power" not in values and "import_kwh" in values and "total_power" in values:
|
||||||
values["grid_power"] = values["total_power"]
|
values["grid_power"] = values["total_power"]
|
||||||
|
|
||||||
# Growatt SPH: Register 1009/1011 für Batterie sind unzuverlässig (Messartefakt).
|
|
||||||
# Batterie-Nettoleistung wird stattdessen aus der Energiebilanz abgeleitet:
|
|
||||||
# bat_net = PV + grid_import - grid_export - ac_power_total
|
|
||||||
# Alle vier Quellen sind direkt gemessene, verlässliche Register.
|
|
||||||
if values and all(k in values for k in ("pv1_power", "ac_power_total",
|
|
||||||
"power_to_user", "power_to_grid")):
|
|
||||||
pv = values.get("pv1_power", 0) + values.get("pv2_power", 0)
|
|
||||||
bat_net = pv + values["power_to_user"] - values["power_to_grid"] - values["ac_power_total"]
|
|
||||||
if bat_net >= 0:
|
|
||||||
values["bat_charge_power"] = round(bat_net, 1)
|
|
||||||
values["bat_discharge_power"] = 0.0
|
|
||||||
else:
|
|
||||||
values["bat_discharge_power"] = round(-bat_net, 1)
|
|
||||||
values["bat_charge_power"] = 0.0
|
|
||||||
|
|
||||||
# EMS: PV-Überschuss aus anderen Geräten holen und Ladestrom regeln
|
# EMS: PV-Überschuss aus anderen Geräten holen und Ladestrom regeln
|
||||||
if ems is not None and values is not None:
|
if ems is not None and values is not None:
|
||||||
pv_surplus = _get_pv_surplus()
|
pv_surplus = _get_pv_surplus()
|
||||||
|
|||||||
Reference in New Issue
Block a user