diff --git a/packages/modules/common/simcount/_simcounter.py b/packages/modules/common/simcount/_simcounter.py index d4dbd83069..956a131123 100644 --- a/packages/modules/common/simcount/_simcounter.py +++ b/packages/modules/common/simcount/_simcounter.py @@ -10,7 +10,9 @@ def __init__(self, device_id: int, component_id: int, prefix: str): self.prefix = "pv2" if prefix == "pv" and component_id != 1 else prefix self.data: Optional[SimCounterState] = None - def sim_count(self, power: float) -> Tuple[float, float]: + def sim_count(self, power: float, dc_power: Optional[float] = None) -> Tuple[float, float]: + if (self.prefix == "pv" or self.prefix == "pv2") and dc_power is not None and dc_power == 0: + power = 0 self.data = sim_count(power, self.topic, self.data, self.prefix) return self.data.imported, self.data.exported diff --git a/packages/modules/devices/sungrow/sungrow/inverter.py b/packages/modules/devices/sungrow/sungrow/inverter.py index a934e04315..db2d5a3807 100644 --- a/packages/modules/devices/sungrow/sungrow/inverter.py +++ b/packages/modules/devices/sungrow/sungrow/inverter.py @@ -50,7 +50,7 @@ def update(self) -> float: currents = self.__tcp_client.read_input_registers(5021, [ModbusDataType.INT_16]*3, unit=unit) currents = [value * -0.1 for value in currents] - imported, exported = self.sim_counter.sim_count(power) + imported, exported = self.sim_counter.sim_count(power, dc_power) inverter_state = InverterState( power=power,