Для введения задержки я использовал:
В servces.h Сделать так.
tMQTT = millis();
// mqttAPI.disconnect();
В теле программы (первая закладка с названием прошивки) сделать так.
void loop() {
/* Обработчики */
wifi.handleEvents();
http.handleClient();
cron.handleEvents();
// Дисконект по связи с MQTT необходима задержка для передачи всех данных
if (tMQTT != 0) {
if (millis() - tMQTT > 1000 or tMQTT > millis()){
mqttAPI.disconnect();
tMQTT = 0;
}
}
// Активация счета температуры в датчиках DS за 1,5с до чтения датчиков из программы
if (millis() - TReadT > 3500 or TReadT > millis()){
Tsensors.setWaitForConversion(false); //No waiting for measurement
Tsensors.requestTemperatures(); //Initiate the temperature measurement
}
}
У меня все работает.
Часть касательно датчиков DS не нужна. К стати сейчас на один шлейф повешено 11 датчиков DS - работают стабильно.