Home Assistant Unofficial Reference 2024.12.1
entity.py
Go to the documentation of this file.
1 """The Modern Forms integration."""
2 
3 from __future__ import annotations
4 
5 from homeassistant.helpers.device_registry import DeviceInfo
6 from homeassistant.helpers.update_coordinator import CoordinatorEntity
7 
8 from .const import DOMAIN
9 from .coordinator import ModernFormsDataUpdateCoordinator
10 
11 
12 class ModernFormsDeviceEntity(CoordinatorEntity[ModernFormsDataUpdateCoordinator]):
13  """Defines a Modern Forms device entity."""
14 
15  _attr_has_entity_name = True
16 
17  def __init__(
18  self,
19  *,
20  entry_id: str,
21  coordinator: ModernFormsDataUpdateCoordinator,
22  enabled_default: bool = True,
23  ) -> None:
24  """Initialize the Modern Forms entity."""
25  super().__init__(coordinator)
26  self._attr_enabled_default_attr_enabled_default = enabled_default
27  self._entry_id_entry_id = entry_id
28 
29  @property
30  def device_info(self) -> DeviceInfo:
31  """Return device information about this Modern Forms device."""
32  return DeviceInfo(
33  identifiers={(DOMAIN, self.coordinator.data.info.mac_address)},
34  name=self.coordinator.data.info.device_name,
35  manufacturer="Modern Forms",
36  model=self.coordinator.data.info.fan_type,
37  sw_version=(
38  f"{self.coordinator.data.info.firmware_version} /"
39  f" {self.coordinator.data.info.main_mcu_firmware_version}"
40  ),
41  )
None __init__(self, *str entry_id, ModernFormsDataUpdateCoordinator coordinator, bool enabled_default=True)
Definition: entity.py:23