From 678248dd4d9726435f6be8f36ac624516033a0fe Mon Sep 17 00:00:00 2001 From: SeaSpotter Date: Wed, 16 Apr 2025 14:18:33 +0200 Subject: [PATCH 1/2] Use simcounter for HV Hybrid Bat --- packages/modules/devices/deye/deye/bat.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/modules/devices/deye/deye/bat.py b/packages/modules/devices/deye/deye/bat.py index e106275eb4..e7623cf975 100644 --- a/packages/modules/devices/deye/deye/bat.py +++ b/packages/modules/devices/deye/deye/bat.py @@ -52,8 +52,7 @@ def update(self) -> None: if self.device_type == DeviceType.THREE_PHASE_HV: power = power * 10 soc = self.client.read_holding_registers(588, ModbusDataType.INT_16, unit=unit) - imported = self.client.read_holding_registers(516, ModbusDataType.UINT_16, unit=unit) * 100 - exported = self.client.read_holding_registers(518, ModbusDataType.UINT_16, unit=unit) * 100 + imported, exported = self.sim_counter.sim_count(power) bat_state = BatState( power=power, From 5eb8084f4ba4e3300a64a5c6df413f4d8c64e4bb Mon Sep 17 00:00:00 2001 From: SeaSpotter Date: Wed, 16 Apr 2025 14:20:02 +0200 Subject: [PATCH 2/2] Use simcounter for all inverters --- packages/modules/devices/deye/deye/inverter.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/modules/devices/deye/deye/inverter.py b/packages/modules/devices/deye/deye/inverter.py index 37a41d6b93..8688d97b07 100644 --- a/packages/modules/devices/deye/deye/inverter.py +++ b/packages/modules/devices/deye/deye/inverter.py @@ -36,18 +36,17 @@ def update(self) -> None: if self.device_type == DeviceType.SINGLE_PHASE_STRING or self.device_type == DeviceType.SINGLE_PHASE_HYBRID: power = sum(self.client.read_holding_registers(186, [ModbusDataType.INT_16]*4, unit=unit)) * -1 - exported = self.sim_counter.sim_count(power)[1] else: # THREE_PHASE_LV (0x0500, 0x0005), THREE_PHASE_HV (0x0006) power = sum(self.client.read_holding_registers(672, [ModbusDataType.INT_16]*2, unit=unit)) * -1 if self.device_type == DeviceType.THREE_PHASE_HV: power = power * 10 - # 534: Gesamt Produktion Wechselrichter unsigned integer in kWh * 0,1 - exported = self.client.read_holding_registers(534, ModbusDataType.UINT_16, unit=unit) * 100 + imported, exported = self.sim_counter.sim_count(power) inverter_state = InverterState( power=power, + imported=imported, exported=exported, ) self.store.set(inverter_state)