Home Assistant Unofficial Reference 2024.12.1
entity.py
Go to the documentation of this file.
1 """The Tautulli integration."""
2 
3 from __future__ import annotations
4 
5 from pytautulli import PyTautulliApiUser
6 
7 from homeassistant.helpers.device_registry import DeviceEntryType, DeviceInfo
8 from homeassistant.helpers.entity import EntityDescription
9 from homeassistant.helpers.update_coordinator import CoordinatorEntity
10 
11 from .const import DEFAULT_NAME, DOMAIN
12 from .coordinator import TautulliDataUpdateCoordinator
13 
14 
15 class TautulliEntity(CoordinatorEntity[TautulliDataUpdateCoordinator]):
16  """Defines a base Tautulli entity."""
17 
18  _attr_has_entity_name = True
19 
20  def __init__(
21  self,
22  coordinator: TautulliDataUpdateCoordinator,
23  description: EntityDescription,
24  user: PyTautulliApiUser | None = None,
25  ) -> None:
26  """Initialize the Tautulli entity."""
27  super().__init__(coordinator)
28  entry_id = coordinator.config_entry.entry_id
29  self._attr_unique_id_attr_unique_id = f"{entry_id}_{description.key}"
30  self.entity_descriptionentity_description = description
31  self.useruser = user
32  self._attr_device_info_attr_device_info = DeviceInfo(
33  configuration_url=coordinator.host_configuration.base_url,
34  entry_type=DeviceEntryType.SERVICE,
35  identifiers={(DOMAIN, user.user_id if user else entry_id)},
36  manufacturer=DEFAULT_NAME,
37  name=user.username if user else DEFAULT_NAME,
38  )
None __init__(self, TautulliDataUpdateCoordinator coordinator, EntityDescription description, PyTautulliApiUser|None user=None)
Definition: entity.py:25