from dataclasses import dataclass, field from bleak.backends.device import BLEDevice from bleak.backends.scanner import AdvertisementData @dataclass class DiscoveredDevice: device: BLEDevice services: AdvertisementData = field(repr=False) @dataclass class DiscoveredDevices: devices: list[DiscoveredDevice] = field(default_factory=list) def add(self, device: DiscoveredDevice): if device not in self.devices: self.devices.append(device) def count(self): return len(self.devices)