1 """Base entity for Traccar Server."""
3 from __future__
import annotations
7 from pytraccar
import DeviceModel, GeofenceModel, PositionModel
13 from .const
import DOMAIN
14 from .coordinator
import TraccarServerCoordinator
18 """Base entity for Traccar Server."""
22 coordinator: TraccarServerCoordinator,
25 """Initialize the Traccar Server entity."""
29 identifiers={(DOMAIN, device[
"uniqueId"])},
30 model=device[
"model"],
37 """Return True if entity is available."""
38 return bool(self.coordinator.data
and self.
device_iddevice_id
in self.coordinator.data)
42 """Return the device."""
43 return self.coordinator.data[self.
device_iddevice_id][
"device"]
47 """Return the geofence."""
48 return self.coordinator.data[self.
device_iddevice_id][
"geofence"]
52 """Return the position."""
53 return self.coordinator.data[self.
device_iddevice_id][
"position"]
57 """Return the attributes."""
58 return self.coordinator.data[self.
device_iddevice_id][
"attributes"]
61 """Entity added to hass."""
65 f
"{DOMAIN}_{self.device_id}",
66 self.async_write_ha_state,
None __init__(self, TraccarServerCoordinator coordinator, DeviceModel device)
DeviceModel traccar_device(self)
dict[str, Any] traccar_attributes(self)
GeofenceModel|None traccar_geofence(self)
PositionModel traccar_position(self)
None async_added_to_hass(self)
Callable[[], None] async_dispatcher_connect(HomeAssistant hass, str signal, Callable[..., Any] target)