Avoid linear search in entity registry to clear an area (#109735)

This commit is contained in:
J. Nick Koston 2024-02-05 13:53:33 -06:00 committed by GitHub
parent d27ca83694
commit e9a41e5023
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1251,9 +1251,8 @@ class EntityRegistry:
@callback @callback
def async_clear_area_id(self, area_id: str) -> None: def async_clear_area_id(self, area_id: str) -> None:
"""Clear area id from registry entries.""" """Clear area id from registry entries."""
for entity_id, entry in self.entities.items(): for entry in self.entities.get_entries_for_area_id(area_id):
if area_id == entry.area_id: self.async_update_entity(entry.entity_id, area_id=None)
self.async_update_entity(entity_id, area_id=None)
@callback @callback