From 04cdfcdf37a73c7a780fe30d8521a9e1acc5d408 Mon Sep 17 00:00:00 2001 From: Marvin Schenkel Date: Thu, 29 Jan 2026 13:53:12 +0100 Subject: [PATCH] Fix announcement loops for Sonos S1 (#3053) Fix announcement loops for Sonos S1. --- music_assistant/providers/sonos_s1/player.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/music_assistant/providers/sonos_s1/player.py b/music_assistant/providers/sonos_s1/player.py index 821d9c45..4dddd07f 100644 --- a/music_assistant/providers/sonos_s1/player.py +++ b/music_assistant/providers/sonos_s1/player.py @@ -14,7 +14,7 @@ import time from collections.abc import Callable, Coroutine from typing import TYPE_CHECKING, Any, cast -from music_assistant_models.enums import PlaybackState, PlayerState, PlayerType +from music_assistant_models.enums import MediaType, PlaybackState, PlayerState, PlayerType from music_assistant_models.errors import PlayerCommandFailed from soco import SoCoException from soco.core import MUSIC_SRC_RADIO, SoCo @@ -210,9 +210,11 @@ class SonosPlayer(Player): media.uri = media.uri.replace(".flac", ".mp3") didl_metadata = create_didl_metadata(media) + is_announcement = media.media_type == MediaType.ANNOUNCEMENT + force_radio = False if is_announcement else not media.duration await asyncio.to_thread( - self.soco.play_uri, media.uri, meta=didl_metadata, force_radio=not media.duration + self.soco.play_uri, media.uri, meta=didl_metadata, force_radio=force_radio ) self.mass.call_later(2, self.poll) -- 2.34.1