1 """Support for Volvo On Call locks."""
3 from __future__
import annotations
7 from volvooncall.dashboard
import Instrument, Lock
15 from .const
import DOMAIN, VOLVO_DISCOVERY_NEW
16 from .coordinator
import VolvoUpdateCoordinator
17 from .entity
import VolvoEntity
22 config_entry: ConfigEntry,
23 async_add_entities: AddEntitiesCallback,
25 """Configure locks from a config entry created in the integrations UI."""
26 coordinator: VolvoUpdateCoordinator = hass.data[DOMAIN][config_entry.entry_id]
27 volvo_data = coordinator.volvo_data
31 """Discover and add a discovered Volvo On Call lock."""
35 instrument.vehicle.vin,
40 for instrument
in instruments
41 if instrument.component ==
"lock"
46 config_entry.async_on_unload(
52 """Represents a car lock."""
58 coordinator: VolvoUpdateCoordinator,
64 """Initialize the lock."""
65 super().
__init__(vin, component, attribute, slug_attr, coordinator)
69 """Determine if car is locked."""
None unlock(self, **Any kwargs)
None lock(self, **Any kwargs)
None async_unlock(self, **Any kwargs)
bool|None is_locked(self)
None async_lock(self, **Any kwargs)
None __init__(self, VolvoUpdateCoordinator coordinator, str vin, str component, str attribute, str slug_attr)
None async_request_refresh(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)