diff --git a/homeassistant/components/sonos/speaker.py b/homeassistant/components/sonos/speaker.py index 7c44245bf5d..8b56b38af8f 100644 --- a/homeassistant/components/sonos/speaker.py +++ b/homeassistant/components/sonos/speaker.py @@ -722,12 +722,11 @@ class SonosSpeaker: update_position = new_status != self.media.playback_status self.media.playback_status = new_status - if variables: + if variables and "transport_state" in variables: self.media.play_mode = variables["current_play_mode"] track_uri = variables["current_track_uri"] music_source = self.soco.music_source_from_uri(track_uri) else: - # This causes a network round-trip so we avoid it when possible self.media.play_mode = self.soco.play_mode music_source = self.soco.music_source @@ -765,7 +764,7 @@ class SonosSpeaker: self.media.title = source self.media.source_name = source - def update_media_radio(self, variables: dict) -> None: + def update_media_radio(self, variables: dict | None) -> None: """Update state when streaming radio.""" self.media.clear_position()