From 67a7cf83c2d545dce029c5a054bf29c60aa969b7 Mon Sep 17 00:00:00 2001 From: abmantis Date: Mon, 7 Jul 2025 17:27:19 +0100 Subject: [PATCH] Rename class; add comment --- homeassistant/helpers/trigger.py | 13 ++++++++++--- tests/helpers/test_trigger.py | 1 - 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/homeassistant/helpers/trigger.py b/homeassistant/helpers/trigger.py index 51583c51bac..6f64c60992a 100644 --- a/homeassistant/helpers/trigger.py +++ b/homeassistant/helpers/trigger.py @@ -627,8 +627,8 @@ async def async_get_all_descriptions( return new_descriptions_cache -class TargetSelectorStateChangeTracker: - """Helper class to manage state change tracking for target selectors.""" +class TargetStateChangeTracker: + """Helper class to manage state change tracking for targets.""" def __init__( self, @@ -681,6 +681,13 @@ class TargetSelectorStateChangeTracker: self._state_change_unsub() self._track_entities_state_change() + # Subscribe to registry updates that can change the entities to track: + # - Entity registry: entity added/removed; entity labels changed; entity area changed. + # - Device registry: device labels changed; device area changed. + # - Area registry: area floor changed. + # + # We don't track other registries (like floor or label registries) because their + # changes don't affect which entities are tracked. self._registry_unsubs = [ self._hass.bus.async_listen( entity_registry.EVENT_ENTITY_REGISTRY_UPDATED, @@ -723,5 +730,5 @@ def async_track_target_selector_state_change_event( ) return lambda: None - tracker = TargetSelectorStateChangeTracker(hass, selector_data, job_type, action) + tracker = TargetStateChangeTracker(hass, selector_data, job_type, action) return tracker.unsub diff --git a/tests/helpers/test_trigger.py b/tests/helpers/test_trigger.py index c6ea369a01a..4dd4da94835 100644 --- a/tests/helpers/test_trigger.py +++ b/tests/helpers/test_trigger.py @@ -1010,6 +1010,5 @@ async def test_async_track_target_selector_state_change_event( # After unsubscribing, changes should not trigger unsub() - await toggle_states() assert len(calls) == 0