From fad5fc5256f32a000932b909471a7662785fb862 Mon Sep 17 00:00:00 2001 From: "David F. Mulcahey" Date: Sun, 10 Mar 2024 19:12:27 -0400 Subject: [PATCH] Fix race condition when ZHA group members change (#113030) --- homeassistant/components/zha/entity.py | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/homeassistant/components/zha/entity.py b/homeassistant/components/zha/entity.py index 98e56c69075..5b9a11cb621 100644 --- a/homeassistant/components/zha/entity.py +++ b/homeassistant/components/zha/entity.py @@ -311,6 +311,10 @@ class ZhaGroupEntity(BaseZhaEntity): self._handled_group_membership = True await self.async_remove(force_remove=True) + if len(self._group.members) >= 2: + async_dispatcher_send( + self.hass, SIGNAL_GROUP_ENTITY_REMOVED, self._group_id + ) async def async_added_to_hass(self) -> None: """Register callbacks.""" @@ -337,13 +341,6 @@ class ZhaGroupEntity(BaseZhaEntity): self.hass, self._entity_ids, self.async_state_changed_listener ) - def send_removed_signal(): - async_dispatcher_send( - self.hass, SIGNAL_GROUP_ENTITY_REMOVED, self._group_id - ) - - self.async_on_remove(send_removed_signal) - @callback def async_state_changed_listener(self, event: Event[EventStateChangedData]) -> None: """Handle child updates."""