diff --git a/homeassistant/components/bluetooth/manager.py b/homeassistant/components/bluetooth/manager.py index d2b59469bd990a880ccb5125e2367139d89ec4fe..d274939c6109298192441f60bbda7962683f8c97 100644 --- a/homeassistant/components/bluetooth/manager.py +++ b/homeassistant/components/bluetooth/manager.py @@ -221,10 +221,14 @@ class BluetoothManager: @hass_callback def async_all_discovered_devices(self, connectable: bool) -> Iterable[BLEDevice]: """Return all of discovered devices from all the scanners including duplicates.""" - return itertools.chain.from_iterable( - scanner.discovered_devices - for scanner in self._get_scanners_by_type(connectable) + yield from itertools.chain.from_iterable( + scanner.discovered_devices for scanner in self._get_scanners_by_type(True) ) + if not connectable: + yield from itertools.chain.from_iterable( + scanner.discovered_devices + for scanner in self._get_scanners_by_type(False) + ) @hass_callback def async_discovered_devices(self, connectable: bool) -> list[BLEDevice]: