From d00128eb72c1887c0af152d0892bb117f2add916 Mon Sep 17 00:00:00 2001 From: Chris Browet Date: Thu, 13 May 2021 18:58:33 +0200 Subject: [PATCH] CHG: do not throttle update_data --- custom_components/jellyfin/__init__.py | 14 +++++++------- custom_components/jellyfin/sensor.py | 5 ++++- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/custom_components/jellyfin/__init__.py b/custom_components/jellyfin/__init__.py index e100e7d..ffa7ce1 100644 --- a/custom_components/jellyfin/__init__.py +++ b/custom_components/jellyfin/__init__.py @@ -646,7 +646,8 @@ class JellyfinClientManager(object): break elif event_name in ("LibraryChanged", "UserDataChanged"): 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": self._sessions = self.clean_none_dict_values(data)["value"] self.update_device_list() @@ -669,8 +670,7 @@ class JellyfinClientManager(object): self.is_stopping = True 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("<<<") if self.config_entry[CONF_GENERATE_UPCOMING]: @@ -1058,21 +1058,21 @@ class JellyfinClientManager(object): async def delete_item(self, id): 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): self._yamc_cur_page = 1 self._last_search = search_term - await self.update_data(no_throttle=True) + await self.update_data() async def yamc_set_page(self, page): self._yamc_cur_page = page - await self.update_data(no_throttle=True) + await self.update_data() async def yamc_set_playlist(self, playlist): self._last_search = "" self._last_playlist = playlist - await self.update_data(no_throttle=True) + await self.update_data() def get_server_url(self) -> str: return self.jf_client.config.data["auth.server"] diff --git a/custom_components/jellyfin/sensor.py b/custom_components/jellyfin/sensor.py index 26473d1..1035400 100644 --- a/custom_components/jellyfin/sensor.py +++ b/custom_components/jellyfin/sensor.py @@ -37,9 +37,11 @@ class JellyfinSensor(Entity): self._available = True async def async_added_to_hass(self): + autolog("<<<") self.hass.data[DOMAIN][self.jelly_cm.host][PLATFORM]["entities"].append(self) async def async_will_remove_from_hass(self): + autolog("<<<") self.hass.data[DOMAIN][self.jelly_cm.host][PLATFORM]["entities"].remove(self) @property @@ -96,7 +98,8 @@ class JellyfinSensor(Entity): return extra_attr async def async_update(self): - """Synchronise state from the vacuum.""" + """Synchronise state from the server.""" + autolog("<<<") await self.jelly_cm.update_data() async def async_trigger_scan(self):