diff --git a/html/upgrade.html b/html/upgrade.html
index e35e495..e976218 100644
--- a/html/upgrade.html
+++ b/html/upgrade.html
@@ -206,10 +206,10 @@
progress.textContent = '100%';
// Automatischer Neustart nach erfolgreicher Aktualisierung
- status.textContent = "Update successful! Restarting device...";
+ status.textContent = "Update successful! Restarting device... The page will reload in 30 seconds.";
setTimeout(() => {
- window.location.reload();
- }, 5000);
+ window.location.href = '/';
+ }, 30000);
} else {
document.querySelectorAll('form input[type=submit]').forEach(btn => btn.disabled = false);
}
diff --git a/src/website.cpp b/src/website.cpp
index 14693a0..e38b32f 100644
--- a/src/website.cpp
+++ b/src/website.cpp
@@ -438,12 +438,17 @@ void setupWebserver(AsyncWebServer &server) {
return;
}
- // Update OLED Display alle 25%
+ // Update OLED Display alle 5% und Webseite bei jeder Ă„nderung
static int lastProgress = -1;
int currentProgress = (index + len) * 100 / updateSize;
- if (currentProgress % 25 == 0 && currentProgress != lastProgress) {
+ if (currentProgress != lastProgress) {
+ // OLED nur alle 5% aktualisieren
+ if (currentProgress % 5 == 0) {
+ oledShowMessage(String(currentProgress) + "% complete");
+ }
+ // Webseite bei jeder Ă„nderung aktualisieren
lastProgress = currentProgress;
- oledShowMessage(String(currentProgress) + "% complete");
+ ws.textAll("{\"type\":\"updateProgress\",\"progress\":" + String(currentProgress) + "}");
}
}