Home Assistant Unofficial Reference 2024.12.1
entity.py
Go to the documentation of this file.
1 """The slack integration."""
2 
3 from __future__ import annotations
4 
5 from slack import WebClient
6 
7 from homeassistant.config_entries import ConfigEntry
8 from homeassistant.helpers.device_registry import DeviceEntryType, DeviceInfo
9 from homeassistant.helpers.entity import Entity, EntityDescription
10 
11 from .const import ATTR_URL, ATTR_USER_ID, DATA_CLIENT, DEFAULT_NAME, DOMAIN
12 
13 
15  """Representation of a Slack entity."""
16 
17  _attr_attribution = "Data provided by Slack"
18  _attr_has_entity_name = True
19 
20  def __init__(
21  self,
22  data: dict[str, str | WebClient],
23  description: EntityDescription,
24  entry: ConfigEntry,
25  ) -> None:
26  """Initialize a Slack entity."""
27  self._client_client = data[DATA_CLIENT]
28  self.entity_descriptionentity_description = description
29  self._attr_unique_id_attr_unique_id = f"{data[ATTR_USER_ID]}_{description.key}"
30  self._attr_device_info_attr_device_info = DeviceInfo(
31  configuration_url=data[ATTR_URL],
32  entry_type=DeviceEntryType.SERVICE,
33  identifiers={(DOMAIN, entry.entry_id)},
34  manufacturer=DEFAULT_NAME,
35  name=entry.title,
36  )
None __init__(self, dict[str, str|WebClient] data, EntityDescription description, ConfigEntry entry)
Definition: entity.py:25