From b435789fb3f034b35e8930e104f340ecad7cd549 Mon Sep 17 00:00:00 2001 From: Helldog136 Date: Sun, 15 May 2022 23:58:51 +0200 Subject: [PATCH] #50 : Fix potential AttributeError for new configurations in case of mqtt error --- tuya_iot/openmq.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tuya_iot/openmq.py b/tuya_iot/openmq.py index 07936e0..fd86d58 100644 --- a/tuya_iot/openmq.py +++ b/tuya_iot/openmq.py @@ -59,6 +59,7 @@ def __init__(self, api: TuyaOpenAPI) -> None: self.mq_config = None self.message_listeners = set() + # https://developer.tuya.com/en/docs/cloud/c2c2630d7c?id=Kb68mozbi3foh def _get_mqtt_config(self) -> Optional[TuyaMQConfig]: response = self.api.post( TO_C_CUSTOM_MQTT_CONFIG_API @@ -160,7 +161,6 @@ def run(self): try: self.__run_mqtt() backoff_seconds = 1 - # reconnect every 2 hours required. time.sleep(self.mq_config.expire_time - 60) except RequestException as e: @@ -175,6 +175,8 @@ def __run_mqtt(self): mq_config = self._get_mqtt_config() if mq_config is None: logger.error("error while get mqtt config") + if self.mq_config is None: # if we have no initial mq_config this is a big problem. + raise RequestException() return self.mq_config = mq_config