[MQTT] Do not connect with cleanSession flag set

See https://github.com/knolleary/pubsubclient/issues/458#issuecomment-493875150
This commit is contained in:
Gijs Noorlander
2019-05-21 21:19:33 +02:00
parent b2d471f7f5
commit 9c8ede259e
+3 -2
View File
@@ -205,12 +205,13 @@ bool MQTTConnect(int controller_idx)
boolean MQTTresult = false;
uint8_t willQos = 0;
boolean willRetain = true;
boolean cleanSession = false; // As suggested here: https://github.com/knolleary/pubsubclient/issues/458#issuecomment-493875150
if ((SecuritySettings.ControllerUser[controller_idx] != 0) && (SecuritySettings.ControllerPassword[controller_idx] != 0)) {
MQTTresult = MQTTclient.connect(clientid.c_str(), SecuritySettings.ControllerUser[controller_idx], SecuritySettings.ControllerPassword[controller_idx],
LWTTopic.c_str(), willQos, willRetain, LWTMessageDisconnect.c_str());
LWTTopic.c_str(), willQos, willRetain, LWTMessageDisconnect.c_str(), cleanSession);
} else {
MQTTresult = MQTTclient.connect(clientid.c_str(), LWTTopic.c_str(), willQos, willRetain, LWTMessageDisconnect.c_str());
MQTTresult = MQTTclient.connect(clientid.c_str(), nullptr, nullptr, LWTTopic.c_str(), willQos, willRetain, LWTMessageDisconnect.c_str(), cleanSession);
}
delay(0);