From 4dc17ca3e824e10505ca8c236b4ec8f7c9a85433 Mon Sep 17 00:00:00 2001 From: Marcel van der Veldt Date: Sun, 14 Jul 2024 23:07:40 +0200 Subject: [PATCH] Ignore sonos vanished event --- .../server/providers/sonos/player.py | 23 ------------------- 1 file changed, 23 deletions(-) diff --git a/music_assistant/server/providers/sonos/player.py b/music_assistant/server/providers/sonos/player.py index 41e8ff1c..2f51588a 100644 --- a/music_assistant/server/providers/sonos/player.py +++ b/music_assistant/server/providers/sonos/player.py @@ -15,7 +15,6 @@ import time from collections.abc import Callable, Coroutine from typing import TYPE_CHECKING, Any -import defusedxml.ElementTree as ET # noqa: N817 from soco import SoCoException from soco.core import ( MUSIC_SRC_AIRPLAY, @@ -518,32 +517,10 @@ class SonosPlayer: def _handle_zone_group_topology_event(self, event: SonosEvent) -> None: """Handle callback for topology change event.""" - if xml := event.variables.get("zone_group_state"): - zgs = ET.fromstring(xml) - vanished_devices = zgs.find("VanishedDevices") - if vanished_devices is not None: - for vanished_device in vanished_devices: - if (reason := vanished_device.get("Reason")) not in SUPPORTED_VANISH_REASONS: - self.logger.debug( - "Ignoring %s marked %s as vanished with reason: %s", - self.zone_name, - vanished_device.get("ZoneName"), - reason, - ) - continue - self.mass.create_task(self._vanished(reason)) - if "zone_player_uui_ds_in_group" not in event.variables: return asyncio.run_coroutine_threadsafe(self.create_update_groups_coro(event), self.mass.loop) - async def _vanished(self, reason: str) -> None: - """Handle removal of speaker when marked as vanished.""" - if not self.available: - return - self.logger.debug("%s has vanished (%s), marking unavailable", self.zone_name, reason) - await self.offline() - async def _rebooted(self) -> None: """Handle a detected speaker reboot.""" self.logger.debug("%s rebooted, reconnecting", self.zone_name) -- 2.34.1