Home Assistant Unofficial Reference 2024.12.1
entity.py
Go to the documentation of this file.
1 """Base class for iotty entities."""
2 
3 import logging
4 
5 from iottycloud.lightswitch import Device
6 
7 from homeassistant.helpers.device_registry import DeviceInfo
8 from homeassistant.helpers.update_coordinator import CoordinatorEntity
9 
10 from .api import IottyProxy
11 from .const import DOMAIN
12 from .coordinator import IottyDataUpdateCoordinator
13 
14 _LOGGER = logging.getLogger(__name__)
15 
16 
17 class IottyEntity(CoordinatorEntity[IottyDataUpdateCoordinator]):
18  """Defines a base iotty entity."""
19 
20  _attr_has_entity_name = True
21  _attr_name = None
22  _iotty_device_name: str
23  _iotty_cloud: IottyProxy
24  _iotty_device: Device
25 
26  def __init__(
27  self,
28  coordinator: IottyDataUpdateCoordinator,
29  iotty_cloud: IottyProxy,
30  iotty_device: Device,
31  ) -> None:
32  """Initialize iotty entity."""
33  super().__init__(coordinator)
34 
35  _LOGGER.debug(
36  "Creating new COVER (%s) %s",
37  iotty_device.device_type,
38  iotty_device.device_id,
39  )
40 
41  self._iotty_cloud_iotty_cloud = iotty_cloud
42  self._attr_unique_id_attr_unique_id = iotty_device.device_id
43  self._iotty_device_name_iotty_device_name = iotty_device.name
44  self._iotty_device_iotty_device = iotty_device
45  self._attr_device_info_attr_device_info = DeviceInfo(
46  identifiers={(DOMAIN, iotty_device.device_id)},
47  name=iotty_device.name,
48  manufacturer="iotty",
49  )
None __init__(self, IottyDataUpdateCoordinator coordinator, IottyProxy iotty_cloud, Device iotty_device)
Definition: entity.py:31