From 9ffdec63cc88ec47927ed5c0cfb26935ba713f38 Mon Sep 17 00:00:00 2001 From: Anders Melchiorsen Date: Sun, 22 Nov 2020 22:16:03 +0100 Subject: [PATCH] Optimize Sonos current playing state (#43517) --- homeassistant/components/sonos/media_player.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/sonos/media_player.py b/homeassistant/components/sonos/media_player.py index 7ec609837e4..874442a81c7 100644 --- a/homeassistant/components/sonos/media_player.py +++ b/homeassistant/components/sonos/media_player.py @@ -724,8 +724,13 @@ class SonosEntity(MediaPlayerEntity): def update_media(self, event=None): """Update information about currently playing media.""" - transport_info = self.soco.get_current_transport_info() - new_status = transport_info.get("current_transport_state") + variables = event and event.variables + + if variables: + new_status = variables["transport_state"] + else: + transport_info = self.soco.get_current_transport_info() + new_status = transport_info["current_transport_state"] # Ignore transitions, we should get the target state soon if new_status == "TRANSITIONING": @@ -760,7 +765,6 @@ class SonosEntity(MediaPlayerEntity): self._media_title = track_info.get("title") if self.soco.is_radio_uri(track_info["uri"]): - variables = event and event.variables self.update_media_radio(variables, track_info) else: self.update_media_music(update_position, track_info)