From 9b0bee152f6eac64b9bd827d350e543e2ee2f587 Mon Sep 17 00:00:00 2001 From: J0EK3R Date: Sat, 27 Jan 2018 14:52:03 +0100 Subject: [PATCH 1/2] =reconnect a previous established MQTT-connection --- src/ebusd/mqtthandler.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/ebusd/mqtthandler.cpp b/src/ebusd/mqtthandler.cpp index fb019820..bb737f83 100644 --- a/src/ebusd/mqtthandler.cpp +++ b/src/ebusd/mqtthandler.cpp @@ -588,6 +588,9 @@ void MqttHandler::handleTraffic() { #else ret = mosquitto_loop(m_mosquitto, -1); #endif + if(ret == MOSQ_ERR_NO_CONN) { + ret = mosquitto_reconnect(m_mosquitto); + } if (!m_connected && ret == MOSQ_ERR_SUCCESS) { m_connected = true; logOtherNotice("mqtt", "connection re-established"); From 85f55fc58457406005de122a512187fa4bf71b3e Mon Sep 17 00:00:00 2001 From: J0EK3R Date: Sat, 27 Jan 2018 16:21:44 +0100 Subject: [PATCH 2/2] try reconnect even on initial no connection established --- src/ebusd/mqtthandler.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/ebusd/mqtthandler.cpp b/src/ebusd/mqtthandler.cpp index bb737f83..555d7c78 100644 --- a/src/ebusd/mqtthandler.cpp +++ b/src/ebusd/mqtthandler.cpp @@ -380,9 +380,8 @@ MqttHandler::MqttHandler(UserInfo* userInfo, BusHandler* busHandler, MessageMap* #else if (mosquitto_connect(m_mosquitto, g_host, g_port, 60, true) != MOSQ_ERR_SUCCESS) { #endif - logOtherError("mqtt", "unable to connect"); - mosquitto_destroy(m_mosquitto); - m_mosquitto = NULL; + m_connected = false; + logOtherNotice("mqtt", "unable to connect - retry..."); } else { m_connected = true; // assume success until connect_callback says otherwise logOtherDebug("mqtt", "connection requested");