1 """Base entity class for DROP entities."""
3 from __future__
import annotations
5 from typing
import TYPE_CHECKING
19 from .coordinator
import DROPDeviceDataUpdateCoordinator
23 """Representation of a DROP device entity."""
25 _attr_has_entity_name =
True
28 self, entity_type: str, coordinator: DROPDeviceDataUpdateCoordinator
30 """Init DROP entity."""
33 assert coordinator.config_entry.unique_id
is not None
34 unique_id = coordinator.config_entry.unique_id
36 entry_data = coordinator.config_entry.data
37 model: str = entry_data[CONF_DEVICE_DESC]
38 if entry_data[CONF_DEVICE_TYPE] == DEV_HUB:
39 model = f
"Hub {entry_data[CONF_HUB_ID]}"
41 manufacturer=
"Chandler Systems, Inc.",
43 name=entry_data[CONF_DEVICE_NAME],
44 identifiers={(DOMAIN, unique_id)},
46 if entry_data[CONF_DEVICE_TYPE] != DEV_HUB:
51 entry_data[CONF_DEVICE_OWNER_ID],
None __init__(self, str entity_type, DROPDeviceDataUpdateCoordinator coordinator)