Home Assistant Unofficial Reference 2024.12.1
entity.py
Go to the documentation of this file.
1 """Entity representing a Dremel 3D Printer."""
2 
3 from dremel3dpy import Dremel3DPrinter
4 
5 from homeassistant.helpers.device_registry import DeviceInfo
6 from homeassistant.helpers.entity import EntityDescription
7 from homeassistant.helpers.update_coordinator import CoordinatorEntity
8 
9 from .const import DOMAIN
10 from .coordinator import Dremel3DPrinterDataUpdateCoordinator
11 
12 
13 class Dremel3DPrinterEntity(CoordinatorEntity[Dremel3DPrinterDataUpdateCoordinator]):
14  """Defines a Dremel 3D Printer device entity."""
15 
16  _attr_has_entity_name = True
17 
18  def __init__(
19  self,
20  coordinator: Dremel3DPrinterDataUpdateCoordinator,
21  description: EntityDescription,
22  ) -> None:
23  """Initialize the base device entity."""
24  super().__init__(coordinator)
25  self.entity_descriptionentity_description = description
26  self._attr_unique_id_attr_unique_id = f"{coordinator.config_entry.unique_id}_{description.key}"
27 
28  @property
29  def device_info(self) -> DeviceInfo:
30  """Return device information about this Dremel printer."""
31  return DeviceInfo(
32  identifiers={(DOMAIN, self._api_api.get_serial_number())},
33  manufacturer=self._api_api.get_manufacturer(),
34  model=self._api_api.get_model(),
35  name=self._api_api.get_title(),
36  sw_version=self._api_api.get_firmware_version(),
37  )
38 
39  @property
40  def _api(self) -> Dremel3DPrinter:
41  """Return to api from coordinator."""
42  return self.coordinator.api
None __init__(self, Dremel3DPrinterDataUpdateCoordinator coordinator, EntityDescription description)
Definition: entity.py:22