diff --git a/data/index.html b/data/index.html
index a70d0d8..b87e189 100644
--- a/data/index.html
+++ b/data/index.html
@@ -177,10 +177,10 @@
const now = Date.now();
if (data.button === "stop1" && status1 === "running") {
timer1 += (now - lastSync) / 1000;
- status1 = "stopped";
+ status1 = "finished";
} else if (data.button === "stop2" && status2 === "running") {
timer2 += (now - lastSync) / 1000;
- status2 = "stopped";
+ status2 = "finished";
}
kickDisplayScheduler();
syncFromBackend();
@@ -820,14 +820,19 @@
}
}
+ const validStatuses = ["ready", "running", "finished", "armed"];
+
function syncFromBackend() {
fetch("/api/data")
.then((response) => response.json())
.then((data) => {
timer1 = data.time1;
timer2 = data.time2;
- status1 = data.status1;
- status2 = data.status2;
+ // Status nur übernehmen, wenn der Wert gültig ist.
+ // Bei unvollständiger ESP-Response (Last) bleibt der
+ // bisherige Status erhalten statt "Status unbekannt".
+ if (validStatuses.includes(data.status1)) status1 = data.status1;
+ if (validStatuses.includes(data.status2)) status2 = data.status2;
best1 = data.best1;
best2 = data.best2;
learningMode = data.learningMode;
diff --git a/src/master.cpp b/src/master.cpp
index a93f7e2..979d931 100644
--- a/src/master.cpp
+++ b/src/master.cpp
@@ -24,7 +24,7 @@
#include
#include
-const char *firmwareversion = "1.1.0"; // Version der Firmware
+const char *firmwareversion = "1.1.1"; // Version der Firmware
// moved to preferencemanager.h