From e670ec0e135e9d5c7968a966c8af58830218cce4 Mon Sep 17 00:00:00 2001 From: "NTEN\\Nenninger" Date: Sun, 24 Aug 2025 09:11:23 +0200 Subject: [PATCH] V.2.21 --- ESPNTUhrPx.ino | 49 ++++++++++++++++++++++++++++++++++++++++++++----- index_html.h | 3 +-- 2 files changed, 45 insertions(+), 7 deletions(-) diff --git a/ESPNTUhrPx.ino b/ESPNTUhrPx.ino index fc89f3d..d8deae1 100644 --- a/ESPNTUhrPx.ino +++ b/ESPNTUhrPx.ino @@ -1,4 +1,4 @@ -#define VERSION (char *) "V2.20" +#define VERSION (char *) "V2.21" /* V2.12 230205 neues SDK 8266; AP+Wifi Client; lokaleip eingebaut @@ -10,6 +10,7 @@ V2.18 230313 Sommerzeitprüfung auch offline eingebaut; Auf doRTCSecond umgebaut; V2.19 230327 Sommerzeit stellt die Uhr jetzt auch vor (nicht zurück); neues SDK V2.20 230331 OV-Alzenau in RST Karlstadt geändert (Name beim Booten) + V2.21 231111 Begrüßungs OV kann jetzt mit "/do?set=owner&to=" gewählt werden (0=OALZ,1=ODES,default=RKST); Debug Zeile ausgeblendet; */ // Pins for LED MATRIX @@ -38,7 +39,7 @@ #include #include #include -#include +#include #include AsyncWebServer webServer(80); DNSServer dnsServer; @@ -104,6 +105,8 @@ char ChipID[10] = "ERROR"; bool withSeconds = true; bool alwaysAccessPoint = true; + uint8_t owner = 0; + // ISR for display refresh void display_updater(){ display.display(display_draw_time); @@ -188,6 +191,20 @@ void showOVALZ(void){ spalte += Out5x7Char('u',spalte,zeile,255,255,255)+1; } +void showOVDESSAU(void){ + uint8_t zeile=20; + uint8_t spalte=8; + spalte += Out5x7Char('O',spalte,zeile,255,255,255)+1; + spalte += Out5x7Char('V',spalte,zeile,255,255,255)+1; + spalte += Out5x7Char('-',spalte,zeile,255,255,255)+1; + spalte += Out5x7Char('D',spalte,zeile,255,255,255)+1; + spalte += Out5x7Char('e',spalte,zeile,255,255,255)+1; + spalte += Out5x7Char('s',spalte,zeile,255,255,255)+1; + spalte += Out5x7Char('s',spalte,zeile,255,255,255)+1; + spalte += Out5x7Char('a',spalte,zeile,255,255,255)+1; + spalte += Out5x7Char('u',spalte,zeile,255,255,255)+1; +} + void showNTOOLS(void){ uint8_t zeile=5; uint8_t spalte=10; @@ -695,13 +712,27 @@ void setup() { EEPROM.get(201,pass); EEPROM.get(151,appass); + EEPROM.get(255,owner); + display.begin(16); display.setBrightness(ceil(255 * brightness)); display.setFastUpdate(true); doClearLEDs(true); + switch(owner){ + case 0: + showOVALZ(); + break; + case 1: + showOVDESSAU(); + break; + default: + showRST(); + + } //showOVALZ(); - showRST(); + //showOVDESSAU(); + //showRST(); showNTOOLS(); display_update_enable(true); @@ -830,7 +861,7 @@ void setup() { webServer.on("/poll", HTTP_GET, [] (AsyncWebServerRequest *request) {html_poll(request);}); //webServer.on("/resetAP", HTTP_GET, [] (AsyncWebServerRequest *request) {html_resetAP(request);}); - AsyncElegantOTA.begin(&webServer); // Start AsyncElegantOTA + ElegantOTA.begin(&webServer); // Start AsyncElegantOTA webServer.begin(); if(rtcEnabled) @@ -890,6 +921,8 @@ void loop(){ } if(APEnabled) dnsServer.processNextRequest(); + + ElegantOTA.loop(); } //alles was WEB ist ... @@ -1084,6 +1117,11 @@ void html_do(AsyncWebServerRequest *request) { } } + }else if((s_set == "owner")& (request->hasParam(PARAM_TO))) { + s_value = request->getParam(PARAM_TO)->value(); + owner = s_value.toInt(); + EEPROM.put(255,owner); + EEPROMDataNotSaved = true; } request->send(200, "text/plain", "OK"); lastminutes = -1; @@ -1095,8 +1133,9 @@ void html_do(AsyncWebServerRequest *request) { request->send(200, "text/plain", "OK"); delay(1000); ESP.restart(); + }else{ + request->send(200, "text/plain", "NOK"); } - request->send(200, "text/plain", "NOK"); } void html_resetAP(AsyncWebServerRequest *request) { diff --git a/index_html.h b/index_html.h index 738cd66..0b8802f 100644 --- a/index_html.h +++ b/index_html.h @@ -139,7 +139,6 @@ const char html_page_index[] PROGMEM = R"rawliteral( position: relative; text-decoration: none; text-transform: uppercase; - width: 100%; padding: 0.25rem 0.5rem; @media(min-width: 600px) { margin: 0 1em 2em; @@ -238,7 +237,7 @@ const char html_page_index[] PROGMEM = R"rawliteral( - +