diff --git a/homeassistant/components/sonos/manifest.json b/homeassistant/components/sonos/manifest.json index 3a8ba58cc61..efad23ee1f2 100644 --- a/homeassistant/components/sonos/manifest.json +++ b/homeassistant/components/sonos/manifest.json @@ -3,7 +3,7 @@ "name": "Sonos", "config_flow": true, "documentation": "https://www.home-assistant.io/integrations/sonos", - "requirements": ["pysonos==0.0.32"], + "requirements": ["pysonos==0.0.33"], "ssdp": [ { "st": "urn:schemas-upnp-org:device:ZonePlayer:1" diff --git a/homeassistant/components/sonos/media_player.py b/homeassistant/components/sonos/media_player.py index 11c42e072fd..3ad22de9151 100644 --- a/homeassistant/components/sonos/media_player.py +++ b/homeassistant/components/sonos/media_player.py @@ -482,6 +482,7 @@ class SonosEntity(MediaPlayerEntity): self._media_position = None self._media_position_updated_at = None self._media_image_url = None + self._media_channel = None self._media_artist = None self._media_album_name = None self._media_title = None @@ -692,6 +693,7 @@ class SonosEntity(MediaPlayerEntity): self._uri = None self._media_duration = None self._media_image_url = None + self._media_channel = None self._media_artist = None self._media_album_name = None self._media_title = None @@ -765,10 +767,13 @@ class SonosEntity(MediaPlayerEntity): except (TypeError, KeyError, AttributeError): pass + media_info = self.soco.get_current_media_info() + + self._media_channel = media_info["channel"] + # Check if currently playing radio station is in favorites - media_info = self.soco.avTransport.GetMediaInfo([("InstanceID", 0)]) for fav in self._favorites: - if fav.reference.get_uri() == media_info["CurrentURI"]: + if fav.reference.get_uri() == media_info["uri"]: self._source_name = fav.title def update_media_music(self, update_media_position, track_info): @@ -955,6 +960,12 @@ class SonosEntity(MediaPlayerEntity): """Image url of current playing media.""" return self._media_image_url or None + @property + @soco_coordinator + def media_channel(self): + """Channel currently playing.""" + return self._media_channel or None + @property @soco_coordinator def media_artist(self): diff --git a/requirements_all.txt b/requirements_all.txt index ff53d0e6dd6..534a236ac33 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -1649,7 +1649,7 @@ pysnmp==4.4.12 pysoma==0.0.10 # homeassistant.components.sonos -pysonos==0.0.32 +pysonos==0.0.33 # homeassistant.components.spc pyspcwebgw==0.4.0 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index 1ec4d5a09db..206e6448bef 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -791,7 +791,7 @@ pysmartthings==0.7.3 pysoma==0.0.10 # homeassistant.components.sonos -pysonos==0.0.32 +pysonos==0.0.33 # homeassistant.components.spc pyspcwebgw==0.4.0