"""Base class for iotty entities.""" import logging from iottycloud.lightswitch import Device from homeassistant.helpers.device_registry import DeviceInfo from homeassistant.helpers.update_coordinator import CoordinatorEntity from .api import IottyProxy from .const import DOMAIN from .coordinator import IottyDataUpdateCoordinator _LOGGER = logging.getLogger(__name__) class IottyEntity(CoordinatorEntity[IottyDataUpdateCoordinator]): """Defines a base iotty entity.""" _attr_has_entity_name = True _attr_name = None _iotty_device_name: str _iotty_cloud: IottyProxy _iotty_device: Device def __init__( self, coordinator: IottyDataUpdateCoordinator, iotty_cloud: IottyProxy, iotty_device: Device, ) -> None: """Initialize iotty entity.""" super().__init__(coordinator) _LOGGER.debug( "Creating new COVER (%s) %s", iotty_device.device_type, iotty_device.device_id, ) self._iotty_cloud = iotty_cloud self._attr_unique_id = iotty_device.device_id self._iotty_device_name = iotty_device.name self._iotty_device = iotty_device self._attr_device_info = DeviceInfo( identifiers={(DOMAIN, iotty_device.device_id)}, name=iotty_device.name, manufacturer="iotty", )