Home Assistant Unofficial Reference 2024.12.1
entity.py
Go to the documentation of this file.
1 """Base entity for Nice G.O."""
2 
3 from homeassistant.helpers.device_registry import DeviceInfo
4 from homeassistant.helpers.update_coordinator import CoordinatorEntity
5 
6 from .const import DOMAIN
7 from .coordinator import NiceGODevice, NiceGOUpdateCoordinator
8 
9 
10 class NiceGOEntity(CoordinatorEntity[NiceGOUpdateCoordinator]):
11  """Common base for Nice G.O. entities."""
12 
13  _attr_has_entity_name = True
14 
15  def __init__(
16  self,
17  coordinator: NiceGOUpdateCoordinator,
18  device_id: str,
19  device_name: str,
20  ) -> None:
21  """Initialize the entity."""
22  super().__init__(coordinator)
23 
24  self._attr_unique_id_attr_unique_id = device_id
25  self._device_id_device_id = device_id
26  self._attr_device_info_attr_device_info = DeviceInfo(
27  identifiers={(DOMAIN, device_id)},
28  name=device_name,
29  sw_version=coordinator.data[device_id].fw_version,
30  )
31 
32  @property
33  def data(self) -> NiceGODevice:
34  """Return the Nice G.O. device."""
35  return self.coordinator.data[self._device_id_device_id]
36 
37  @property
38  def available(self) -> bool:
39  """Return if entity is available."""
40  return super().available and self.datadatadata.connected
None __init__(self, NiceGOUpdateCoordinator coordinator, str device_id, str device_name)
Definition: entity.py:20