From 4ea67effcce9f9e6784b18649d49f9a35f366811 Mon Sep 17 00:00:00 2001 From: DanielR92 Date: Thu, 13 Oct 2022 17:18:54 +0200 Subject: [PATCH] if rules change, remove parsefloat and insert script in html to remove SunriseSunset when no data exist. --- tools/esp8266/html/index.html | 13 +++++++++++-- tools/esp8266/html/setup.html | 4 ++-- tools/esp8266/web.cpp | 13 ++++++++++--- 3 files changed, 23 insertions(+), 7 deletions(-) diff --git a/tools/esp8266/html/index.html b/tools/esp8266/html/index.html index 048e85d1..1cb997e6 100644 --- a/tools/esp8266/html/index.html +++ b/tools/esp8266/html/index.html @@ -18,8 +18,12 @@

Uptime:

ESP-Time:

-

Sunrise:

-

Sunset:

+
+ Sunrise:
+ Sunset: +
+ +

RSSI: dBm

Statistics: @@ -69,6 +73,11 @@ document.getElementById("date").innerHTML = date.toLocaleString('de-DE', {timeZone: 'UTC'}); document.getElementById("sunrise").innerHTML = sunrise.toLocaleString('de-DE', {timeZone: 'UTC'}); document.getElementById("sunset").innerHTML = sunset.toLocaleString('de-DE', {timeZone: 'UTC'}); + + if(!obj["ts_sun_upd"]) { + var elem = document.getElementById("sun"); + elem.parentNode.removeChild(elem); + } } function parseStat(obj) { diff --git a/tools/esp8266/html/setup.html b/tools/esp8266/html/setup.html index 7e7de2be..1bb806b3 100644 --- a/tools/esp8266/html/setup.html +++ b/tools/esp8266/html/setup.html @@ -252,8 +252,8 @@ function parseSun(obj) { document.getElementsByName("sunDisNightCom")[0].checked = obj["disnightcom"] ? true : false; - document.getElementsByName("sunLat")[0].value = parseFloat(obj["lat"]); - document.getElementsByName("sunLon")[0].value = parseFloat(obj["lon"]); + document.getElementsByName("sunLat")[0].value = obj["lat"]; + document.getElementsByName("sunLon")[0].value = obj["lon"]; } function parsePinout(obj) { diff --git a/tools/esp8266/web.cpp b/tools/esp8266/web.cpp index 22d3db12..3c1f3354 100644 --- a/tools/esp8266/web.cpp +++ b/tools/esp8266/web.cpp @@ -273,9 +273,16 @@ void web::showSave(AsyncWebServerRequest *request) { } // sun - if(request->arg("sunDisNightCom") != "") mConfig->sunDisNightCom = (request->arg("sunDisNightCom") == "on"); - if(request->arg("sunLat") != "") mConfig->sunLat = request->arg("sunLat").toFloat(); - if(request->arg("sunLon") != "") mConfig->sunLon = request->arg("sunLon").toFloat(); + if(request->arg("sunLat") == "" || (request->arg("sunLon") == "")) { + mConfig->sunLat = 0.0; + mConfig->sunLon = 0.0; + mConfig->sunDisNightCom = false; + } else { + mConfig->sunLat = request->arg("sunLat").toFloat(); + mConfig->sunLon = request->arg("sunLon").toFloat(); + mConfig->sunDisNightCom = (request->arg("sunDisNightCom") == "on"); + } + // mqtt if(request->arg("mqttAddr") != "") {