diff --git a/packages/modules/devices/kostal/kostal_plenticore/bat.py b/packages/modules/devices/kostal/kostal_plenticore/bat.py index cbbe359f9e..1f3207796c 100644 --- a/packages/modules/devices/kostal/kostal_plenticore/bat.py +++ b/packages/modules/devices/kostal/kostal_plenticore/bat.py @@ -70,7 +70,10 @@ def set_power_limit(self, power_limit: Optional[int]) -> None: # wiederholt auf Stop setzen damit sich Register nicht zurücksetzt log.debug("Aktive Batteriesteuerung. Batterie wird auf Stop gesetzt und nicht entladen") packed = struct.pack('>f', 0.0) - registers = [int.from_bytes(packed[0:2], 'big'), int.from_bytes(packed[2:4], 'big')] + if self.endianess == Endian.Little: + registers = [int.from_bytes(packed[2:4], 'little'), int.from_bytes(packed[0:2], 'little')] + else: + registers = [int.from_bytes(packed[0:2], 'big'), int.from_bytes(packed[2:4], 'big')] self.client.write_registers(1034, registers, data_type=ModbusDataType.FLOAT_32, unit=unit) elif power_limit < 0: log.debug(f"Aktive Batteriesteuerung. Batterie wird mit {power_limit} W entladen für den Hausverbrauch") @@ -78,7 +81,10 @@ def set_power_limit(self, power_limit: Optional[int]) -> None: power_value = float(min(abs(power_limit), 7000)) * -1 log.debug(f"Aktive Batteriesteuerung. Batterie wird mit {power_value} W entladen für den Hausverbrauch") packed = struct.pack('>f', power_value) - registers = [int.from_bytes(packed[0:2], 'big'), int.from_bytes(packed[2:4], 'big')] + if self.endianess == Endian.Little: + registers = [int.from_bytes(packed[2:4], 'little'), int.from_bytes(packed[0:2], 'little')] + else: + registers = [int.from_bytes(packed[0:2], 'big'), int.from_bytes(packed[2:4], 'big')] self.client.write_registers(1034, registers, data_type=ModbusDataType.FLOAT_32, unit=unit) def power_limit_controllable(self) -> bool: