diff --git a/custom_components/wemportal/coordinator.py b/custom_components/wemportal/coordinator.py index 3bd6846..5da33fe 100644 --- a/custom_components/wemportal/coordinator.py +++ b/custom_components/wemportal/coordinator.py @@ -58,6 +58,7 @@ async def _async_update_data(self): self.config_entry.data.get(CONF_PASSWORD), self.config_entry.options, ) + del self.api self.api = new_api except Exception as exc2: raise UpdateFailed from exc2 diff --git a/custom_components/wemportal/wemportalapi.py b/custom_components/wemportal/wemportalapi.py index 82521f0..3b844f1 100644 --- a/custom_components/wemportal/wemportalapi.py +++ b/custom_components/wemportal/wemportalapi.py @@ -182,6 +182,8 @@ def api_login(self): "AppVersion": "2.0.2", "ClientOS": "Android", } + if self.session is not None: + self.session.close() self.session = reqs.Session() self.session.cookies.clear() self.session.headers.update(self.headers) @@ -348,8 +350,7 @@ def change_value( ): """POST request to API to change a specific value""" _LOGGER.debug("Changing value for %s", parameter_id) - # Encode into UTF-8 - parameter_id = parameter_id.encode('utf-8') + data = { "DeviceID": device_id, "Modules": [