diff --git a/webserver/public/js/mqtt/mqtthat.js b/webserver/public/js/mqtt/mqtthat.js index b8ae2a209ff178a638f19a470c544c4cba87de43..65c14ca18a90ad503fe2f1c713f3855d3fe7e3ce 100644 --- a/webserver/public/js/mqtt/mqtthat.js +++ b/webserver/public/js/mqtt/mqtthat.js @@ -49,6 +49,8 @@ function sendMessage(topic, message, retryNum = 0) { export { sendMessage }; +let hasDisconnected = false; + // called when the client connects function onConnect() { // Once a connection has been made, make a subscription and send a message. @@ -62,7 +64,10 @@ function onConnect() { isConnected = true; // tell every module that we're connected Api.isConnected = true; - Api.onConnect(); + if(hasDisconnected){ + Api.onConnect(); + hasDisconnected = false; + } } let dateConLost = null; @@ -75,6 +80,7 @@ function onFailure(message) { if (retry && (time < maxTime)) { isConnected = false; Api.isConnected = false; + hasDisconnected = true; client.connect(connectOptions); } if (time >= maxTime) { @@ -88,6 +94,7 @@ function onConnectionLost(responseObject) { console.log("onConnectionLost:", responseObject); isConnected = false; Api.isConnected = false; + hasDisconnected = true; setTimeout(() => { client.connect(connectOptions); }, 1000);