Files
HomeAssistantVS/custom_components/spook/ectoplasms/repairs/entity.py
T

37 lines
1.3 KiB
Python

"""Spook - Your homie."""
from __future__ import annotations
from homeassistant.components import repairs
from homeassistant.helpers.device_registry import DeviceEntryType, DeviceInfo
from homeassistant.loader import async_get_loaded_integration
from ...const import DOMAIN
from ...entity import SpookEntity, SpookEntityDescription
class RepairsSpookEntity(SpookEntity):
"""Defines an base Spook entity for Repairs related entities."""
def __init__(self, description: SpookEntityDescription) -> None:
"""Initialize the entity."""
super().__init__(description=description)
self._attr_unique_id = f"{repairs.DOMAIN}_{description.key}"
@property
def device_info(self) -> DeviceInfo:
"""Return the device, which is Spook's, so it runs Spook's version.
Read once the entity is added to Home Assistant, as the version comes
from the loaded integration.
"""
version = async_get_loaded_integration(self.hass, DOMAIN).version
return DeviceInfo(
identifiers={(DOMAIN, repairs.DOMAIN)},
manufacturer="Spook 👻",
name="Repairs",
sw_version=str(version) if version else None,
configuration_url="https://spook.boo/repairs",
entry_type=DeviceEntryType.SERVICE,
)