1 """Platform for shared base classes for sensors."""
3 from __future__
import annotations
9 from .const
import DOMAIN
10 from .coordinator
import (
11 FlumeDeviceConnectionUpdateCoordinator,
12 FlumeDeviceDataUpdateCoordinator,
13 FlumeNotificationDataUpdateCoordinator,
18 _FlumeCoordinatorT: FlumeDeviceDataUpdateCoordinator
19 | FlumeDeviceConnectionUpdateCoordinator
20 | FlumeNotificationDataUpdateCoordinator
21 ](CoordinatorEntity[_FlumeCoordinatorT]):
22 """Base entity class."""
24 _attr_attribution =
"Data provided by Flume API"
25 _attr_has_entity_name =
True
29 coordinator: _FlumeCoordinatorT,
30 description: EntityDescription,
33 is_bridge: bool =
False,
35 """Class initializer."""
37 self.entity_description = description
38 self.device_id = device_id
45 self._attr_unique_id = f
"{description.key}_{device_id}"
48 identifiers={(DOMAIN, device_id)},
49 manufacturer=
"Flume, Inc.",
50 model=
"Flume Smart Water Monitor",
51 name=f
"{name} {location_name}",
52 configuration_url=
"https://portal.flumewater.com",
56 """Request an update when added."""
60 await self.coordinator.async_request_refresh()
None __init__(self, _FlumeCoordinatorT coordinator, EntityDescription description, str device_id, str location_name, bool is_bridge=False)
None async_added_to_hass(self)