From fefc4f1f34276db81f2fb3f66e57327a81f54c87 Mon Sep 17 00:00:00 2001 From: MartinRinas Date: Wed, 2 Apr 2025 19:39:45 +0000 Subject: [PATCH] add SimCounter to SolaredgeInverter and update read_state to include imported power --- packages/modules/devices/solaredge/solaredge/inverter.py | 7 ++++++- .../modules/devices/solaredge/solaredge/inverter_test.py | 3 ++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/modules/devices/solaredge/solaredge/inverter.py b/packages/modules/devices/solaredge/solaredge/inverter.py index 948b782f85..4dd98bb437 100644 --- a/packages/modules/devices/solaredge/solaredge/inverter.py +++ b/packages/modules/devices/solaredge/solaredge/inverter.py @@ -11,6 +11,7 @@ from modules.common.store import get_inverter_value_store from modules.devices.solaredge.solaredge.config import SolaredgeInverterSetup from modules.devices.solaredge.solaredge.scale import create_scaled_reader +from modules.common.simcount import SimCounter class SolaredgeInverter(AbstractInverter): @@ -31,6 +32,7 @@ def __init__(self, self._read_scaled_uint32 = create_scaled_reader( self.__tcp_client, self.component_config.configuration.modbus_id, ModbusDataType.UINT_32 ) + self.sim_counter = SimCounter(device_id, self.component_config.id, prefix="Wechselrichter") def update(self) -> None: self.store.set(self.read_state()) @@ -51,11 +53,14 @@ def read_state(self): # Wenn bei Hybrid-Systemen der Speicher aus dem Netz geladen wird, ist die DC-Leistung negativ. dc_power = self._read_scaled_int16(40100, 1)[0] * -1 + imported, _ = self.sim_counter.sim_count(power) + return InverterState( power=power, exported=exported, currents=currents, - dc_power=dc_power + dc_power=dc_power, + imported=imported, ) diff --git a/packages/modules/devices/solaredge/solaredge/inverter_test.py b/packages/modules/devices/solaredge/solaredge/inverter_test.py index 6fc88254ec..77f32e123c 100644 --- a/packages/modules/devices/solaredge/solaredge/inverter_test.py +++ b/packages/modules/devices/solaredge/solaredge/inverter_test.py @@ -26,6 +26,7 @@ def test_read_state(): power=-1415.2, exported=8980404, currents=[6.16, 0, 0], - dc_power=-1436.8000000000002 + dc_power=-1436.8000000000002, + imported=100, ) )