From 53ad33e84a0609cf2db7b2debaaedd598ad3d5ab Mon Sep 17 00:00:00 2001 From: zewelor Date: Thu, 15 Aug 2019 13:41:54 +0200 Subject: [PATCH] Add volumio shuffle support (#25871) * Add volumio shuffle support * Black reformat * Update homeassistant/components/volumio/media_player.py Co-Authored-By: Martin Hjelmare --- homeassistant/components/volumio/media_player.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/homeassistant/components/volumio/media_player.py b/homeassistant/components/volumio/media_player.py index 869d3cb3ed5..96e1d883646 100644 --- a/homeassistant/components/volumio/media_player.py +++ b/homeassistant/components/volumio/media_player.py @@ -29,6 +29,7 @@ from homeassistant.components.media_player.const import ( SUPPORT_VOLUME_MUTE, SUPPORT_VOLUME_SET, SUPPORT_VOLUME_STEP, + SUPPORT_SHUFFLE_SET, ) from homeassistant.const import ( CONF_HOST, @@ -65,6 +66,7 @@ SUPPORT_VOLUMIO = ( | SUPPORT_PLAY | SUPPORT_VOLUME_STEP | SUPPORT_SELECT_SOURCE + | SUPPORT_SHUFFLE_SET | SUPPORT_CLEAR_PLAYLIST ) @@ -231,6 +233,11 @@ class Volumio(MediaPlayerDevice): """Return the name of the device.""" return self._name + @property + def shuffle(self): + """Boolean if shuffle is enabled.""" + return self._state.get("random", False) + @property def source_list(self): """Return the list of available input sources.""" @@ -296,6 +303,12 @@ class Volumio(MediaPlayerDevice): "commands", params={"cmd": "volume", "volume": self._lastvol} ) + def async_set_shuffle(self, shuffle): + """Enable/disable shuffle mode.""" + return self.send_volumio_msg( + "commands", params={"cmd": "random", "value": str(shuffle)} + ) + def async_select_source(self, source): """Choose a different available playlist and play it.""" self._currentplaylist = source