diff --git a/src/yalexs_ble/__init__.py b/src/yalexs_ble/__init__.py index c3fd09e..9dd9faa 100644 --- a/src/yalexs_ble/__init__.py +++ b/src/yalexs_ble/__init__.py @@ -1,5 +1,3 @@ -from bleak_retry_connector import get_device - from .const import ConnectionInfo, DoorStatus, LockInfo, LockState, LockStatus from .lock import Lock from .push import PushLock @@ -26,7 +24,6 @@ "LockStatus", "PushLock", "ValidatedLockConfig", - "get_device", "serial_to_local_name", "local_name_to_serial", "unique_id_from_device_adv", diff --git a/src/yalexs_ble/push.py b/src/yalexs_ble/push.py index 20640fc..1fc123f 100644 --- a/src/yalexs_ble/push.py +++ b/src/yalexs_ble/push.py @@ -10,7 +10,12 @@ from bleak.backends.scanner import AdvertisementData from bleak.backends.service import BleakGATTServiceCollection from bleak.exc import BleakDBusError -from bleak_retry_connector import BleakError, BleakNotFoundError, ble_device_has_changed +from bleak_retry_connector import ( + BleakError, + BleakNotFoundError, + ble_device_has_changed, + get_device, +) from .const import ( APPLE_MFR_ID, @@ -502,6 +507,9 @@ async def start(self) -> Callable[[], None]: raise RuntimeError("Already running") self.last_error = "No Bluetooth advertisement received" self._running = True + if device := await get_device(self.address): + self.set_ble_device(device) + self._schedule_update(ADV_UPDATE_COALESCE_SECONDS) def _cancel() -> None: self._running = False