1 """Entity for Surepetcare."""
3 from __future__
import annotations
5 from abc
import abstractmethod
7 from surepy.entities
import SurepyEntity
13 from .const
import DOMAIN
14 from .coordinator
import SurePetcareDataCoordinator
18 """An implementation for Sure Petcare Entities."""
23 coordinator: SurePetcareDataCoordinator,
25 """Initialize a Sure Petcare entity."""
28 self.
_id_id = surepetcare_id
30 surepy_entity = coordinator.data[surepetcare_id]
32 if surepy_entity.name:
35 self.
_device_name_device_name = surepy_entity.type.name.capitalize().replace(
"_",
" ")
37 self.
_device_id_device_id = f
"{surepy_entity.household_id}-{surepetcare_id}"
39 configuration_url=
"https://surepetcare.io/dashboard/",
40 identifiers={(DOMAIN, self.
_device_id_device_id)},
42 manufacturer=
"Sure Petcare",
43 model=surepy_entity.type.name.capitalize().replace(
"_",
" "),
45 self.
_update_attr_update_attr(coordinator.data[surepetcare_id])
50 """Update the state and attributes."""
54 """Get the latest data and update the state."""
56 self.async_write_ha_state()
None _update_attr(self, SurepyEntity surepy_entity)
None __init__(self, int surepetcare_id, SurePetcareDataCoordinator coordinator)
None _handle_coordinator_update(self)