This commit is contained in:
2025-08-24 09:11:23 +02:00
parent a0d2e03058
commit e670ec0e13
2 changed files with 45 additions and 7 deletions

View File

@@ -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 <ESP8266WiFi.h>
#include <ESPAsyncTCP.h>
#include <ESPAsyncWebServer.h>
#include <AsyncElegantOTA.h>
#include <ElegantOTA.h>
#include <DNSServer.h>
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) {

View File

@@ -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(
</span>
</div>
</div>
<input id="d" type='text' style='width:80%;font-size:0.75rem;' value=''>
<input id="d" type='text' style='width:80%;font-size:0.75rem;display:none;' value=''>
<div class='option m50'>
<input class="fs17" id="save" class="btn" type='button' value='dauerhaft speichern' onclick='save();'>
</div>