Home Assistant Unofficial Reference 2024.12.1
entity.py
Go to the documentation of this file.
1 """Base entity for pyLoad."""
2 
3 from __future__ import annotations
4 
5 from homeassistant.components.button import EntityDescription
6 from homeassistant.helpers.device_registry import DeviceEntryType, DeviceInfo
7 from homeassistant.helpers.update_coordinator import CoordinatorEntity
8 
9 from .const import DOMAIN, MANUFACTURER, SERVICE_NAME
10 from .coordinator import PyLoadCoordinator
11 
12 
13 class BasePyLoadEntity(CoordinatorEntity[PyLoadCoordinator]):
14  """BaseEntity for pyLoad."""
15 
16  _attr_has_entity_name = True
17 
18  def __init__(
19  self,
20  coordinator: PyLoadCoordinator,
21  entity_description: EntityDescription,
22  ) -> None:
23  """Initialize the Entity."""
24  super().__init__(coordinator)
25 
26  self._attr_unique_id_attr_unique_id = (
27  f"{coordinator.config_entry.entry_id}_{entity_description.key}"
28  )
29  self.entity_descriptionentity_description = entity_description
30  self._attr_device_info_attr_device_info = DeviceInfo(
31  entry_type=DeviceEntryType.SERVICE,
32  manufacturer=MANUFACTURER,
33  model=SERVICE_NAME,
34  configuration_url=coordinator.pyload.api_url,
35  identifiers={(DOMAIN, coordinator.config_entry.entry_id)},
36  sw_version=coordinator.version,
37  )
None __init__(self, PyLoadCoordinator coordinator, EntityDescription entity_description)
Definition: entity.py:22