Home Assistant Unofficial Reference 2024.12.1
entity.py
Go to the documentation of this file.
1 """Base Entity for Ecoforest."""
2 
3 from __future__ import annotations
4 
5 from pyecoforest.models.device import Device
6 
7 from homeassistant.helpers.device_registry import DeviceInfo
8 from homeassistant.helpers.entity import EntityDescription
9 from homeassistant.helpers.update_coordinator import CoordinatorEntity
10 
11 from .const import DOMAIN, MANUFACTURER
12 from .coordinator import EcoforestCoordinator
13 
14 
15 class EcoforestEntity(CoordinatorEntity[EcoforestCoordinator]):
16  """Common Ecoforest entity using CoordinatorEntity."""
17 
18  _attr_has_entity_name = True
19 
20  def __init__(
21  self,
22  coordinator: EcoforestCoordinator,
23  description: EntityDescription,
24  ) -> None:
25  """Initialize device information."""
26  self.entity_descriptionentity_description = description
27  self._attr_unique_id_attr_unique_id = f"{coordinator.data.serial_number}_{description.key}"
28 
29  super().__init__(coordinator)
30 
31  self._attr_device_info_attr_device_info = DeviceInfo(
32  identifiers={(DOMAIN, coordinator.data.serial_number)},
33  name=MANUFACTURER,
34  model=coordinator.data.model_name,
35  sw_version=coordinator.data.firmware,
36  manufacturer=MANUFACTURER,
37  )
38 
39  @property
40  def data(self) -> Device:
41  """Return ecoforest data."""
42  assert self.coordinator.data
43  return self.coordinator.data
None __init__(self, EcoforestCoordinator coordinator, EntityDescription description)
Definition: entity.py:24