Theb-1 / ESP8266-wifi-light-dimmer

MIT License
66 stars 35 forks source link

reconnect to MQTT #4

Open pickeld opened 6 years ago

pickeld commented 6 years ago

hey, once the MQTT server goes down due to electricity fault for example i need to reset completely the esp8266, is it possible to add a reconnect function ?

thank you :)

srijansaxena11 commented 5 years ago

hey, once the MQTT server goes down due to electricity fault for example i need to reset completely the esp8266, is it possible to add a reconnect function ?

thank you :)

@pickeld

...
long lastReconnectAttempt = 0;
boolean reconnect() {
  Serial.print("MQTT connection lost. Reconnecting...");
  setupMQTTClient();
  return mqttClient.connected();
}
...
void loop(void){
...
  if (mqttClient.connected()) {
    mqttClient.loop();
  }
  else {
    long now = millis();
    if (now - lastReconnectAttempt > 5000) {
      lastReconnectAttempt = now;
      // Attempt to reconnect
      if (reconnect()) {
        lastReconnectAttempt = 0;
      }
    }
...
  }