diff --git a/data/index.html b/data/index.html index 6023998..f6e4f2c 100644 --- a/data/index.html +++ b/data/index.html @@ -41,7 +41,7 @@ - + diff --git a/include/dwdwx.h b/include/dwdwx.h index fbb3b18..85f5f39 100644 --- a/include/dwdwx.h +++ b/include/dwdwx.h @@ -20,8 +20,6 @@ private: bool _dirty; unsigned long lastCheck = 0; unsigned long checkInterval = 300000; - String lastMessage; - String dwdwxData; // String dashboardUrl; String url; diff --git a/src/dwdwx.cpp b/src/dwdwx.cpp index 0b990d4..4f7c8ab 100644 --- a/src/dwdwx.cpp +++ b/src/dwdwx.cpp @@ -9,7 +9,7 @@ DWDWXClient::DWDWXClient(WiFiClient *client) void DWDWXClient::begin(int intervalMinutes, float latitude, float longitude) { // this->message = - this->url = "https://api.open-meteo.com/v1/forecast?latitude="; + this->url = "http://api.open-meteo.com/v1/forecast?latitude="; this->url.concat(latitude); this->url.concat("&longitude="); this->url.concat(longitude); @@ -42,7 +42,7 @@ bool DWDWXClient::check() { Serial.println("[DWDWX]: checking " + this->url); this->_http.begin(this->url); - + this->_http.setConnectTimeout(15e3); int httpCode = this->_http.GET(); if (httpCode > 0) @@ -55,11 +55,7 @@ bool DWDWXClient::check() } this->currentMessage = this->parseJSON(this->dwdwxData); Serial.println("[DWDWX]: Current Message = " + this->currentMessage); - if (this->currentMessage.equals(this->lastMessage) == false) - { - this->_dirty = true; - this->lastMessage = this->currentMessage; - } + this->_dirty = true; this->_http.end(); return true; } @@ -92,11 +88,11 @@ String DWDWXClient::parseJSON(String jsonData) doc[keyCurrent][keyWX_Temperature].as(), doc[keyCurrent][keyWX_Humidity].as(), doc[keyCurrent][keyWX_WindDir].as(), doc[keyCurrent][keyWX_WindSpeed].as(), doc[keyCurrent][keyWX_WindGusts].as(), doc[keyCurrent][keyWX_PressureMSL].as(), - doc[keyCurrent][keyWX_CloudCover].as() + doc[keyCurrent][keyWX_CloudCover].as() ); wxRes.clear(); wxRes.concat(wx_messageBuffer); - delete []wx_messageBuffer; + // delete []wx_messageBuffer; return wxRes; } return emptyString; diff --git a/src/main.cpp b/src/main.cpp index 5da5f07..023771b 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -400,7 +400,7 @@ void setup_broadcasts() #ifdef SMART_POC_MODULE_DWD_WX // DWD if (globcfg.dwdwx_enable) - dwdWXClient.begin(5, globcfg.dwdwx_lat, globcfg.dwdwx_lng); + dwdWXClient.begin(60*6, globcfg.dwdwx_lat, globcfg.dwdwx_lng); #endif #ifdef SMART_POC_MODULE_MOWAS // MoWaS @@ -453,8 +453,7 @@ void broadcast_loop() #endif char *messageText = new char[currentMessage.length() + 1]{}; currentMessage.toCharArray(messageText, currentMessage.length() + 1); - Serial.println(F("[DWD-WX] Transmitting Warning")); - Serial.println(messageText); + Serial.println(F("[DWD-WX] Transmitting")); transmitter.queuePage(globcfg.broadcast_ric, globcfg.dwdwx_fun + 0, messageText); delete []messageText; dwdWXClient.currentMessage.clear(); diff --git a/src/webserver.cpp b/src/webserver.cpp index 8413d30..92c4c96 100644 --- a/src/webserver.cpp +++ b/src/webserver.cpp @@ -394,19 +394,19 @@ static void redirectHomeResponse(AsyncWebServerRequest *request, String location bool idle_enable; int idle_interval, idle_mode; cfg_startTransaction(); - if (request->hasArg("idle_enable")) { - idle_enable = request->arg("idle_enable").equals("on"); - cfg_adjust("idle_enable", idle_enable); + if (request->hasArg(cfgKeyIdleEnable.c_str())) { + idle_enable = request->arg(cfgKeyIdleEnable).equals("on"); + cfg_adjust(cfgKeyIdleEnable, idle_enable); } else { - cfg_adjust("idle_enable", false); + cfg_adjust(cfgKeyIdleEnable, false); } - if (request->hasArg("idle_interval")) { - idle_interval = request->arg("idle_interval").toInt(); - cfg_adjust("idle_interval", idle_interval); + if (request->hasArg(cfgKeyIdleInterval.c_str())) { + idle_interval = request->arg(cfgKeyIdleInterval).toInt(); + cfg_adjust(cfgKeyIdleInterval, idle_interval); } - if (request->hasArg("idle_mode")) { - idle_mode = request->arg("idle_mode").toInt(); - cfg_adjust("idle_mode", idle_mode); + if (request->hasArg(cfgKeyIdleMode.c_str())) { + idle_mode = request->arg(cfgKeyIdleMode).toInt(); + cfg_adjust(cfgKeyIdleMode, idle_mode); } cfg_write(); redirectHomeResponse(request, "/#idle");