Home Assistant Unofficial Reference 2024.12.1
entity.py
Go to the documentation of this file.
1 """Base entity for the HomeWizard integration."""
2 
3 from __future__ import annotations
4 
5 from homeassistant.const import ATTR_CONNECTIONS, ATTR_IDENTIFIERS
6 from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC, DeviceInfo
7 from homeassistant.helpers.update_coordinator import CoordinatorEntity
8 
9 from .const import DOMAIN
10 from .coordinator import HWEnergyDeviceUpdateCoordinator
11 
12 
13 class HomeWizardEntity(CoordinatorEntity[HWEnergyDeviceUpdateCoordinator]):
14  """Defines a HomeWizard entity."""
15 
16  _attr_has_entity_name = True
17 
18  def __init__(self, coordinator: HWEnergyDeviceUpdateCoordinator) -> None:
19  """Initialize the HomeWizard entity."""
20  super().__init__(coordinator)
21  self._attr_device_info_attr_device_info = DeviceInfo(
22  manufacturer="HomeWizard",
23  sw_version=coordinator.data.device.firmware_version,
24  model_id=coordinator.data.device.product_type,
25  model=coordinator.data.device.product.name
26  if coordinator.data.device.product
27  else None,
28  )
29 
30  if (serial_number := coordinator.data.device.serial) is not None:
31  self._attr_device_info_attr_device_info[ATTR_CONNECTIONS] = {
32  (CONNECTION_NETWORK_MAC, serial_number)
33  }
34  self._attr_device_info_attr_device_info[ATTR_IDENTIFIERS] = {(DOMAIN, serial_number)}
None __init__(self, HWEnergyDeviceUpdateCoordinator coordinator)
Definition: entity.py:18