From 428f7949d440047272cfeba3e8ac324753d58f6b Mon Sep 17 00:00:00 2001 From: raw-designs Date: Fri, 10 Jul 2026 19:30:57 +0200 Subject: [PATCH] =?UTF-8?q?State-JSON=20erg=C3=A4nzt=20f=C3=BCr=20PI-Statu?= =?UTF-8?q?s=20am=20UART-Display?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit State-JSON ergänzt für PI-Status am UART-Display --- Changelog.txt | 3 +++ Dual-PID.ino | 3 +++ 2 files changed, 6 insertions(+) diff --git a/Changelog.txt b/Changelog.txt index ada6b4f..60fa24c 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -1,4 +1,7 @@ Version 5.0.12: +- Neues additives Feld "piState" im State-JSON für das UART-Touch-Display (0=inaktiv, 1=Pre-Infusion, + 2=Pause, 3=Hauptbezug): Die Pre-Infusion-Phasenleiste auf dem Display folgt damit quelltreu der echten + Statemachine der Steuerung statt einer zeitbasierten Ableitung (Protokoll bleibt v2, ältere Display-Firmware ignoriert das Feld) - 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 diff --git a/Dual-PID.ino b/Dual-PID.ino index 605b415..a7243e0 100644 --- a/Dual-PID.ino +++ b/Dual-PID.ino @@ -15252,6 +15252,9 @@ static void buildTouchUartStateJson(char *buffer, size_t bufferSize) { dtostrf(steamByTimeTargetSeconds, 4, 1, floatBuf); offset += snprintf(buffer + offset, bufferSize - offset, "\"sbtSecs\":%s,", floatBuf); dtostrf(preInfusionDurationSeconds, 4, 1, floatBuf); offset += snprintf(buffer + offset, bufferSize - offset, "\"piDurSecs\":%s,", floatBuf); dtostrf(preInfusionPauseSeconds, 4, 1, floatBuf); offset += snprintf(buffer + offset, bufferSize - offset, "\"piPauseSecs\":%s,", floatBuf); + // Pre-Infusion-Phase des laufenden Bezugs (0=inaktiv,1=Pre-Infusion,2=Pause,3=Hauptbezug) + // - additives Feld (Protokoll bleibt v2), fuer die Phasenleiste auf dem Touch-Display + offset += snprintf(buffer + offset, bufferSize - offset, "\"piState\":%u,", (unsigned int)currentPreInfusionState); dtostrf(brewByWeightTargetGrams, 4, 1, floatBuf); offset += snprintf(buffer + offset, bufferSize - offset, "\"bbwTarget\":%s,", floatBuf); dtostrf(brewByWeightOffsetGrams, 4, 1, floatBuf); offset += snprintf(buffer + offset, bufferSize - offset, "\"bbwOffset\":%s,", floatBuf);