Home Assistant Unofficial Reference 2024.12.1
entity.py
Go to the documentation of this file.
1 """Provide a common entity class for myUplink entities."""
2 
3 from homeassistant.helpers.device_registry import DeviceInfo
4 from homeassistant.helpers.update_coordinator import CoordinatorEntity
5 
6 from .const import DOMAIN
7 from .coordinator import MyUplinkDataCoordinator
8 
9 
10 class MyUplinkEntity(CoordinatorEntity[MyUplinkDataCoordinator]):
11  """Representation of myuplink entity."""
12 
13  _attr_has_entity_name = True
14 
15  def __init__(
16  self,
17  coordinator: MyUplinkDataCoordinator,
18  device_id: str,
19  unique_id_suffix: str,
20  ) -> None:
21  """Initialize the entity."""
22  super().__init__(coordinator=coordinator)
23 
24  # Internal properties
25  self.device_iddevice_id = device_id
26 
27  # Basic values
28  self._attr_unique_id_attr_unique_id = f"{device_id}-{unique_id_suffix}"
29  self._attr_device_info_attr_device_info = DeviceInfo(identifiers={(DOMAIN, device_id)})
30 
31 
33  """Representation of a system bound entity."""
34 
35  def __init__(
36  self,
37  coordinator: MyUplinkDataCoordinator,
38  system_id: str,
39  device_id: str,
40  unique_id_suffix: str,
41  ) -> None:
42  """Initialize the entity."""
43  super().__init__(
44  coordinator=coordinator,
45  device_id=device_id,
46  unique_id_suffix=unique_id_suffix,
47  )
48 
49  # Internal properties
50  self.system_idsystem_id = system_id
51 
52  # Basic values
53  self._attr_unique_id_attr_unique_id_attr_unique_id = f"{system_id}-{unique_id_suffix}"