From 40166ed51e0875027c043618291e5e29e4fa2a58 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Mon, 5 Feb 2024 05:26:08 -0600 Subject: [PATCH] Avoid linear search of device registry when no areas are referenced in service calls (#109669) --- homeassistant/helpers/service.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/homeassistant/helpers/service.py b/homeassistant/helpers/service.py index 3fe0c0eb086..d397764c1be 100644 --- a/homeassistant/helpers/service.py +++ b/homeassistant/helpers/service.py @@ -487,9 +487,11 @@ def async_extract_referenced_entity_ids( # Find devices for targeted areas selected.referenced_devices.update(selector.device_ids) - for device_entry in dev_reg.devices.values(): - if device_entry.area_id in selector.area_ids: - selected.referenced_devices.add(device_entry.id) + + if selector.area_ids: + for device_entry in dev_reg.devices.values(): + if device_entry.area_id in selector.area_ids: + selected.referenced_devices.add(device_entry.id) if not selector.area_ids and not selected.referenced_devices: return selected