From 4bc7257ef234a218b922a08d0c2639b4f2351496 Mon Sep 17 00:00:00 2001 From: Erik Kastelec Date: Sun, 11 Apr 2021 18:15:18 +0200 Subject: [PATCH] Reduce sleep when scraping. Remove minimum update interval. Closes #8 --- README.md | 4 ++-- custom_components/wemportal/manifest.json | 2 +- custom_components/wemportal/sensor.py | 2 +- custom_components/wemportal/wemportalapi.py | 8 ++++---- info.md | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index ce947a1..7307ea7 100644 --- a/README.md +++ b/README.md @@ -38,8 +38,8 @@ custom_components Configuration variables: - `username`: Email address used for logging into WEM Portal - `password`: Password used for logging into WEM Portal -- `scan_interval (Optional)`: Defines update frequency. Optional and in seconds (defaults to 30 min, minimum value is 15 - min). +- `scan_interval (Optional)`: Defines update frequency. Optional and in seconds (defaults to 30 min). Setting update + frequency bellow 15 min is not recommended. Add the following to your `configuration.yaml` file: diff --git a/custom_components/wemportal/manifest.json b/custom_components/wemportal/manifest.json index 435e597..222949a 100644 --- a/custom_components/wemportal/manifest.json +++ b/custom_components/wemportal/manifest.json @@ -4,7 +4,7 @@ "documentation": "https://github.com/erikkastelec/hass-WEM-Portal", "issue_tracker": "https://github.com/erikkastelec/hass-WEM-Portal/issues", "dependencies": [], - "version": "1.1.3", + "version": "1.1.5", "codeowners": [ "@erikkastelec" ], diff --git a/custom_components/wemportal/sensor.py b/custom_components/wemportal/sensor.py index 18e7d8a..1fde55b 100644 --- a/custom_components/wemportal/sensor.py +++ b/custom_components/wemportal/sensor.py @@ -60,7 +60,7 @@ async def async_update_data(): name="wem_portal_sensor", update_method=async_update_data, # Polling interval. Will only be polled if there are subscribers. - update_interval=max(config.get(CONF_SCAN_INTERVAL), timedelta(minutes=15)), + update_interval=config.get(CONF_SCAN_INTERVAL), ) # Fetch initial data so we have data when entities subscribe diff --git a/custom_components/wemportal/wemportalapi.py b/custom_components/wemportal/wemportalapi.py index 8a5dd3b..27d0478 100644 --- a/custom_components/wemportal/wemportalapi.py +++ b/custom_components/wemportal/wemportalapi.py @@ -63,8 +63,8 @@ def parse(self, response): callback=self.navigate_to_expert_page) def navigate_to_expert_page(self, response): - # sleep for 5 seconds to get proper language and updated data - time.sleep(5) + # sleep for 1 seconds to get proper language and updated data + time.sleep(1) _LOGGER.debug("Print user page HTML: %s", response.text) if response.url == 'https://www.wemportal.com/Web/login.aspx?AspxAutoDetectCookieSupport=1': _LOGGER.debug("Authentication failed") @@ -107,8 +107,8 @@ def generate_form_data(self, response): } def scrape_pages(self, response): - # sleep for 2 seconds to get proper language and updated data - time.sleep(2) + # sleep for 1 seconds to get proper language and updated data + time.sleep(1) _LOGGER.debug("Print expert page HTML: %s", response.text) if self.authErrorFlag: yield {'authErrorFlag': True} diff --git a/info.md b/info.md index 9e84f96..8cb5015 100644 --- a/info.md +++ b/info.md @@ -15,8 +15,8 @@ Full restart of the Home Assistant is required. Restarting from GUI won't work, Configuration variables: - `username`: Email address used for logging into WEM Portal - `password`: Password used for logging into WEM Portal -- `scan_interval (Optional)`: Defines update frequency. Optional and in seconds (defaults to 30 min, minimum value is 15 - min). +- `scan_interval (Optional)`: Defines update frequency. Optional and in seconds (defaults to 30 min). Setting update + frequency bellow 15 min is not recommended. Add the following to your `configuration.yaml` file: