Defer Plex sensor retry instead of aborting (#33753)

This commit is contained in:
jjlawren 2020-04-06 18:18:13 -05:00 committed by Paulus Schoutsen
parent e1e768fa65
commit e3d90f53cc

View File

@ -62,6 +62,7 @@ class PlexSensor(Entity):
_LOGGER.debug("Refreshing sensor [%s]", self.unique_id) _LOGGER.debug("Refreshing sensor [%s]", self.unique_id)
self.sessions = sessions self.sessions = sessions
update_failed = False
@callback @callback
def update_plex(_): def update_plex(_):
@ -79,8 +80,8 @@ class PlexSensor(Entity):
_LOGGER.debug( _LOGGER.debug(
"Session temporarily incomplete, will try again: %s", sess "Session temporarily incomplete, will try again: %s", sess
) )
async_call_later(self.hass, 5, update_plex) update_failed = True
return continue
user = sess.usernames[0] user = sess.usernames[0]
device = sess.players[0].title device = sess.players[0].title
now_playing_user = f"{user} - {device}" now_playing_user = f"{user} - {device}"
@ -119,6 +120,9 @@ class PlexSensor(Entity):
self.async_write_ha_state() self.async_write_ha_state()
if update_failed:
async_call_later(self.hass, 5, update_plex)
@property @property
def name(self): def name(self):
"""Return the name of the sensor.""" """Return the name of the sensor."""