From e70bef33e409ec4efef202cce8a2ff1e7e3e03ee Mon Sep 17 00:00:00 2001 From: vshijiav Date: Thu, 30 Oct 2025 09:15:00 -0700 Subject: [PATCH] Solve issue #1465 --- custom_components/xiaomi_home/miot/miot_mips.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/custom_components/xiaomi_home/miot/miot_mips.py b/custom_components/xiaomi_home/miot/miot_mips.py index 6e7186d..7d95715 100644 --- a/custom_components/xiaomi_home/miot/miot_mips.py +++ b/custom_components/xiaomi_home/miot/miot_mips.py @@ -589,6 +589,12 @@ class _MipsClient(ABC): def __mqtt_loop_handler(self) -> None: try: + # If main loop is closed, stop internal loop immediately + if self.main_loop.is_closed(): + self.log_debug('main loop closed, stopping internal loop') + if not self._internal_loop.is_closed(): + self._internal_loop.stop() + return if self._mqtt: self._mqtt.loop_read() if self._mqtt: