1 """Base class for Tado entity."""
6 from .
import TadoConnector
7 from .const
import DEFAULT_NAME, DOMAIN, TADO_HOME, TADO_ZONE
11 """Base implementation for Tado device."""
13 _attr_should_poll =
False
14 _attr_has_entity_name =
True
16 def __init__(self, device_info: dict[str, str]) ->
None:
17 """Initialize a Tado device."""
21 self.
device_iddevice_id = device_info[
"shortSerialNo"]
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)},
26 manufacturer=DEFAULT_NAME,
27 sw_version=device_info[
"currentFwVersion"],
28 model=device_info[
"deviceType"],
29 via_device=(DOMAIN, device_info[
"serialNo"]),
34 """Base implementation for Tado home."""
36 _attr_should_poll =
False
37 _attr_has_entity_name =
True
39 def __init__(self, tado: TadoConnector) ->
None:
40 """Initialize a Tado home."""
45 configuration_url=
"https://app.tado.com",
46 identifiers={(DOMAIN,
str(tado.home_id))},
47 manufacturer=DEFAULT_NAME,
54 """Base implementation for Tado zone."""
56 _attr_has_entity_name =
True
57 _attr_should_poll =
False
59 def __init__(self, zone_name: str, home_id: int, zone_id: int) ->
None:
60 """Initialize a Tado zone."""
65 configuration_url=(f
"https://app.tado.com/en/main/home/zoneV2/{zone_id}"),
66 identifiers={(DOMAIN, f
"{home_id}_{zone_id}")},
68 manufacturer=DEFAULT_NAME,
70 suggested_area=zone_name,
None __init__(self, dict[str, str] device_info)
None __init__(self, TadoConnector tado)
None __init__(self, str zone_name, int home_id, int zone_id)