diff --git a/packages/modules/devices/sma/sma_sunny_boy/bat_smart_energy.py b/packages/modules/devices/sma/sma_sunny_boy/bat_smart_energy.py index 8690b70866..a0932fb6ff 100644 --- a/packages/modules/devices/sma/sma_sunny_boy/bat_smart_energy.py +++ b/packages/modules/devices/sma/sma_sunny_boy/bat_smart_energy.py @@ -136,9 +136,9 @@ def _write_registers(self, values_to_write: Dict[str, Union[int, float]], unit: def _encode_value(self, value: Union[int, float], data_type: ModbusDataType) -> list: builder = pymodbus.payload.BinaryPayloadBuilder( - byteorder=pymodbus.constants.Endian.Big, - wordorder=pymodbus.constants.Endian.Big - ) + byteorder=pymodbus.constants.Endian.Big, + wordorder=pymodbus.constants.Endian.Big + ) encode_methods = { ModbusDataType.UINT_32: builder.add_32bit_uint, ModbusDataType.INT_32: builder.add_32bit_int, @@ -153,5 +153,8 @@ def _encode_value(self, value: Union[int, float], data_type: ModbusDataType) -> return builder.to_registers() + def power_limit_controllable(self) -> bool: + return True + component_descriptor = ComponentDescriptor(configuration_factory=SmaSunnyBoySmartEnergyBatSetup) diff --git a/packages/modules/devices/sungrow/sungrow/bat.py b/packages/modules/devices/sungrow/sungrow/bat.py index 3ee28a6afe..469dd4f061 100644 --- a/packages/modules/devices/sungrow/sungrow/bat.py +++ b/packages/modules/devices/sungrow/sungrow/bat.py @@ -94,5 +94,8 @@ def set_power_limit(self, power_limit: Optional[int]) -> None: power_value = int(min(power_limit, 5000)) self.__tcp_client.write_registers(13051, [power_value], data_type=ModbusDataType.UINT_16, unit=unit) + def power_limit_controllable(self) -> bool: + return True + component_descriptor = ComponentDescriptor(configuration_factory=SungrowBatSetup)