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);