Avoid linear search of device registry when no areas are referenced in service calls (#109669)
parent
93e0810938
commit
40166ed51e
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue