max tries

This commit is contained in:
2018-11-29 06:49:07 +01:00
parent 031894a63e
commit b6df54ba06
2 changed files with 35 additions and 28 deletions

View File

@@ -70,10 +70,15 @@ void MqttPlugin::connect()
}
subscribed = true;
}
connectTries = 0;
publish("mqtt/connect", clientName);
PRINT_MSG(Serial, "MQTT", "connected");
} else {
PRINT_MSG(Serial, "MQTT", "connect failed");
connectTries++;
if(connectTries == maxConnectTries){
connectTask.disable();
}
}
}
}

View File

@@ -15,7 +15,7 @@ using namespace std::placeholders;
class MqttPlugin : public Plugin
{
public:
public:
PubSubClient *client;
MqttPlugin(MqttConfig cfg, bool bindUp = true, bool bindDown = true);
@@ -26,7 +26,7 @@ class MqttPlugin : public Plugin
*/
void activate(Scheduler *scheduler);
private:
private:
WiFiClient wifiClient;
Task connectTask;
Task processTask;
@@ -37,9 +37,11 @@ class MqttPlugin : public Plugin
int brokerPort;
String clientName;
String topicRoot;
int connectTries = 0;
int maxConnectTries = 5; // TODO add to config
void applyConfig(MqttConfig cfg);
void applyConfigFromFile(const char* fileName);
void applyConfigFromFile(const char *fileName);
void enableConnectTask(Scheduler *scheduler);
void enableProcessTask(Scheduler *scheduler);
/**