From 170d52f5636883ea1268294323a17121b15c83c1 Mon Sep 17 00:00:00 2001 From: GyroGearl00se Date: Wed, 19 Feb 2025 02:43:35 +0100 Subject: [PATCH] added check to convert modbus raw_value to a signed integer to interpret correctly negativ values (i.e. temperatures) --- custom_components/froeling_lambdatronic_modbus/sensor.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/custom_components/froeling_lambdatronic_modbus/sensor.py b/custom_components/froeling_lambdatronic_modbus/sensor.py index 38a8866..cc2ba94 100644 --- a/custom_components/froeling_lambdatronic_modbus/sensor.py +++ b/custom_components/froeling_lambdatronic_modbus/sensor.py @@ -147,6 +147,8 @@ class FroelingSensor(SensorEntity): self._state = None else: raw_value = result.registers[0] + if raw_value > 32767: + raw_value -= 65536 scaled_value = raw_value / self._scaling_factor if self._decimal_places == 0: self._state = int(scaled_value) # Convert to integer if decimal_places is 0