From a5402739b705044ace7e40f02193bfeae1aa613a Mon Sep 17 00:00:00 2001 From: Anders Melchiorsen Date: Wed, 3 Oct 2018 14:50:13 +0200 Subject: [PATCH] Keep the repeat mode when setting Sonos shuffle mode (#17083) * Keep the repeat mode when setting Sonos shuffle mode * Fix test --- homeassistant/components/media_player/sonos.py | 10 +++++----- tests/components/media_player/test_sonos.py | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/homeassistant/components/media_player/sonos.py b/homeassistant/components/media_player/sonos.py index 718db6300d0..b0c471aa602 100644 --- a/homeassistant/components/media_player/sonos.py +++ b/homeassistant/components/media_player/sonos.py @@ -341,7 +341,7 @@ class SonosDevice(MediaPlayerDevice): self._model = None self._player_volume = None self._player_muted = None - self._play_mode = None + self._shuffle = None self._name = None self._coordinator = None self._sonos_group = None @@ -437,7 +437,7 @@ class SonosDevice(MediaPlayerDevice): speaker_info = self.soco.get_speaker_info(True) self._name = speaker_info['zone_name'] self._model = speaker_info['model_name'] - self._play_mode = self.soco.play_mode + self._shuffle = self.soco.shuffle self.update_volume() @@ -530,7 +530,7 @@ class SonosDevice(MediaPlayerDevice): if new_status == 'TRANSITIONING': return - self._play_mode = self.soco.play_mode + self._shuffle = self.soco.shuffle if self.soco.is_playing_tv: self.update_media_linein(SOURCE_TV) @@ -755,7 +755,7 @@ class SonosDevice(MediaPlayerDevice): @soco_coordinator def shuffle(self): """Shuffling state.""" - return 'SHUFFLE' in self._play_mode + return self._shuffle @property def media_content_type(self): @@ -835,7 +835,7 @@ class SonosDevice(MediaPlayerDevice): @soco_coordinator def set_shuffle(self, shuffle): """Enable/Disable shuffle mode.""" - self.soco.play_mode = 'SHUFFLE_NOREPEAT' if shuffle else 'NORMAL' + self.soco.shuffle = shuffle @soco_error() def mute_volume(self, mute): diff --git a/tests/components/media_player/test_sonos.py b/tests/components/media_player/test_sonos.py index cb3da3ab899..cfe969a25c4 100644 --- a/tests/components/media_player/test_sonos.py +++ b/tests/components/media_player/test_sonos.py @@ -57,7 +57,7 @@ class SoCoMock(): self.is_visible = True self.volume = 50 self.mute = False - self.play_mode = 'NORMAL' + self.shuffle = False self.night_mode = False self.dialog_mode = False self.music_library = MusicLibraryMock()