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."""