diff --git a/custom_components/skykettle/__init__.py b/custom_components/skykettle/__init__.py index 47f1ad5..806fde5 100644 --- a/custom_components/skykettle/__init__.py +++ b/custom_components/skykettle/__init__.py @@ -85,7 +85,7 @@ async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry): hass.config_entries.async_forward_entry_unload(entry, component) ) hass.data[DOMAIN][DATA_CANCEL]() - await hass.async_add_executor_job(hass.data[DOMAIN][entry.entry_id][DATA_CONNECTION].stop) + await hass.data[DOMAIN][entry.entry_id][DATA_CONNECTION].stop() hass.data[DOMAIN][entry.entry_id][DATA_CONNECTION] = None _LOGGER.debug("Entry unloaded") return True diff --git a/custom_components/skykettle/config_flow.py b/custom_components/skykettle/config_flow.py index 1bfe74b..8131729 100644 --- a/custom_components/skykettle/config_flow.py +++ b/custom_components/skykettle/config_flow.py @@ -112,7 +112,7 @@ async def async_step_connect(self, user_input=None): connect_ok = kettle._last_connect_ok auth_ok = kettle._last_auth_ok - kettle.stop() + await kettle.stop() if not connect_ok: errors["base"] = "cant_connect" diff --git a/custom_components/skykettle/kettle_connection.py b/custom_components/skykettle/kettle_connection.py index fbb8c7a..e302a8c 100644 --- a/custom_components/skykettle/kettle_connection.py +++ b/custom_components/skykettle/kettle_connection.py @@ -308,10 +308,11 @@ async def _set_target_state(self, target_mode, target_temp = 0): async def cancel_target(self): self._target_state = None - def stop(self): + async def stop(self): if self._disposed: return - self._disconnect() self._disposed = True + self._target_state = None + await self.disconnect() _LOGGER.info("Stopped.") @property