From 62c4d0818c18a71bfc40b55d981843fed65bb721 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Tue, 5 Dec 2023 11:50:19 -1000 Subject: [PATCH] Relocate Bluetooth manager to habluetooth library --- .../components/bluetooth/base_scanner.py | 23 ++++++------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/homeassistant/components/bluetooth/base_scanner.py b/homeassistant/components/bluetooth/base_scanner.py index 8267a73fd71..72cd0a9220f 100644 --- a/homeassistant/components/bluetooth/base_scanner.py +++ b/homeassistant/components/bluetooth/base_scanner.py @@ -2,13 +2,10 @@ from __future__ import annotations from collections.abc import Callable -from dataclasses import dataclass -from typing import Any +from typing import TYPE_CHECKING, Any -from bleak.backends.device import BLEDevice -from bleak.backends.scanner import AdvertisementData from bluetooth_adapters import DiscoveredDeviceAdvertisementData -from habluetooth import BaseHaRemoteScanner, BaseHaScanner, HaBluetoothConnector +from habluetooth import BaseHaRemoteScanner, HaBluetoothConnector from home_assistant_bluetooth import BluetoothServiceInfoBleak from homeassistant.const import EVENT_HOMEASSISTANT_STOP @@ -19,16 +16,10 @@ from homeassistant.core import ( callback as hass_callback, ) -from . import models +from .const import DATA_MANAGER - -@dataclass(slots=True) -class BluetoothScannerDevice: - """Data for a bluetooth device from a given scanner.""" - - scanner: BaseHaScanner - ble_device: BLEDevice - advertisement: AdvertisementData +if TYPE_CHECKING: + from .manager import HomeAssistantBluetoothManager class HomeAssistantRemoteScanner(BaseHaRemoteScanner): @@ -55,8 +46,8 @@ class HomeAssistantRemoteScanner(BaseHaRemoteScanner): ) -> None: """Initialize the scanner.""" self.hass = hass - assert models.MANAGER is not None - self._storage = models.MANAGER.storage + manager: HomeAssistantBluetoothManager = hass.data[DATA_MANAGER] + self._storage = manager.storage self._cancel_stop: CALLBACK_TYPE | None = None super().__init__(scanner_id, name, new_info_callback, connector, connectable)