From 49fc8a12307856b3efe3a80ebe06c07c62d9d1f2 Mon Sep 17 00:00:00 2001 From: Austin Mroczek Date: Tue, 2 Apr 2024 03:23:44 -0700 Subject: [PATCH] Improve DeviceInfo for Total Connect (#114509) --- .../components/totalconnect/alarm_control_panel.py | 1 + .../components/totalconnect/binary_sensor.py | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/homeassistant/components/totalconnect/alarm_control_panel.py b/homeassistant/components/totalconnect/alarm_control_panel.py index 3f2c51989f9..436e3198650 100644 --- a/homeassistant/components/totalconnect/alarm_control_panel.py +++ b/homeassistant/components/totalconnect/alarm_control_panel.py @@ -116,6 +116,7 @@ class TotalConnectAlarm( return DeviceInfo( identifiers={(DOMAIN, self._device.serial_number)}, name=self._device.name, + serial_number=self._device.serial_number, ) @property diff --git a/homeassistant/components/totalconnect/binary_sensor.py b/homeassistant/components/totalconnect/binary_sensor.py index c6c7c75e0b5..6043d15d2d4 100644 --- a/homeassistant/components/totalconnect/binary_sensor.py +++ b/homeassistant/components/totalconnect/binary_sensor.py @@ -10,6 +10,7 @@ from homeassistant.components.binary_sensor import ( from homeassistant.config_entries import ConfigEntry from homeassistant.const import EntityCategory from homeassistant.core import HomeAssistant +from homeassistant.helpers.device_registry import DeviceInfo from homeassistant.helpers.entity_platform import AddEntitiesCallback from .const import DOMAIN @@ -63,6 +64,16 @@ class TotalConnectZoneBinarySensor(BinarySensorEntity): "partition": self._zone.partition, } + @property + def device_info(self) -> DeviceInfo: + """Return device info.""" + identifier = self._zone.sensor_serial_number or f"zone_{self._zone.zoneid}" + return DeviceInfo( + name=self._zone.description, + identifiers={(DOMAIN, identifier)}, + serial_number=self._zone.sensor_serial_number, + ) + class TotalConnectZoneSecurityBinarySensor(TotalConnectZoneBinarySensor): """Represent an TotalConnect security zone."""