From 72a0df2444a19e4829886637869d270f2be4a169 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Z=C3=A1le=C5=A1=C3=A1k?= Date: Mon, 26 Apr 2021 13:16:50 +0200 Subject: [PATCH] added thermostat logic task --- ESPtermostat.ino | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/ESPtermostat.ino b/ESPtermostat.ino index 8d7a27c..80add7d 100644 --- a/ESPtermostat.ino +++ b/ESPtermostat.ino @@ -71,9 +71,12 @@ void setup() { startConversion(); // First temp read tasker.setInterval(startConversion, 15000); // read temperature every 15 seconds - //tasker.setTimeout(relayLoop, 5000); tasker.setInterval(otaHandle, 1000); + if(THERMOSTAT){ + tasker.setInterval(thermostatCheck, 1000); + } + //========== Web server setup ========== if(METRICS_EXPORT){ @@ -160,12 +163,13 @@ void notFound(AsyncWebServerRequest *request) { request->send(404, "text/plain", "Not found"); } -//void relayLoop(){ -// byte pin = RELAY_PIN; -// bool led = !digitalRead(pin); -// digitalWrite(pin, led); -// tasker.setTimeout(relayLoop, led ? 3000 : 7000); -//} +void thermostatCheck(){ + if(temperature < (reqTemp - offset)){ + digitalWrite(RELAY_PIN, true); + }else if(temperature > (reqTemp + offset)){ + digitalWrite(RELAY_PIN, false); + } +} void readSensor() { // read the actual temperature after it's been converted