Home Assistant Unofficial Reference 2024.12.1
entity.py
Go to the documentation of this file.
1 """Base entity definitions."""
2 
3 from typing import Any
4 
5 from tplink_omada_client.devices import OmadaDevice
6 
7 from homeassistant.helpers import device_registry as dr
8 from homeassistant.helpers.update_coordinator import CoordinatorEntity
9 
10 from .const import DOMAIN
11 from .coordinator import OmadaCoordinator
12 
13 
14 class OmadaDeviceEntity[_T: OmadaCoordinator[Any]](CoordinatorEntity[_T]):
15  """Common base class for all entities associated with Omada SDN Devices."""
16 
17  _attr_has_entity_name = True
18 
19  def __init__(self, coordinator: _T, device: OmadaDevice) -> None:
20  """Initialize the device."""
21  super().__init__(coordinator)
22  self.device = device
23  self._attr_device_info = dr.DeviceInfo(
24  connections={(dr.CONNECTION_NETWORK_MAC, device.mac)},
25  identifiers={(DOMAIN, device.mac)},
26  manufacturer="TP-Link",
27  model=device.model_display_name,
28  name=device.name,
29  )