Home Assistant Unofficial Reference 2024.12.1
entity.py
Go to the documentation of this file.
1 """Base entity for weatherkit."""
2 
3 from homeassistant.const import CONF_LATITUDE, CONF_LONGITUDE
4 from homeassistant.helpers.device_registry import DeviceEntryType, DeviceInfo
5 from homeassistant.helpers.entity import Entity
6 
7 from .const import DOMAIN, MANUFACTURER
8 from .coordinator import WeatherKitDataUpdateCoordinator
9 
10 
12  """Base entity for all WeatherKit platforms."""
13 
14  _attr_has_entity_name = True
15 
16  def __init__(
17  self, coordinator: WeatherKitDataUpdateCoordinator, unique_id_suffix: str | None
18  ) -> None:
19  """Initialize the entity with device info and unique ID."""
20  config_data = coordinator.config_entry.data
21 
22  config_entry_unique_id = (
23  f"{config_data[CONF_LATITUDE]}-{config_data[CONF_LONGITUDE]}"
24  )
25  self._attr_unique_id_attr_unique_id = config_entry_unique_id
26  if unique_id_suffix is not None:
27  self._attr_unique_id_attr_unique_id += f"_{unique_id_suffix}"
28 
29  self._attr_device_info_attr_device_info = DeviceInfo(
30  entry_type=DeviceEntryType.SERVICE,
31  identifiers={(DOMAIN, config_entry_unique_id)},
32  manufacturer=MANUFACTURER,
33  )
None __init__(self, WeatherKitDataUpdateCoordinator coordinator, str|None unique_id_suffix)
Definition: entity.py:18