diff --git a/ESPtermostat.ino b/ESPtermostat.ino index f854b21..a15f6d3 100644 --- a/ESPtermostat.ino +++ b/ESPtermostat.ino @@ -33,7 +33,7 @@ float correction[3] = {CORRECTION1, CORRECTION2, CORRECTION3}; void setup() { -//========== Wi-Fi setup ========== + //========== Wi-Fi setup ========== WiFi.mode(WIFI_STA); WiFi.begin(STASSID, STAPSK); @@ -42,8 +42,8 @@ void setup() { delay(5000); ESP.restart(); } - -//========== OTA setup ========== + + //========== OTA setup ========== // Port defaults to 8266 // ArduinoOTA.setPort(8266); @@ -59,117 +59,117 @@ void setup() { // ArduinoOTA.setPasswordHash("21232f297a57a5a743894a0e4a801fc3"); ArduinoOTA.begin(); SPIFFS.begin(); -//========== Pin setup ========== + //========== Pin setup ========== pinMode(RELAY_PIN, OUTPUT); pinMode(LED_PIN, OUTPUT); digitalWrite(LED_PIN, HIGH); -//========== Sensor setup ========== + //========== Sensor setup ========== sensor.begin(); // do not block during temperature conversion sensor.setWaitForConversion(false); -//========== Tasks init ========== + //========== Tasks init ========== startConversion(); // First temp read tasker.setInterval(startConversion, 15000); // read temperature every 15 seconds tasker.setInterval(otaHandle, 1000); - if(THERMOSTAT){ + if (THERMOSTAT) { tasker.setInterval(thermostatCheck, 1000); } -//========== Web server setup ========== + //========== Web server setup ========== - if(METRICS_EXPORT || API){ - if(METRICS_EXPORT){ - server.on("/metrics", HTTP_GET, [](AsyncWebServerRequest *request){ - tasker.setTimeout(ledBlink, 10); - request->send(200, "text/plain; charset=utf-8", metrics); + if (METRICS_EXPORT || API) { + if (METRICS_EXPORT) { + server.on("/metrics", HTTP_GET, [](AsyncWebServerRequest * request) { + tasker.setTimeout(ledBlink, 10); + request->send(200, "text/plain; charset=utf-8", metrics); }); } - if(API){ - server.on("/set", HTTP_GET, [](AsyncWebServerRequest *request){ + if (API) { + server.on("/set", HTTP_GET, [](AsyncWebServerRequest * request) { //nutno nastavit maxima a minima - + String repply; - - if(THERMOSTAT){ + + if (THERMOSTAT) { if (request->hasParam("increasereqtemp")) { reqTemp += request->getParam("increasereqtemp")->value().toFloat(); repply = String(reqTemp); - }else if (request->hasParam("decreasereqtemp")) { + } else if (request->hasParam("decreasereqtemp")) { reqTemp -= request->getParam("decreasereqtemp")->value().toFloat(); repply = String(reqTemp); - }else if (request->hasParam("increaseoffset")) { + } else if (request->hasParam("increaseoffset")) { offset += request->getParam("increaseoffset")->value().toFloat(); repply = String(offset); - }else if (request->hasParam("decreaseoffset")) { + } else if (request->hasParam("decreaseoffset")) { offset -= request->getParam("decreaseoffset")->value().toFloat(); repply = String(offset); - }else{ + } else { repply = "unknown parameter"; } - }else{ + } else { if (request->hasParam("relay")) { boolean state = request->getParam("relay")->value() == "0"; digitalWrite(RELAY_PIN, state); repply = "success"; - }else{ + } else { repply = "unknown parameter"; } } - + request->send(200, "text/plain; charset=utf-8", repply); }); - server.on("/get", HTTP_GET, [](AsyncWebServerRequest *request){ + server.on("/get", HTTP_GET, [](AsyncWebServerRequest * request) { //nutno vyřešit dotazy na více parametrů najednou String repply; - - if(request->hasParam("temp")) { + + if (request->hasParam("temp")) { repply = String(avgTemperature); - }else if(request->hasParam("relay")){ + } else if (request->hasParam("relay")) { repply = String(heating); - }else if(THERMOSTAT && request->hasParam("reqtemp")){ + } else if (THERMOSTAT && request->hasParam("reqtemp")) { repply = String(reqTemp); - }else if(THERMOSTAT && request->hasParam("offset")) { + } else if (THERMOSTAT && request->hasParam("offset")) { repply = String(offset); - }else{ + } else { repply = "unknown parameter"; } - + request->send(200, "text/plain; charset=utf-8", repply); }); } - if(API && WEBAPP){ - server.serveStatic("/", SPIFFS, "/").setDefaultFile("index.html"); + if (API && WEBAPP) { + server.serveStatic("/", SPIFFS, "/").setDefaultFile("index.html"); } - + server.onNotFound(notFound); server.begin(); } -//================================= + //================================= } void loop() { tasker.loop(); } -void otaHandle(){ +void otaHandle() { ArduinoOTA.handle(); } void notFound(AsyncWebServerRequest *request) { - request->send(404, "text/plain", "Not found"); + request->send(404, "text/plain", "Not found"); } -void thermostatCheck(){ - if(avgTemperature <= (reqTemp - offset)){ +void thermostatCheck() { + if (avgTemperature <= (reqTemp - offset)) { heating = 1; digitalWrite(RELAY_PIN, !heating); - }else if(avgTemperature >= (reqTemp + offset)){ + } else if (avgTemperature >= (reqTemp + offset)) { heating = 0; digitalWrite(RELAY_PIN, !heating); } @@ -181,10 +181,10 @@ void readSensor() { float temperature[ds18Count]; float avgTemperature; int savedTemperatures = 0; - - for(int i=0; i