CHG: do not throttle update_data

This commit is contained in:
Chris Browet 2021-05-13 18:58:33 +02:00
parent 6625d199e2
commit d00128eb72
2 changed files with 11 additions and 8 deletions

View file

@ -646,7 +646,8 @@ class JellyfinClientManager(object):
break break
elif event_name in ("LibraryChanged", "UserDataChanged"): elif event_name in ("LibraryChanged", "UserDataChanged"):
for sensor in self.hass.data[DOMAIN][self.host]["sensor"]["entities"]: for sensor in self.hass.data[DOMAIN][self.host]["sensor"]["entities"]:
sensor.schedule_update_ha_state() autolog("LibraryChanged: trigger update")
sensor.schedule_update_ha_state(force_refresh=True)
elif event_name == "Sessions": elif event_name == "Sessions":
self._sessions = self.clean_none_dict_values(data)["value"] self._sessions = self.clean_none_dict_values(data)["value"]
self.update_device_list() self.update_device_list()
@ -669,8 +670,7 @@ class JellyfinClientManager(object):
self.is_stopping = True self.is_stopping = True
await self.hass.async_add_executor_job(self.jf_client.stop) await self.hass.async_add_executor_job(self.jf_client.stop)
@util.Throttle(MIN_TIME_BETWEEN_UPDATES) async def update_data(self):
async def update_data (self):
autolog("<<<") autolog("<<<")
if self.config_entry[CONF_GENERATE_UPCOMING]: if self.config_entry[CONF_GENERATE_UPCOMING]:
@ -1058,21 +1058,21 @@ class JellyfinClientManager(object):
async def delete_item(self, id): async def delete_item(self, id):
await self.hass.async_add_executor_job(self.jf_client.jellyfin.items, f"/{id}", "DELETE") await self.hass.async_add_executor_job(self.jf_client.jellyfin.items, f"/{id}", "DELETE")
await self.update_data(no_throttle=True) await self.update_data()
async def search_item(self, search_term): async def search_item(self, search_term):
self._yamc_cur_page = 1 self._yamc_cur_page = 1
self._last_search = search_term self._last_search = search_term
await self.update_data(no_throttle=True) await self.update_data()
async def yamc_set_page(self, page): async def yamc_set_page(self, page):
self._yamc_cur_page = page self._yamc_cur_page = page
await self.update_data(no_throttle=True) await self.update_data()
async def yamc_set_playlist(self, playlist): async def yamc_set_playlist(self, playlist):
self._last_search = "" self._last_search = ""
self._last_playlist = playlist self._last_playlist = playlist
await self.update_data(no_throttle=True) await self.update_data()
def get_server_url(self) -> str: def get_server_url(self) -> str:
return self.jf_client.config.data["auth.server"] return self.jf_client.config.data["auth.server"]

View file

@ -37,9 +37,11 @@ class JellyfinSensor(Entity):
self._available = True self._available = True
async def async_added_to_hass(self): async def async_added_to_hass(self):
autolog("<<<")
self.hass.data[DOMAIN][self.jelly_cm.host][PLATFORM]["entities"].append(self) self.hass.data[DOMAIN][self.jelly_cm.host][PLATFORM]["entities"].append(self)
async def async_will_remove_from_hass(self): async def async_will_remove_from_hass(self):
autolog("<<<")
self.hass.data[DOMAIN][self.jelly_cm.host][PLATFORM]["entities"].remove(self) self.hass.data[DOMAIN][self.jelly_cm.host][PLATFORM]["entities"].remove(self)
@property @property
@ -96,7 +98,8 @@ class JellyfinSensor(Entity):
return extra_attr return extra_attr
async def async_update(self): async def async_update(self):
"""Synchronise state from the vacuum.""" """Synchronise state from the server."""
autolog("<<<")
await self.jelly_cm.update_data() await self.jelly_cm.update_data()
async def async_trigger_scan(self): async def async_trigger_scan(self):