From 93a8aef4ccb0c344f1eb232b313dc239e9566b26 Mon Sep 17 00:00:00 2001 From: Jc2k <john.carr@unrouted.co.uk> Date: Thu, 1 Sep 2022 17:57:49 +0100 Subject: [PATCH] Fix async_all_discovered_devices(False) to return connectable and unconnectable devices (#77670) --- homeassistant/components/bluetooth/manager.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/bluetooth/manager.py b/homeassistant/components/bluetooth/manager.py index d2b59469bd9..d274939c610 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]: -- GitLab