Improve MQTT connection handling (#1462)

* modify mqtt init at startup + after disconnection

* mqtt_init only when not initialized

* Minor udapte

* Apply suggestions from code review

Co-authored-by: CaCO3 <caco3@ruinelli.ch>

* Correct typo

Co-authored-by: CaCO3 <caco3@ruinelli.ch>
This commit is contained in:
Slider0007
2022-12-03 19:10:44 +01:00
committed by GitHub
parent 6c8a45f2dc
commit 85905a7045
5 changed files with 45 additions and 30 deletions

View File

@@ -140,6 +140,15 @@ string ClassFlowControll::GetMQTTMainTopic()
return "";
}
bool ClassFlowControll::StartMQTTService() {
/* Start the MQTT service */
for (int i = 0; i < FlowControll.size(); ++i) {
if (FlowControll[i]->name().compare("ClassFlowMQTT") == 0) {
return ((ClassFlowMQTT*) (FlowControll[i]))->Start(AutoIntervall);
}
}
return false;
}
void ClassFlowControll::SetInitialParameter(void)
@@ -311,7 +320,9 @@ bool ClassFlowControll::doFlow(string time)
MQTTPublish(mqttServer_getMainTopic() + "/" + "status", flowStatus, false);
string zw = "FlowControll.doFlow - " + FlowControll[i]->name();
LogFile.WriteHeapInfo(zw);
#ifdef DEBUG_DETAIL_ON
LogFile.WriteHeapInfo(zw);
#endif
if (!FlowControll[i]->doFlow(time)){
repeat++;
@@ -551,12 +562,6 @@ bool ClassFlowControll::ReadParameter(FILE* pfile, string& aktparamgraph)
}
}
}
/* Start the MQTT service */
for (int i = 0; i < FlowControll.size(); ++i)
if (FlowControll[i]->name().compare("ClassFlowMQTT") == 0)
return ((ClassFlowMQTT*) (FlowControll[i]))->Start(AutoIntervall);
return true;
}