1 """Base entity for the Tailwind integration."""
3 from __future__
import annotations
9 from .const
import DOMAIN
10 from .coordinator
import TailwindDataUpdateCoordinator
14 """Defines an Tailwind entity."""
16 _attr_has_entity_name =
True
20 coordinator: TailwindDataUpdateCoordinator,
21 entity_description: EntityDescription,
23 """Initialize an Tailwind entity."""
26 self.
_attr_unique_id_attr_unique_id = f
"{coordinator.data.device_id}-{entity_description.key}"
28 identifiers={(DOMAIN, coordinator.data.device_id)},
33 """Defines an Tailwind door entity.
35 These are the entities that belong to a specific garage door opener
36 that is connected via the Tailwind controller.
39 _attr_has_entity_name =
True
43 coordinator: TailwindDataUpdateCoordinator,
45 entity_description: EntityDescription |
None =
None,
47 """Initialize an Tailwind door entity."""
52 if entity_description:
55 f
"{coordinator.data.device_id}-{door_id}-{entity_description.key}"
59 identifiers={(DOMAIN, f
"{coordinator.data.device_id}-{door_id}")},
60 via_device=(DOMAIN, coordinator.data.device_id),
61 name=f
"Door {coordinator.data.doors[door_id].index+1}",
62 manufacturer=
"Tailwind",
63 model=coordinator.data.product,
64 sw_version=coordinator.data.firmware_version,
None __init__(self, TailwindDataUpdateCoordinator coordinator, str door_id, EntityDescription|None entity_description=None)
None __init__(self, TailwindDataUpdateCoordinator coordinator, EntityDescription entity_description)