From e70bef33e409ec4efef202cce8a2ff1e7e3e03ee Mon Sep 17 00:00:00 2001 From: vshijiav Date: Thu, 30 Oct 2025 09:15:00 -0700 Subject: [PATCH 1/2] 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: From ebb6a5fddbf7281b10e4723dfad5fec816944465 Mon Sep 17 00:00:00 2001 From: LiShuzhen Date: Fri, 31 Oct 2025 16:15:59 +0800 Subject: [PATCH 2/2] fix: comments --- custom_components/xiaomi_home/miot/miot_mips.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/custom_components/xiaomi_home/miot/miot_mips.py b/custom_components/xiaomi_home/miot/miot_mips.py index 7d95715..afd0c46 100644 --- a/custom_components/xiaomi_home/miot/miot_mips.py +++ b/custom_components/xiaomi_home/miot/miot_mips.py @@ -589,9 +589,10 @@ class _MipsClient(ABC): def __mqtt_loop_handler(self) -> None: try: - # If main loop is closed, stop internal loop immediately + # If the main loop is closed, stop the internal loop immediately if self.main_loop.is_closed(): - self.log_debug('main loop closed, stopping internal loop') + self.log_debug( + 'The main loop is closed, stop the internal loop.') if not self._internal_loop.is_closed(): self._internal_loop.stop() return