From f8870c63641d8f64353d7fdc7e54d048dd7249c2 Mon Sep 17 00:00:00 2001 From: Raj Laud <50647620+rajlaud@users.noreply.github.com> Date: Tue, 12 Apr 2022 13:08:54 -0400 Subject: [PATCH] Handle Squeezebox media ids that are not URLs (#69696) --- homeassistant/components/squeezebox/const.py | 1 + homeassistant/components/squeezebox/media_player.py | 12 ++++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/homeassistant/components/squeezebox/const.py b/homeassistant/components/squeezebox/const.py index 4664bbeaf43..d8b67504397 100644 --- a/homeassistant/components/squeezebox/const.py +++ b/homeassistant/components/squeezebox/const.py @@ -5,3 +5,4 @@ KNOWN_PLAYERS = "known_players" PLAYER_DISCOVERY_UNSUB = "player_discovery_unsub" DISCOVERY_TASK = "discovery_task" DEFAULT_PORT = 9000 +SQUEEZEBOX_SOURCE_STRINGS = ("source:", "wavin:", "spotify:") diff --git a/homeassistant/components/squeezebox/media_player.py b/homeassistant/components/squeezebox/media_player.py index 384da3f59a8..e302a75e0c2 100644 --- a/homeassistant/components/squeezebox/media_player.py +++ b/homeassistant/components/squeezebox/media_player.py @@ -52,7 +52,13 @@ from .browse_media import ( library_payload, media_source_content_filter, ) -from .const import DISCOVERY_TASK, DOMAIN, KNOWN_PLAYERS, PLAYER_DISCOVERY_UNSUB +from .const import ( + DISCOVERY_TASK, + DOMAIN, + KNOWN_PLAYERS, + PLAYER_DISCOVERY_UNSUB, + SQUEEZEBOX_SOURCE_STRINGS, +) SERVICE_CALL_METHOD = "call_method" SERVICE_CALL_QUERY = "call_query" @@ -460,7 +466,9 @@ class SqueezeBoxEntity(MediaPlayerEntity): media_id = play_item.url if media_type in MEDIA_TYPE_MUSIC: - media_id = async_process_play_media_url(self.hass, media_id) + if not media_id.startswith(SQUEEZEBOX_SOURCE_STRINGS): + # do not process special squeezebox "source" media ids + media_id = async_process_play_media_url(self.hass, media_id) await self._player.async_load_url(media_id, cmd) return