33 lines
1.3 KiB
Python
33 lines
1.3 KiB
Python
"""Base class for Android IP Webcam entities."""
|
|
|
|
from homeassistant.const import CONF_HOST, CONF_NAME
|
|
from homeassistant.helpers.entity import DeviceInfo
|
|
from homeassistant.helpers.update_coordinator import CoordinatorEntity
|
|
|
|
from .const import DOMAIN
|
|
from .coordinator import AndroidIPCamDataUpdateCoordinator
|
|
|
|
|
|
class AndroidIPCamBaseEntity(CoordinatorEntity[AndroidIPCamDataUpdateCoordinator]):
|
|
"""Base class for Android IP Webcam entities."""
|
|
|
|
_attr_has_entity_name = True
|
|
|
|
def __init__(
|
|
self,
|
|
coordinator: AndroidIPCamDataUpdateCoordinator,
|
|
) -> None:
|
|
"""Initialize the base entity."""
|
|
super().__init__(coordinator)
|
|
if CONF_NAME in coordinator.config_entry.data:
|
|
# name is legacy imported from YAML config
|
|
# this block can be removed when removing import from YAML
|
|
self._attr_name = f"{coordinator.config_entry.data[CONF_NAME]} {self.entity_description.name}"
|
|
self._attr_has_entity_name = False
|
|
self.cam = coordinator.cam
|
|
self._attr_device_info = DeviceInfo(
|
|
identifiers={(DOMAIN, coordinator.config_entry.entry_id)},
|
|
name=coordinator.config_entry.data.get(CONF_NAME)
|
|
or coordinator.config_entry.data[CONF_HOST],
|
|
)
|