Home Assistant Unofficial Reference 2024.12.1
entity.py
Go to the documentation of this file.
1 """Base class for TotalConnect entities."""
2 
3 from total_connect_client.location import TotalConnectLocation
4 from total_connect_client.zone import TotalConnectZone
5 
6 from homeassistant.helpers.device_registry import DeviceInfo
7 from homeassistant.helpers.update_coordinator import CoordinatorEntity
8 
9 from .const import DOMAIN
10 from .coordinator import TotalConnectDataUpdateCoordinator
11 
12 
13 class TotalConnectEntity(CoordinatorEntity[TotalConnectDataUpdateCoordinator]):
14  """Represent a TotalConnect entity."""
15 
16  _attr_has_entity_name = True
17 
18 
20  """Represent a TotalConnect location."""
21 
22  def __init__(
23  self,
24  coordinator: TotalConnectDataUpdateCoordinator,
25  location: TotalConnectLocation,
26  ) -> None:
27  """Initialize the TotalConnect location."""
28  super().__init__(coordinator)
29  self._location_location = location
30  self.devicedevice = device = location.devices[location.security_device_id]
31  self._attr_device_info_attr_device_info = DeviceInfo(
32  identifiers={(DOMAIN, device.serial_number)},
33  name=device.name,
34  serial_number=device.serial_number,
35  )
36 
37 
39  """Represent a TotalConnect zone."""
40 
41  def __init__(
42  self,
43  coordinator: TotalConnectDataUpdateCoordinator,
44  zone: TotalConnectZone,
45  location_id: str,
46  key: str,
47  ) -> None:
48  """Initialize the TotalConnect zone."""
49  super().__init__(coordinator)
50  self._location_id_location_id = location_id
51  self._zone_zone = zone
52  self._attr_unique_id_attr_unique_id = f"{location_id}_{zone.zoneid}_{key}"
53  identifier = zone.sensor_serial_number or f"zone_{zone.zoneid}"
54  self._attr_device_info_attr_device_info = DeviceInfo(
55  identifiers={(DOMAIN, identifier)},
56  name=zone.description,
57  serial_number=zone.sensor_serial_number,
58  )
None __init__(self, TotalConnectDataUpdateCoordinator coordinator, TotalConnectLocation location)
Definition: entity.py:26
None __init__(self, TotalConnectDataUpdateCoordinator coordinator, TotalConnectZone zone, str location_id, str key)
Definition: entity.py:47