Home Assistant Unofficial Reference 2024.12.1
entity.py
Go to the documentation of this file.
1 """Entity for Firmata devices."""
2 
3 from __future__ import annotations
4 
5 from homeassistant.config_entries import ConfigEntry
6 from homeassistant.helpers.device_registry import DeviceInfo
7 
8 from .board import FirmataPinType
9 from .const import DOMAIN, FIRMATA_MANUFACTURER
10 from .pin import FirmataBoardPin
11 
12 
14  """Representation of a Firmata entity."""
15 
16  def __init__(self, api):
17  """Initialize the entity."""
18  self._api_api = api
19 
20  @property
21  def device_info(self) -> DeviceInfo:
22  """Return device info."""
23  return DeviceInfo(
24  connections=set(),
25  identifiers={(DOMAIN, self._api_api.board.name)},
26  manufacturer=FIRMATA_MANUFACTURER,
27  name=self._api_api.board.name,
28  sw_version=self._api_api.board.firmware_version,
29  )
30 
31 
33  """Representation of a Firmata pin entity."""
34 
35  _attr_should_poll = False
36 
37  def __init__(
38  self,
39  api: FirmataBoardPin,
40  config_entry: ConfigEntry,
41  name: str,
42  pin: FirmataPinType,
43  ) -> None:
44  """Initialize the pin entity."""
45  super().__init__(api)
46  self._name_name = name
47 
48  location = (config_entry.entry_id, "pin", pin)
49  self._unique_id_unique_id = "_".join(str(i) for i in location)
50 
51  @property
52  def name(self) -> str:
53  """Get the name of the pin."""
54  return self._name_name
55 
56  @property
57  def unique_id(self) -> str:
58  """Return a unique identifier for this device."""
59  return self._unique_id_unique_id
None __init__(self, FirmataBoardPin api, ConfigEntry config_entry, str name, FirmataPinType pin)
Definition: entity.py:43