"""Base DirecTV Entity.""" from __future__ import annotations from typing import cast from directv import DIRECTV from homeassistant.helpers.entity import DeviceInfo, Entity from .const import DOMAIN class DIRECTVEntity(Entity): """Defines a base DirecTV entity.""" def __init__(self, *, dtv: DIRECTV, address: str = "0") -> None: """Initialize the DirecTV entity.""" self._address = address self._device_id = address if address != "0" else dtv.device.info.receiver_id self._is_client = address != "0" self.dtv = dtv @property def device_info(self) -> DeviceInfo: """Return device information about this DirecTV receiver.""" return DeviceInfo( identifiers={(DOMAIN, self._device_id)}, manufacturer=self.dtv.device.info.brand, # Instead of setting the device name to the entity name, directv # should be updated to set has_entity_name = True, and set the entity # name to None name=cast(str | None, self.name), sw_version=self.dtv.device.info.version, via_device=(DOMAIN, self.dtv.device.info.receiver_id), )