diff --git a/custom_components/froeling_lambdatronic_modbus/binary_sensor.py b/custom_components/froeling_lambdatronic_modbus/binary_sensor.py index 6dba716..e0d9010 100644 --- a/custom_components/froeling_lambdatronic_modbus/binary_sensor.py +++ b/custom_components/froeling_lambdatronic_modbus/binary_sensor.py @@ -4,6 +4,7 @@ import logging from datetime import timedelta from homeassistant.helpers.event import async_track_time_interval from homeassistant.helpers.translation import async_get_translations +from const import DOMAIN _LOGGER = logging.getLogger(__name__) @@ -66,6 +67,16 @@ class FroelingBinarySensor(BinarySensorEntity): def is_on(self): return self._state + @property + def device_info(self): + return { + "identifiers": {(DOMAIN, self._device_name)}, + "name": self._device_name, + "manufacturer": "Froeling", + "model": "Lambdatronic Modbus", + "sw_version": "1.0", + } + async def async_update(self, _=None): client = ModbusTcpClient(self._host, port=self._port) if client.connect(): @@ -106,6 +117,16 @@ class FroelingSensor(BinarySensorEntity): def is_on(self): return self._state + @property + def device_info(self): + return { + "identifiers": {(DOMAIN, self._device_name)}, + "name": self._device_name, + "manufacturer": "Froeling", + "model": "Lambdatronic Modbus", + "sw_version": "1.0", + } + async def async_update(self, _=None): client = ModbusTcpClient(self._host, port=self._port, retries=2, timeout=15) if client.connect(): diff --git a/custom_components/froeling_lambdatronic_modbus/number.py b/custom_components/froeling_lambdatronic_modbus/number.py index c89a819..600eef2 100644 --- a/custom_components/froeling_lambdatronic_modbus/number.py +++ b/custom_components/froeling_lambdatronic_modbus/number.py @@ -4,6 +4,7 @@ import logging from datetime import timedelta from homeassistant.helpers.event import async_track_time_interval from homeassistant.helpers.translation import async_get_translations +from const import DOMAIN _LOGGER = logging.getLogger(__name__) @@ -100,6 +101,16 @@ class FroelingNumber(NumberEntity): def native_max_value(self): return self._max_value + @property + def device_info(self): + return { + "identifiers": {(DOMAIN, self._device_name)}, + "name": self._device_name, + "manufacturer": "Froeling", + "model": "Lambdatronic Modbus", + "sw_version": "1.0", + } + async def async_set_native_value(self, value): client = ModbusTcpClient(self._host, port=self._port) if client.connect(): diff --git a/custom_components/froeling_lambdatronic_modbus/sensor.py b/custom_components/froeling_lambdatronic_modbus/sensor.py index 9cbf972..a08ecb8 100644 --- a/custom_components/froeling_lambdatronic_modbus/sensor.py +++ b/custom_components/froeling_lambdatronic_modbus/sensor.py @@ -4,6 +4,7 @@ import logging from datetime import timedelta from homeassistant.helpers.event import async_track_time_interval from homeassistant.helpers.translation import async_get_translations +from const import DOMAIN _LOGGER = logging.getLogger(__name__) @@ -126,6 +127,16 @@ class FroelingSensor(SensorEntity): def device_class(self): return self._device_class + @property + def device_info(self): + return { + "identifiers": {(DOMAIN, self._device_name)}, + "name": self._device_name, + "manufacturer": "Froeling", + "model": "Lambdatronic Modbus", + "sw_version": "1.0", + } + async def async_update(self, _=None): client = ModbusTcpClient(self._host, port=self._port, retries=2, timeout=15) if client.connect(): @@ -269,6 +280,16 @@ class FroelingTextSensor(SensorEntity): @property def state(self): return self._state + + @property + def device_info(self): + return { + "identifiers": {(DOMAIN, self._device_name)}, + "name": self._device_name, + "manufacturer": "Froeling", + "model": "Lambdatronic Modbus", + "sw_version": "1.0", + } async def async_update_text_sensor(self, _=None): client = ModbusTcpClient(self._host, port=self._port, retries=2, timeout=15)