MQTT trouble
This commit is contained in:
21
gauge.py
21
gauge.py
@@ -530,17 +530,12 @@ _WIFI_CONNECT_ATTEMPTS = 3
|
||||
def _reset_wifi_interface():
|
||||
global _wifi_sta
|
||||
_wifi_sta = network.WLAN(network.STA_IF)
|
||||
_wifi_sta.active(True)
|
||||
try:
|
||||
_wifi_sta.disconnect()
|
||||
except Exception:
|
||||
pass
|
||||
try:
|
||||
_wifi_sta.active(False)
|
||||
utime.sleep_ms(500)
|
||||
except Exception:
|
||||
pass
|
||||
_wifi_sta.active(True)
|
||||
utime.sleep_ms(500)
|
||||
utime.sleep_ms(1000)
|
||||
|
||||
|
||||
def connect_wifi(ssid, password, timeout_s=15, force_reconnect=False):
|
||||
@@ -906,6 +901,11 @@ def connect_mqtt():
|
||||
except Exception as e:
|
||||
last_error = e
|
||||
log_err(f"MQTT connect attempt {attempt + 1} failed: {e}")
|
||||
try:
|
||||
client.sock.close()
|
||||
except Exception:
|
||||
pass
|
||||
gc.collect()
|
||||
utime.sleep_ms(1000)
|
||||
|
||||
_mqtt_connected = False
|
||||
@@ -963,7 +963,7 @@ def check_mqtt():
|
||||
keepalive=30,
|
||||
)
|
||||
client_ref.set_callback(on_message)
|
||||
_mqtt_connect_with_timeout(client_ref)
|
||||
client_ref.connect()
|
||||
_mqtt_connected = True
|
||||
info("MQTT reconnected!")
|
||||
schedule_discovery()
|
||||
@@ -974,6 +974,11 @@ def check_mqtt():
|
||||
return True
|
||||
except Exception as e2:
|
||||
log_err(f"MQTT reconnect attempt {attempt + 1} failed: {e2}")
|
||||
try:
|
||||
client_ref.sock.close()
|
||||
except Exception:
|
||||
pass
|
||||
gc.collect()
|
||||
utime.sleep_ms(2000)
|
||||
|
||||
log_err("MQTT reconnection failed after 3 attempts")
|
||||
|
||||
Reference in New Issue
Block a user