diff --git a/esp32/src/main.cpp b/esp32/src/main.cpp index 5125980..9ee043e 100644 --- a/esp32/src/main.cpp +++ b/esp32/src/main.cpp @@ -147,10 +147,11 @@ void mode2MQTT(){ float temp[2] = { TEMP_INIT_VALUE, TEMP_INIT_VALUE }; float* pFloat = temp; int devices = dallas.readAllTemperatures(pFloat, 2); + if (devices < 2) { if ((pFloat[0] > TEMP_INIT_VALUE) && (pFloat[0] < TEMP_MAX_VALUE) ) { sensorTemp.setProperty("control").send( String(pFloat[0])); - } + } } else if (devices >= 2) { if ((pFloat[0] > TEMP_INIT_VALUE) && (pFloat[0] < TEMP_MAX_VALUE) ) { sensorTemp.setProperty("temp").send( String(pFloat[0])); @@ -270,7 +271,6 @@ void readSensors() { } } - Serial << "DS18B20" << endl; /* Read the temperature sensors once, as first time 85 degree is returned */ Serial << "DS18B20" << String(dallas.readDevices()) << endl; delay(200); @@ -322,9 +322,7 @@ void onHomieEvent(const HomieEvent& event) { //wait for rtc sync? rtcDeepSleepTime = deepSleepTime.get(); - if(!mode3Active){ - mode2MQTT(); - } + mode2MQTT(); Homie.getLogger() << "MQTT 1" << endl; break; case HomieEventType::READY_TO_SLEEP: @@ -332,11 +330,11 @@ void onHomieEvent(const HomieEvent& event) { esp_deep_sleep_start(); break; case HomieEventType::OTA_STARTED: - Serial.println("OTA DS Disabled"); + digitalWrite(OUTPUT_SENSOR, HIGH); mode3Active=true; break; case HomieEventType::OTA_SUCCESSFUL: - Serial.println("OTA DS reenabled"); + digitalWrite(OUTPUT_SENSOR, LOW); mode3Active=false; break; default: @@ -699,9 +697,6 @@ void setup() { void loop() { Homie.loop(); - if(mode3Active){ - digitalWrite(OUTPUT_SENSOR, HIGH); - } if(millis() > 30000 && !mode3Active){ Serial << (millis()/ 1000) << "s gone" << endl;