Home Assistant Unofficial Reference 2024.12.1
entity.py
Go to the documentation of this file.
1 """Entity class for Renson ventilation unit."""
2 
3 from __future__ import annotations
4 
5 from renson_endura_delta.field_enum import (
6  DEVICE_NAME_FIELD,
7  FIRMWARE_VERSION_FIELD,
8  HARDWARE_VERSION_FIELD,
9  MAC_ADDRESS,
10 )
11 from renson_endura_delta.renson import RensonVentilation
12 
13 from homeassistant.helpers.device_registry import DeviceInfo
14 from homeassistant.helpers.update_coordinator import CoordinatorEntity
15 
16 from .const import DOMAIN
17 from .coordinator import RensonCoordinator
18 
19 
20 class RensonEntity(CoordinatorEntity[RensonCoordinator]):
21  """Renson entity."""
22 
23  def __init__(
24  self, name: str, api: RensonVentilation, coordinator: RensonCoordinator
25  ) -> None:
26  """Initialize the Renson entity."""
27  super().__init__(coordinator)
28 
29  self._attr_device_info_attr_device_info = DeviceInfo(
30  identifiers={
31  (DOMAIN, api.get_field_value(coordinator.data, MAC_ADDRESS.name))
32  },
33  manufacturer="Renson",
34  model=api.get_field_value(coordinator.data, DEVICE_NAME_FIELD.name),
35  name="Ventilation",
36  sw_version=api.get_field_value(
37  coordinator.data, FIRMWARE_VERSION_FIELD.name
38  ),
39  hw_version=api.get_field_value(
40  coordinator.data, HARDWARE_VERSION_FIELD.name
41  ),
42  )
43 
44  self.apiapiapi = api
45 
46  self._attr_unique_id_attr_unique_id = (
47  api.get_field_value(coordinator.data, MAC_ADDRESS.name) + f"{name}"
48  )
None __init__(self, str name, RensonVentilation api, RensonCoordinator coordinator)
Definition: entity.py:25