From 5733302704ff0c8776c1a5e5324b1cc7c98c7641 Mon Sep 17 00:00:00 2001 From: raw-designs Date: Fri, 10 Jul 2026 19:01:27 +0200 Subject: [PATCH] Wartungsmodus- und Standby-Optimierungen MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Wartungsmodus wird nun (wie auch bereits der ECO-Modus) beendet, sobald in den Standby gewechselt wird. Dampf permanent Heizen (sofern aktiviert) wurde auch im Wartungsmodus durchgeführt, wodurch eine korrekte Reinigung des Dampfkreislaufs nicht möglich war - Behoben. --- Changelog.txt | 4 ++++ Dual_PID_FastHeatUp.ino | 9 +++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/Changelog.txt b/Changelog.txt index c4f9a3b..ada6b4f 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -1,3 +1,7 @@ +Version 5.0.12: +- Wartungsmodus und Eco-Modus werden beim Wechsel in den Standby nun beendet (Eco wurde bereits beendet, der Wartungsmodus blieb bislang aktiv) +- Bug-Fix: Im Wartungsmodus heizte der Dampfkreis trotz deaktivierter Heizung dauerhaft, wenn die Option „Permanent heizen bei Dampf-Bezug" aktiv war und Dampf bezogen wurde + Version 5.0.11: - Bug-Fix: Dauerhafter Neustart (Panic/Exception) der Steuerung, sobald das UART-Touch-Display (P4) angeschlossen wurde. Ursache: Stack-Überlauf im loopTask – der 3000-Byte-Puffer für das State-JSON (touchUartSendState) sowie der Puffer diff --git a/Dual_PID_FastHeatUp.ino b/Dual_PID_FastHeatUp.ino index f3470a6..605b415 100644 --- a/Dual_PID_FastHeatUp.ino +++ b/Dual_PID_FastHeatUp.ino @@ -354,7 +354,7 @@ Adafruit_SH1106G display = Adafruit_SH1106G(128, 64, &Wire); * Firmware-Informationen ************************************************************************************/ -String version = "5.0.11"; +String version = "5.0.12"; String versionHersteller = "Thomas Müller"; String versionHerstellerMail = "thomas@mueller.black"; @@ -4787,6 +4787,11 @@ void loop() { ecoModeAktiv = false; ecoModeActivatedTime = 0; } + // Wartungsmodus beim Wechsel in den Standby beenden (Setpoints werden beim + // Standby-Ende ohnehin aus dem EEPROM wiederhergestellt) + if (wartungsModusAktiv) { + wartungsModusAktiv = false; + } } else if (lastStandbyModeActive) { startupTime = currentMillis; ecoForcedActive = false; @@ -4937,7 +4942,7 @@ void loop() { } else { if (now - windowStartTimeDampf > windowSizeDampf) { windowStartTimeDampf = now; } - if (steamHeatOnDraw && steamCircuitSwitchOn) { + if (steamHeatOnDraw && steamCircuitSwitchOn && !wartungsModusAktiv) { digitalWrite(SSR_DAMPF_PIN, HIGH); } else { // Pruefe, ob die Verzoegerung aktiv UND NICHT ueberschrieben ist