From e60918239a3fe25315e483f27e9a9425b0d4cf3e Mon Sep 17 00:00:00 2001 From: DavidLP Date: Sat, 13 May 2017 19:48:09 +0200 Subject: [PATCH 1/2] Quickfix Bug #7384 --- homeassistant/components/media_player/spotify.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/homeassistant/components/media_player/spotify.py b/homeassistant/components/media_player/spotify.py index 8ceb245eb03653..56242c10629685 100644 --- a/homeassistant/components/media_player/spotify.py +++ b/homeassistant/components/media_player/spotify.py @@ -154,7 +154,10 @@ def update(self): """Update state and attributes.""" self.refresh_spotify_instance() # Available devices - devices = self._player.devices().get('devices') + try: + devices = self._player.devices().get('devices') + except AttributeError: # self._player.devices() returns None + devices = None if devices is not None: self._devices = {device.get('name'): device.get('id') for device in devices} From 6e7f9a15cf6e50c7697709621b29e18966e7308a Mon Sep 17 00:00:00 2001 From: DavidLP Date: Fri, 19 May 2017 17:32:32 +0200 Subject: [PATCH 2/2] Fix devices not available runtime bug --- homeassistant/components/media_player/spotify.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/media_player/spotify.py b/homeassistant/components/media_player/spotify.py index 56242c10629685..bce7b983c60b5d 100644 --- a/homeassistant/components/media_player/spotify.py +++ b/homeassistant/components/media_player/spotify.py @@ -215,8 +215,9 @@ def media_pause(self): def select_source(self, source): """Select playback device.""" - self._player.transfer_playback(self._devices[source], - self._state == STATE_PLAYING) + if self._devices: + self._player.transfer_playback(self._devices[source], + self._state == STATE_PLAYING) def play_media(self, media_type, media_id, **kwargs): """Play media.""" @@ -261,7 +262,8 @@ def shuffle(self): @property def source_list(self): """Return a list of source devices.""" - return list(self._devices.keys()) + if self._devices: + return list(self._devices.keys()) @property def source(self):