From bcd4c031c6a9bcb49d93fff7db03ddd0eb3058b2 Mon Sep 17 00:00:00 2001 From: GrahamJB1 <26122648+GrahamJB1@users.noreply.github.com> Date: Thu, 19 Jan 2023 08:41:49 +0000 Subject: [PATCH] Support float in modbus register sensor (#86128) register sensor should support float --- homeassistant/components/modbus/sensor.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/modbus/sensor.py b/homeassistant/components/modbus/sensor.py index 7231f3e11a5..310f7b0a9cd 100644 --- a/homeassistant/components/modbus/sensor.py +++ b/homeassistant/components/modbus/sensor.py @@ -110,7 +110,9 @@ class ModbusRegisterSensor(BaseStructPlatform, RestoreEntity, SensorEntity): result = self.unpack_structure_result(raw_result.registers) if self._coordinator: if result: - result_array = list(map(int, result.split(","))) + result_array = list( + map(float if self._precision else int, result.split(",")) + ) self._attr_native_value = result_array[0] self._coordinator.async_set_updated_data(result_array) else: @@ -131,7 +133,7 @@ class SlaveSensor( RestoreEntity, SensorEntity, ): - """Modbus slave binary sensor.""" + """Modbus slave register sensor.""" def __init__( self, @@ -139,7 +141,7 @@ class SlaveSensor( idx: int, entry: dict[str, Any], ) -> None: - """Initialize the Modbus binary sensor.""" + """Initialize the Modbus register sensor.""" idx += 1 self._idx = idx self._attr_name = f"{entry[CONF_NAME]} {idx}"