diff --git a/packages/modules/devices/kostal/kostal_plenticore/bat.py b/packages/modules/devices/kostal/kostal_plenticore/bat.py index 2296969127..ffee968ced 100644 --- a/packages/modules/devices/kostal/kostal_plenticore/bat.py +++ b/packages/modules/devices/kostal/kostal_plenticore/bat.py @@ -25,7 +25,8 @@ def __init__(self, def read_state(self, reader: Callable[[int, ModbusDataType], Any]) -> BatState: power = reader(582, ModbusDataType.INT_16) * -1 soc = reader(514, ModbusDataType.INT_16) - imported, exported = self.sim_counter.sim_count(power) + imported = reader(1046, ModbusDataType.FLOAT_32) + exported = reader(1048, ModbusDataType.FLOAT_32) log.debug("raw bat power "+str(power)) # Speicherladung muss durch Wandlungsverluste und internen Verbrauch korrigiert werden, sonst # wird ein falscher Hausverbrauch berechnet. Die Verluste fallen hier unter den Tisch. diff --git a/packages/modules/devices/kostal/kostal_plenticore/counter.py b/packages/modules/devices/kostal/kostal_plenticore/counter.py index a3950a6fe4..d31e3e751f 100644 --- a/packages/modules/devices/kostal/kostal_plenticore/counter.py +++ b/packages/modules/devices/kostal/kostal_plenticore/counter.py @@ -26,6 +26,8 @@ def get_values(self, reader: Callable[[int, ModbusDataType], Any]) -> CounterSta powers = [reader(register, ModbusDataType.FLOAT_32) for register in [224, 234, 244]] power = reader(252, ModbusDataType.FLOAT_32) frequency = reader(220, ModbusDataType.FLOAT_32) + exported_all = reader(1056, ModbusDataType.FLOAT_32) + imported_bat = reader(1050, ModbusDataType.FLOAT_32) return CounterState( powers=powers, @@ -33,15 +35,13 @@ def get_values(self, reader: Callable[[int, ModbusDataType], Any]) -> CounterSta voltages=voltages, power=power, power_factors=[power_factor]*3, - frequency=frequency + frequency=frequency, + exported=exported_all, + imported=imported_bat ) - def update_imported_exported(self, state: CounterState) -> CounterState: - state.imported, state.exported = self.sim_counter.sim_count(state.power) - return state - def update(self, reader: Callable[[int, ModbusDataType], Any]): - self.store.set(self.update_imported_exported(self.get_values(reader))) + self.store.set(self.get_values(reader)) component_descriptor = ComponentDescriptor(configuration_factory=KostalPlenticoreCounterSetup)