1 """Support for tracking a Volvo."""
3 from __future__
import annotations
5 from volvooncall.dashboard
import Instrument
13 from .const
import DOMAIN, VOLVO_DISCOVERY_NEW
14 from .coordinator
import VolvoUpdateCoordinator
15 from .entity
import VolvoEntity
20 config_entry: ConfigEntry,
21 async_add_entities: AddEntitiesCallback,
23 """Configure device_trackers from a config entry created in the integrations UI."""
24 coordinator: VolvoUpdateCoordinator = hass.data[DOMAIN][config_entry.entry_id]
25 volvo_data = coordinator.volvo_data
29 """Discover and add a discovered Volvo On Call device tracker."""
32 instrument.vehicle.vin,
38 for instrument
in instruments
39 if instrument.component ==
"device_tracker"
44 config_entry.async_on_unload(
50 """A tracked Volvo vehicle."""
54 """Return latitude value of the device."""
55 latitude, _ = self.
_get_pos_get_pos()
60 """Return longitude value of the device."""
61 _, longitude = self.
_get_pos_get_pos()
65 volvo_data = self.coordinator.volvo_data
66 instrument = volvo_data.instrument(
70 latitude, longitude, _, _, _ = instrument.state
float|None latitude(self)
float|None longitude(self)
tuple[float, float] _get_pos(self)
ElkSystem|None async_discover_device(HomeAssistant hass, str host)
None async_setup_entry(HomeAssistant hass, ConfigEntry config_entry, AddEntitiesCallback async_add_entities)
Callable[[], None] async_dispatcher_connect(HomeAssistant hass, str signal, Callable[..., Any] target)