Home Assistant Unofficial Reference 2024.12.1
entity.py
Go to the documentation of this file.
1 """The Control4 integration."""
2 
3 from __future__ import annotations
4 
5 from typing import Any
6 
7 from homeassistant.helpers.device_registry import DeviceInfo
9  CoordinatorEntity,
10  DataUpdateCoordinator,
11 )
12 
13 from .const import CONF_CONTROLLER_UNIQUE_ID, DOMAIN
14 
15 
17  """Base entity for Control4."""
18 
19  def __init__(
20  self,
21  entry_data: dict,
22  coordinator: DataUpdateCoordinator[Any],
23  name: str | None,
24  idx: int,
25  device_name: str | None,
26  device_manufacturer: str | None,
27  device_model: str | None,
28  device_id: int,
29  ) -> None:
30  """Initialize a Control4 entity."""
31  super().__init__(coordinator)
32  self.entry_dataentry_data = entry_data
33  self._attr_name_attr_name = name
34  self._attr_unique_id_attr_unique_id = str(idx)
35  self._idx_idx = idx
36  self._controller_unique_id_controller_unique_id = entry_data[CONF_CONTROLLER_UNIQUE_ID]
37  self._device_name_device_name = device_name
38  self._device_manufacturer_device_manufacturer = device_manufacturer
39  self._device_model_device_model = device_model
40  self._device_id_device_id = device_id
41 
42  @property
43  def device_info(self) -> DeviceInfo:
44  """Return info of parent Control4 device of entity."""
45  return DeviceInfo(
46  identifiers={(DOMAIN, str(self._device_id_device_id))},
47  manufacturer=self._device_manufacturer_device_manufacturer,
48  model=self._device_model_device_model,
49  name=self._device_name_device_name,
50  via_device=(DOMAIN, self._controller_unique_id_controller_unique_id),
51  )
None __init__(self, dict entry_data, DataUpdateCoordinator[Any] coordinator, str|None name, int idx, str|None device_name, str|None device_manufacturer, str|None device_model, int device_id)
Definition: entity.py:29