//Helpers String logfile = ""; //Webserver //################################################################################### void setup_webserver(){ httpUpdater.setup(&server, "Licht", "Wecker"); server.on("/log", []() { //Define the handling function for the path server.send(200, "text/plain", logfile); }); server.on("/", handleRootPath); //Associate the handler function to the path server.begin(); //Start the server } void handle_webserver(){ server.handleClient(); //Handling of incoming requests } //Layout //################################################################################### String Meta = ""; String CSS = ""; String Header = "" + Meta + CSS + "Lichtwecker

Licht Wecker

"; String Footer = "


Not for Sale, Prototyp by CHM, Hardware: " + Hardware + ", Software: "+ Software +"
"; String card_start = "
"; String card_end = "
"; void handleRootPath() { //Handler for the rooth path handleArgs(); } //############################################################ //WebPage Args void handleArgs(){ for (int i = 0; i < server.args(); i++) { //write_log(server.argName(i) +" : " +server.arg(i)); if(server.argName(i) == "ntp"){ if(server.arg(i) == "true"){ if (ntp_update != true){ ntp_update = true; write_eeprom(); } } else if (server.arg(i) == "false"){ if (ntp_update != false){ ntp_update = false; write_eeprom(); } } redirect(); break; } else if (server.argName(i) == "ntp_server"){ if (server.arg(i) != ""){ ntp_server = server.arg(i); write_eeprom(); } redirect(); break; } else if(server.argName(i) == "wakeup_time"){ if (server.arg(i) != ""){ wakeup_time = server.arg(i).toInt(); write_eeprom(); } redirect(); break; } else if(server.argName(i) == "a1"){ if(server.arg(i) == "true"){ Clock.turnOnAlarm(1); } else if (server.arg(i) == "false"){ Clock.turnOffAlarm(1); } redirect(); break; } else if(server.argName(i) == "a2"){ if(server.arg(i) == "true"){ Clock.turnOnAlarm(2); } else if (server.arg(i) == "false"){ Clock.turnOffAlarm(2); } redirect(); break; } else if(server.argName(i) == "al1h" && server.argName(i +1) == "al1m"){ al1h = server.arg(i).toInt(); al1m = server.arg(i+1).toInt(); set_alarm1(); redirect(); break; } else if(server.argName(i) == "al2h" && server.argName(i +1) == "al2m"){ al2h = server.arg(i).toInt(); al2m = server.arg(i+1).toInt(); set_alarm2(); redirect(); break; } else if (server.argName(i) == "news"){ if (server.arg(i) != ""){ message_text = server.arg(i); } redirect(); break; } else if(server.argName(i) == "reset" && server.arg(i) == "true"){ print_reset(); ESP.restart(); break; } else if(server.argName(i) == "factory_reset" && server.arg(i) == "true"){ reset_eeprom(); print_reset(); delay(1000); ESP.restart(); break; } } print_website(); } //Webpage //################################################################################### void print_website(){ bool A1 = Clock.checkAlarmEnabled(1); bool A2 = Clock.checkAlarmEnabled(2); String Alarm1 = "Alarm 1:
:
Sommerzeit: " + getBoolString(summer) + "
Aktiv: " + getBoolString(A1) + "
Aktivieren " + "  Deaktivieren"; String Alarm2 = "Alarm 2:
:
Sommerzeit: " + getBoolString(summer) + "
Aktiv: " + getBoolString(A2) + "
Aktivieren " + "  Deaktivieren"; String Weckzeit = "Weckdauer (Minuten):
"; String Alarm = "

Alarm

" + Alarm1 + "

" + Alarm2 + "

" + Weckzeit; String Zeit = "

Zeit

" + String(h) + ":" + String(m) + ":" + String(s) + " - " + String(d) + "." + String(M) + "." + String(y) + " | DST: " + String(summertime_EU(y,M,d,h,1)); String News = "

Nachricht

Diese Nachricht wird auf dem Display angezeigt!

"; String NTP = "

NTP

Server:

stündliches Zeit Update: " + getBoolString(ntp_update) + "
Aktivieren " + "  Deaktivieren"; String Reboot = "

System:

Neustart

Software Update Modus

Werkseinstellungen

Log

Weitere Informationen

Support"; String Body = card_start + Alarm + card_end + card_start + News + card_end + card_start + NTP + card_end + card_start + Reboot + card_end; server.send(200, "text/html", Header + Body + Footer); } void print_reset(){ String Body = "
Neustart... Neu laden
"; server.send(200, "text/html", Header + Body + Footer); delay(500); } void redirect(){ String redirect = ""; server.send(200, "text/html", redirect); delay(50); } //Helpers //#################################################################################### String getBoolString(bool value){ if(value) { return "Ja"; } return "Nein"; } void write_log(String text){ Serial.println(text); logfile = logfile + String(text) + "\r\n"; if (logfile.length() > 140000) { logfile = logfile.substring((logfile.length()-100000)); } }