feat: eigene Cold-Extraction-Seite in Web-UI und Display (S3 5.4.0 / P4 1.2.0)
Cold Extraction bekommt in beiden Oberflächen einen eigenen Menüpunkt statt eines angehängten Blocks auf der Brew-Control-Seite. Die Parameter sind damit erstmals auch am Touch-Display änderbar. S3: neue Seite /Cold-Extraction, gegliedert in Grundeinstellung, Vorbenetzung, Hauptbezug, Bezugsende und Pumpenschutz, jeder Abschnitt mit kurzer Begründung. /Brew-Control verweist nur noch darauf. Das UART-Kommando saveBrew akzeptiert jetzt die cx-Felder, und das State-JSON liefert die restlichen Parameter mit, damit das Display seine Felder vorbelegen kann. Wichtig: Der Speicher-Handler von /Brew-Control wertet die cx-Felder nicht mehr aus. Er tat es bisher, und nach dem Verschieben der Checkbox hätte ein Speichern dort die Freischaltung abgeschaltet, weil das Feld im Formular fehlt. P4: neue Seite "Cold Extraction" mit allen Parametern; der Modus-Schalter ist von der Temperatur-Seite dorthin umgezogen, damit es nur eine Stelle gibt. Die Brew-Control- Seite ist neu gegliedert: jede Funktion in einer eigenen Karte mit Titel und einer Zeile, die erklärt was sie tut, statt einer durchlaufenden Liste unter Zwischenüberschriften. Neues Hilfsmakro group_card() für beide Seiten. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
537f1d4c20
commit
2d8f70ae37
@@ -340,9 +340,12 @@ Das P4-UI sollte `cxActive` deshalb dauerhaft sichtbar spiegeln — sonst wunder
|
||||
Benutzer, warum die Maschine nicht heizt. Ein laufender Bezug wird nie abgebrochen,
|
||||
`stopColdExtraction` schlägt dann fehl.
|
||||
|
||||
Die Parameter der kalten Extraktion (Schwelle, Vorbenetzung, Pulsperiode, Pumpenleistung,
|
||||
Zielgewicht, Timeout, Pumpenschutz) sind bewusst **nicht** über `saveBrew` erreichbar, sondern
|
||||
nur über die Web-Seite `/Brew-Control`. Das Display schaltet den Modus, konfiguriert ihn nicht.
|
||||
Die Parameter der kalten Extraktion sind ab S3 5.4.0 über `saveBrew` einstellbar (zusätzlich
|
||||
zur Web-Seite `/Cold-Extraction`). Zulässige Felder: `cxEnabled` (bool), `cxMaxTemp`,
|
||||
`cxPreInf`, `cxPreInfDuty`, `cxPulseMs`, `cxDuty`, `cxTarget`, `cxMaxSecs`, `cxPumpMaxRun`,
|
||||
`cxPumpRest`. Es werden nur die tatsächlich gesendeten Felder übernommen; Grenzwerte prüft
|
||||
die S3. Die aktuellen Werte stehen alle im `state`, damit das Display seine Eingabefelder
|
||||
vorbelegen kann.
|
||||
|
||||
**Persistente Toggles**
|
||||
|
||||
@@ -397,7 +400,12 @@ Aus `getTouchUartStatus()`. Für sprach-unabhängige UI-Logik/Icons auf dem P4 v
|
||||
| `cxResting` | bool | Zwangspause des Pumpenschutzes läuft (Bezug läuft weiter) |
|
||||
| `cxMaxTemp` | float | Freigabeschwelle in °C (für eigene Hinweistexte am Display) |
|
||||
| `cxTarget` | float | Zielgewicht in g |
|
||||
| `cxPreInf` | float | Vorbenetzung in s (für die Phasenleiste des kalten Bezugs) |
|
||||
| `cxPreInf` | float | Vorbenetzung in s (auch für die Phasenleiste des kalten Bezugs) |
|
||||
| `cxPreInfDuty` | float | Pumpenleistung Vorbenetzung in % (ab S3 5.4.0) |
|
||||
| `cxDuty` | float | Pumpenleistung Hauptbezug in % (ab S3 5.4.0) |
|
||||
| `cxPulseMs` | uint16 | Pulsperiode in ms (ab S3 5.4.0) |
|
||||
| `cxPumpMaxRun` | float | Pumpenschutz: max. kumulierte Laufzeit in s (ab S3 5.4.0) |
|
||||
| `cxPumpRest` | float | Pumpenschutz: Zwangspause in s (ab S3 5.4.0) |
|
||||
| `cxMaxSecs` | float | Sicherheits-Timeout des Bezugs in s |
|
||||
| `cxBlock` | uint8 | Sperrgrund (siehe unten), `0` = frei |
|
||||
| `cxNotice` | uint8 | transiente Meldung, `0` = keine (läuft nach ~6 s selbst ab) |
|
||||
|
||||
Reference in New Issue
Block a user