From 0e6a0124996f212550c232a5f3ea0378ae7acab6 Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Sat, 9 Sep 2023 23:30:55 +0200 Subject: [PATCH] Fix possible MQTT disconnect exception --- tasmota/tasmota_xdrv_driver/xdrv_02_9_mqtt.ino | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tasmota/tasmota_xdrv_driver/xdrv_02_9_mqtt.ino b/tasmota/tasmota_xdrv_driver/xdrv_02_9_mqtt.ino index 2b1f646de..91eb1ef6d 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_02_9_mqtt.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_02_9_mqtt.ino @@ -465,7 +465,9 @@ bool MqttIsConnected(void) { } void MqttDisconnect(void) { - MqttClient.disconnect(); + if (MqttClient.connected()) { + MqttClient.disconnect(); + } } void MqttSubscribeLib(const char *topic) { @@ -1060,8 +1062,7 @@ void MqttReconnect(void) { AddLog(LOG_LEVEL_INFO, PSTR(D_LOG_MQTT D_ATTEMPTING_CONNECTION)); - if (MqttClient.connected()) { MqttClient.disconnect(); } - + MqttDisconnect(); MqttSetClientTimeout(); MqttClient.setCallback(MqttDataHandler);