Home Assistant Unofficial Reference 2024.12.1
entity.py
Go to the documentation of this file.
1 """Base class for Tado entity."""
2 
3 from homeassistant.helpers.device_registry import DeviceInfo
4 from homeassistant.helpers.entity import Entity
5 
6 from . import TadoConnector
7 from .const import DEFAULT_NAME, DOMAIN, TADO_HOME, TADO_ZONE
8 
9 
11  """Base implementation for Tado device."""
12 
13  _attr_should_poll = False
14  _attr_has_entity_name = True
15 
16  def __init__(self, device_info: dict[str, str]) -> None:
17  """Initialize a Tado device."""
18  super().__init__()
19  self._device_info_device_info = device_info
20  self.device_namedevice_name = device_info["serialNo"]
21  self.device_iddevice_id = device_info["shortSerialNo"]
22  self._attr_device_info_attr_device_info = DeviceInfo(
23  configuration_url=f"https://app.tado.com/en/main/settings/rooms-and-devices/device/{self.device_name}",
24  identifiers={(DOMAIN, self.device_iddevice_id)},
25  name=self.device_namedevice_name,
26  manufacturer=DEFAULT_NAME,
27  sw_version=device_info["currentFwVersion"],
28  model=device_info["deviceType"],
29  via_device=(DOMAIN, device_info["serialNo"]),
30  )
31 
32 
34  """Base implementation for Tado home."""
35 
36  _attr_should_poll = False
37  _attr_has_entity_name = True
38 
39  def __init__(self, tado: TadoConnector) -> None:
40  """Initialize a Tado home."""
41  super().__init__()
42  self.home_namehome_name = tado.home_name
43  self.home_idhome_id = tado.home_id
44  self._attr_device_info_attr_device_info = DeviceInfo(
45  configuration_url="https://app.tado.com",
46  identifiers={(DOMAIN, str(tado.home_id))},
47  manufacturer=DEFAULT_NAME,
48  model=TADO_HOME,
49  name=tado.home_name,
50  )
51 
52 
54  """Base implementation for Tado zone."""
55 
56  _attr_has_entity_name = True
57  _attr_should_poll = False
58 
59  def __init__(self, zone_name: str, home_id: int, zone_id: int) -> None:
60  """Initialize a Tado zone."""
61  super().__init__()
62  self.zone_namezone_name = zone_name
63  self.zone_idzone_id = zone_id
64  self._attr_device_info_attr_device_info = DeviceInfo(
65  configuration_url=(f"https://app.tado.com/en/main/home/zoneV2/{zone_id}"),
66  identifiers={(DOMAIN, f"{home_id}_{zone_id}")},
67  name=zone_name,
68  manufacturer=DEFAULT_NAME,
69  model=TADO_ZONE,
70  suggested_area=zone_name,
71  )
None __init__(self, dict[str, str] device_info)
Definition: entity.py:16
None __init__(self, TadoConnector tado)
Definition: entity.py:39
None __init__(self, str zone_name, int home_id, int zone_id)
Definition: entity.py:59