Home Assistant Unofficial Reference 2024.12.1
entity.py
Go to the documentation of this file.
1 """Entity representing a D-Link Power Plug device."""
2 
3 from __future__ import annotations
4 
5 from homeassistant.const import ATTR_CONNECTIONS
6 from homeassistant.helpers import device_registry as dr
7 from homeassistant.helpers.device_registry import DeviceInfo
8 from homeassistant.helpers.entity import Entity, EntityDescription
9 
10 from . import DLinkConfigEntry
11 from .const import ATTRIBUTION, DOMAIN, MANUFACTURER
12 
13 
15  """Representation of a D-Link Power Plug entity."""
16 
17  _attr_attribution = ATTRIBUTION
18  _attr_has_entity_name = True
19 
20  def __init__(
21  self,
22  config_entry: DLinkConfigEntry,
23  description: EntityDescription,
24  ) -> None:
25  """Initialize a D-Link Power Plug entity."""
26  self.datadata = config_entry.runtime_data
27  self.entity_descriptionentity_description = description
28  self._attr_unique_id_attr_unique_id = f"{config_entry.entry_id}_{description.key}"
29  self._attr_device_info_attr_device_info = DeviceInfo(
30  identifiers={(DOMAIN, config_entry.entry_id)},
31  manufacturer=MANUFACTURER,
32  model=self.datadata.smartplug.model_name,
33  name=config_entry.title,
34  )
35  if config_entry.unique_id:
36  self._attr_device_info_attr_device_info[ATTR_CONNECTIONS] = {
37  (dr.CONNECTION_NETWORK_MAC, config_entry.unique_id)
38  }