From: Tom Matheussen <13683094+Tommatheussen@users.noreply.github.com> Date: Sat, 21 Feb 2026 11:04:03 +0000 (+0100) Subject: Fix HEOS source switching back to Local Music after starting stream (#3206) X-Git-Url: https://git.kitaultman.com/?a=commitdiff_plain;h=b7ba044f2435cfff1d0e574cf133435c24a5f34b;p=music-assistant-server.git Fix HEOS source switching back to Local Music after starting stream (#3206) --- diff --git a/music_assistant/providers/heos/player.py b/music_assistant/providers/heos/player.py index b6f7163b..abca4c10 100644 --- a/music_assistant/providers/heos/player.py +++ b/music_assistant/providers/heos/player.py @@ -64,7 +64,7 @@ class HeosPlayer(Player): async def setup(self) -> None: """Set up the player.""" self.set_device_info() - self.set_dynamic_attributes() + self.set_dynamic_attributes(update_media=True) await self.mass.players.register_or_update(self) @@ -144,6 +144,12 @@ class HeosPlayer(Player): case const.EVENT_PLAYER_VOLUME_CHANGED: self._update_player_volume() + case const.EVENT_PLAYER_PLAYBACK_ERROR: + self.logger.error( + "[%s] Playback error: %s", self._device.name, self._device.playback_error + ) + self.set_dynamic_attributes() + case _: # Update everything on other events self.set_dynamic_attributes() @@ -215,11 +221,14 @@ class HeosPlayer(Player): else None ) - def set_dynamic_attributes(self) -> None: + def set_dynamic_attributes(self, update_media: bool = False) -> None: """Update all player dynamic attributes.""" self._update_player_volume() self._update_player_state() - self._update_player_current_media() + + if update_media: + self._update_player_current_media() + self._update_player_playing_progress() async def volume_set(self, volume_level: int) -> None: