Home Assistant Unofficial Reference 2024.12.1
entity.py
Go to the documentation of this file.
1 """The Evil Genius Labs integration."""
2 
3 from __future__ import annotations
4 
5 from homeassistant.helpers import device_registry as dr
6 from homeassistant.helpers.device_registry import DeviceInfo
7 from homeassistant.helpers.update_coordinator import CoordinatorEntity
8 
9 from .const import DOMAIN
10 from .coordinator import EvilGeniusUpdateCoordinator
11 
12 
13 class EvilGeniusEntity(CoordinatorEntity[EvilGeniusUpdateCoordinator]):
14  """Base entity for Evil Genius."""
15 
16  _attr_has_entity_name = True
17 
18  @property
19  def device_info(self) -> DeviceInfo:
20  """Return device info."""
21  info = self.coordinator.info
22  return DeviceInfo(
23  identifiers={(DOMAIN, info["wiFiChipId"])},
24  connections={(dr.CONNECTION_NETWORK_MAC, info["macAddress"])},
25  name=self.coordinator.device_name,
26  model=self.coordinator.product_name,
27  manufacturer="Evil Genius Labs",
28  sw_version=info["coreVersion"].replace("_", "."),
29  configuration_url=self.coordinator.client.url,
30  )