mirror of
				https://github.com/XiaoMi/ha_xiaomi_home.git
				synced 2025-10-31 09:22:08 +08:00 
			
		
		
		
	fix: reconnect delay time (#1200)
* fix: reset the reconnect interval when connected (#1175) * feat: set the default reconnect delay time as 10 seconds * fix: get the minimum reconnect interval
This commit is contained in:
		| @@ -216,7 +216,7 @@ class _MipsClient(ABC): | ||||
|     MQTT_INTERVAL_S = 1 | ||||
|     MIPS_QOS: int = 2 | ||||
|     UINT32_MAX: int = 0xFFFFFFFF | ||||
|     MIPS_RECONNECT_INTERVAL_MIN: float = 30 | ||||
|     MIPS_RECONNECT_INTERVAL_MIN: float = 10 | ||||
|     MIPS_RECONNECT_INTERVAL_MAX: float = 600 | ||||
|     MIPS_SUB_PATCH: int = 300 | ||||
|     MIPS_SUB_INTERVAL: float = 1 | ||||
| @@ -641,6 +641,7 @@ class _MipsClient(ABC): | ||||
|         if not self._mqtt.is_connected(): | ||||
|             return | ||||
|         self.log_info(f'mips connect, {flags}, {rc}, {props}') | ||||
|         self.__reset_reconnect_time() | ||||
|         self._mqtt_state = True | ||||
|         self._internal_loop.call_soon( | ||||
|             self._on_mips_connect, rc, props) | ||||
| @@ -822,7 +823,7 @@ class _MipsClient(ABC): | ||||
|         self._internal_loop.stop() | ||||
|  | ||||
|     def __get_next_reconnect_time(self) -> float: | ||||
|         if self._mips_reconnect_interval == 0: | ||||
|         if self._mips_reconnect_interval < self.MIPS_RECONNECT_INTERVAL_MIN: | ||||
|             self._mips_reconnect_interval = self.MIPS_RECONNECT_INTERVAL_MIN | ||||
|         else: | ||||
|             self._mips_reconnect_interval = min( | ||||
| @@ -830,6 +831,9 @@ class _MipsClient(ABC): | ||||
|                 self.MIPS_RECONNECT_INTERVAL_MAX) | ||||
|         return self._mips_reconnect_interval | ||||
|  | ||||
|     def __reset_reconnect_time(self) -> None: | ||||
|         self._mips_reconnect_interval = 0 | ||||
|  | ||||
|  | ||||
| class MipsCloudClient(_MipsClient): | ||||
|     """MIoT Pub/Sub Cloud Client.""" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user