1 """Sensor entities for Tami4Edge."""
5 from Tami4EdgeAPI
import Tami4EdgeAPI
10 SensorEntityDescription,
19 from .const
import API, COORDINATOR, DOMAIN
20 from .coordinator
import Tami4EdgeCoordinator
21 from .entity
import Tami4EdgeBaseEntity
23 _LOGGER = logging.getLogger(__name__)
25 ENTITY_DESCRIPTIONS = [
27 key=
"uv_upcoming_replacement",
28 translation_key=
"uv_upcoming_replacement",
29 device_class=SensorDeviceClass.DATE,
33 translation_key=
"uv_installed",
36 key=
"filter_upcoming_replacement",
37 translation_key=
"filter_upcoming_replacement",
38 device_class=SensorDeviceClass.DATE,
41 key=
"filter_installed",
42 translation_key=
"filter_installed",
45 key=
"filter_litters_passed",
46 translation_key=
"filter_litters_passed",
47 state_class=SensorStateClass.TOTAL,
48 device_class=SensorDeviceClass.WATER,
49 native_unit_of_measurement=UnitOfVolume.LITERS,
55 hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback
57 """Perform the setup for Tami4Edge."""
58 data = hass.data[DOMAIN][entry.entry_id]
59 api: Tami4EdgeAPI = data[API]
60 coordinator: Tami4EdgeCoordinator = data[COORDINATOR]
64 coordinator=coordinator,
66 entity_description=entity_description,
68 for entity_description
in ENTITY_DESCRIPTIONS
74 CoordinatorEntity[Tami4EdgeCoordinator],
77 """Representation of the entity."""
81 coordinator: Tami4EdgeCoordinator,
83 entity_description: SensorEntityDescription,
85 """Initialize the Tami4Edge sensor entity."""
86 Tami4EdgeBaseEntity.__init__(self, api, entity_description)
87 CoordinatorEntity.__init__(self, coordinator)
97 """Handle updated data from the coordinator."""
None __init__(self, Tami4EdgeCoordinator coordinator, Tami4EdgeAPI api, SensorEntityDescription entity_description)
None _handle_coordinator_update(self)
None async_write_ha_state(self)
None async_setup_entry(HomeAssistant hass, ConfigEntry entry, AddEntitiesCallback async_add_entities)