1 """Support for Yale devices."""
3 from __future__
import annotations
5 from yalexs.lock
import LockDetail
6 from yalexs.manager.data
import YaleXSData
7 from yalexs_ble
import YaleXSBLEDiscovery
14 from .gateway
import YaleGateway
16 YALEXS_BLE_DOMAIN =
"yalexs_ble"
21 hass: HomeAssistant, locks_with_offline_keys: list[LockDetail]
23 """Update keys for the yalexs-ble integration if available."""
24 for lock_detail
in locks_with_offline_keys:
25 discovery_flow.async_create_flow(
28 context={
"source": SOURCE_INTEGRATION_DISCOVERY},
29 data=YaleXSBLEDiscovery(
31 "name": lock_detail.device_name,
32 "address": lock_detail.mac_address,
33 "serial": lock_detail.serial_number,
34 "key": lock_detail.offline_key,
35 "slot": lock_detail.offline_slot,
42 """yale data object."""
44 def __init__(self, hass: HomeAssistant, yale_gateway: YaleGateway) ->
None:
45 """Init yale data object."""
47 super().
__init__(yale_gateway, HomeAssistantError)
51 """Handle offline key discovery."""
None __init__(self, HomeAssistant hass, YaleGateway yale_gateway)
None async_offline_key_discovered(self, LockDetail detail)
None _async_trigger_ble_lock_discovery(HomeAssistant hass, list[LockDetail] locks_with_offline_keys)