diff --git a/packages/helpermodules/setdata.py b/packages/helpermodules/setdata.py index 35c616eb1a..2b54d3c7d2 100644 --- a/packages/helpermodules/setdata.py +++ b/packages/helpermodules/setdata.py @@ -634,13 +634,13 @@ def process_bat_topic(self, msg: mqtt.MQTTMessage): self._validate_value(msg, float) elif "openWB/set/bat/get/soc" in msg.topic: self._validate_value(msg, float, [(0, 100)]) - elif "openWB/set/bat/get/power" in msg.topic: + elif ("openWB/set/bat/get/power" in msg.topic or + "openWB/set/bat/set/power_limit" in msg.topic): self._validate_value(msg, float) elif ("openWB/set/bat/get/imported" in msg.topic or "openWB/set/bat/get/exported" in msg.topic or "openWB/set/bat/get/daily_exported" in msg.topic or - "openWB/set/bat/get/daily_imported" in msg.topic or - "openWB/set/bat/set/power_limit" in msg.topic): + "openWB/set/bat/get/daily_imported" in msg.topic): self._validate_value(msg, float, [(0, float("inf"))]) elif "openWB/set/bat/get/fault_state" in msg.topic: self._validate_value(msg, int, [(0, 2)]) diff --git a/packages/modules/devices/victron/victron/bat.py b/packages/modules/devices/victron/victron/bat.py index 8a72b41cce..d0fd546fb3 100644 --- a/packages/modules/devices/victron/victron/bat.py +++ b/packages/modules/devices/victron/victron/bat.py @@ -71,7 +71,7 @@ def set_power_limit(self, power_limit: Optional[int]) -> None: self.__tcp_client.write_registers(2902, [3], data_type=ModbusDataType.UINT_16, unit=modbus_id) self.__tcp_client.write_registers(39, [1], data_type=ModbusDataType.UINT_16, unit=228) self.last_mode = 'stop' - elif power_limit > 0: + elif power_limit < 0: if self.last_mode != 'discharge': # ESS Mode 3 für externe Steuerung und auf L1 wird entladen self.__tcp_client.write_registers(2902, [3], data_type=ModbusDataType.UINT_16, unit=modbus_id)