diff --git a/build/esp8266.esp8266.d1/Smart_Terarium.ino.bin b/build/esp8266.esp8266.d1/Smart_Terarium.ino.bin new file mode 100644 index 0000000..983499b Binary files /dev/null and b/build/esp8266.esp8266.d1/Smart_Terarium.ino.bin differ diff --git a/setting.h b/setting.h index 685dd5a..84dc698 100644 --- a/setting.h +++ b/setting.h @@ -1,6 +1,8 @@ String pageSettings() { - String ptr = " \n"; + + + ptr += "\n"; ptr += "\n"; ptr += ""; @@ -15,8 +17,8 @@ String pageSettings() { ptr += "

Terarium - nastavení

\n"; - ptr += "
Verze: " + String(version) + "
"; - ptr += "
Aktuální čas: " + time_getFormattedTime() + "
\n"; + ptr += "

Verze: " + String(version) + "

"; + ptr += "

Aktuální čas: " + time_getFormattedTime() + "

\n"; ptr += "
Zpět na přehled
"; @@ -46,7 +48,7 @@ String pageSettings() { // rele 2 ptr += "
\n"; - ptr += "
"; + ptr += "
"; ptr += "Relé 2:"; ptr += "\n"; ptr += "
povoleno\n"; - ptr += "
\n"; - ptr += "\n"; - ptr += "\n"; + ptr += "
"; + ptr += "Čas:"; + ptr += "\n"; + ptr += "\n"; + ptr += "
Letní čas"; + ptr += "
\n"; + ptr += "
"; + ptr += "
\n"; ptr += "\n"; diff --git a/time.h b/time.h index 6ad816d..29b40da 100644 --- a/time.h +++ b/time.h @@ -22,7 +22,12 @@ void time_client_setup() { // GMT +8 = 28800 // GMT -1 = -3600 // GMT 0 = 0 - timeClient.setTimeOffset(2*3600); + int timezone = pref.getString("timezone", "0").toInt(); + int offset = timezone * 3600; + if(pref.getBool("summer_time", false)) { + offset = offset + 3600; + } + timeClient.setTimeOffset(offset); } void time_client_update() { diff --git a/webserver.h b/webserver.h index 9d71033..9ad0766 100644 --- a/webserver.h +++ b/webserver.h @@ -143,10 +143,18 @@ void handle_setting_save(AsyncWebServerRequest *request) { Serial.println("Save settings relay 4"); } - // ntp + // time if (request->hasParam("ntp", true)) { - pref.putString("ntp", request->getParam("ntp", true)->value()); - Serial.println("Save settings NTP"); + pref.putString("ntp", request->getParam("ntp", true)->value()); + pref.putString("timezone", request->getParam("timezone", true)->value()); + if (request->hasParam("summer_time", true)) { + pref.putBool("summer_time", true); + } else { + pref.putBool("summer_time", false); + } + + Serial.println("Save settings time"); + } AsyncWebServerResponse *response = request->beginResponse(302, "text/plain", "");