ESP32 Arduino 3.3.11 ESP-IDF v5.5.5
VSCode 1.130 pioarduino IDE 1.4.4
InnuAPID AutoTune PID lib 1.10.19
InnuTask lib 1.10.19
InnuNextion Display lib 0.9
InnuMax31865 Sensor lib 0.2
InnuLog Debug lib serial monitor
InnuFramework CSS/JS bootstrap 5.3.8
Version 1.65.2
- Update: Arduino v3.3.11 ESP-IDF v5.5.5
- Update: ESPAsyncWebServer 3.11.2
- Update: AsyncTCP 3.5.0
- Update: VSCode 1.130
Version 1.65.1
- Neu: neues modernes Fullscreen Dashboard Desktop & Tablet
- Neu: neues Dashboard Smartphone
- Neu: Dashboard Export/Import für komplette Brautage im Power-Off-Zustand
- Neu: API Routen für Brautag-Export, Brautag-Import, kompakte Telemetry und Debug-Snapshot implementiert
- Korrektur: Fermenter-Pause/Resume greift nicht mehr außerhalb des PID-Arrays zu
- Korrektur: manueller Fermenter-Start wird nicht mehr fälschlich als erfolgreicher PID-Start akzeptiert
- Korrektur: Fermenter-Rezeptwerte werden beim Lesen und Schreiben plausibilisiert
- Korrektur: AutoTune-Konvergenzzustand wird zwischen Läufen vollständig zurückgesetzt
- Korrektur: Profilwechsel und PID-Konfiguration verwenden einen gemeinsamen Synchronisationspfad
- Korrektur: PID-Steigrate nutzt den tatsächlichen Zyklusabstand
- Optimiert: Runtime-/SSE-Serialisierung, Upload-State-Handling und interne Helper bereinigt
- Geändert: Breiter Runtime-Snapshot aus Telemetry in Debug-API verschoben; Telemetry liefert nur noch kompakte Chart-/Logging-Werte
- Geändert: Brautag-Export verwendet Dateinamen mit Brautomat32, Planname, Modus sowie lokalem Datum und lokaler Uhrzeit
- Geändert:
/editaus PROGMEM nach LittleFS verschoben und in WebUpdate aufgenommen
Version 1.64.4
- Korrektur: Kessel starten ohne aktiven Resume-State sicher ausgeschaltet
- Korrektur: Webhook-Kessel erhalten beim Hard-Off immer ein explizites
off - Korrektur: einheitliche Schwellwerte für DS18B20/PT100/PT1000-Fehlerlogik
- Korrektur: SNTP-Start blockiert den Boot nicht dauerhaft bei unerreichbarem NTP-Server
- Korrektur: SNTP-Erfolg wird nur nach neuem Sync-Callback gewertet, eine vorhandene Systemzeit überspringt den Fallback nicht mehr
- Korrektur: Buttons im manuellen Modus werden im WebIf wieder zentriert angezeigt
Version 1.64.3
- Korrektur: Kessel-Power-API unterstützt explizites Ein/Aus statt reinem Toggle; WebIf und API können Kesselzustände eindeutig setzen
- Korrektur: Kessel-Abschaltpfade vereinheitlicht: Power-Off, Manual-Off, Maische-Stop und AutoTune-Stop setzen Leistung, Kesselzustand und PID-Modus eindeutig auf sicher aus
- Korrektur: Hardware-Ausgänge für Relais, Webhook und IDS werden bei Kessel-Off explizit auf aus gesetzt, damit Anzeige
0%und reale Heizfreigabe konsistent bleiben - Korrektur: Sensorfehlerpfad mit
errOut=0schaltet den Kessel sicher aus und beendet den PID-Regelmodus - Korrektur: AutoTune-Stop schaltet den betroffenen Kessel sicher aus und verlässt den AutoTune-Zustand ohne aktiven Heizpfad
- Korrektur: Sensorkalibrierung korrigiert und modernisiert
- Korrektur: Sensor-Task-Timing für analoge Sensoren und PT100x-Messzyklen korrigiert
- Optimiert: MAX31865-Diagnose und Logging kompakter
Version 1.64.1
- Korrektur: Import Filter kbh2 weitereZugaben Einheit kg wird als gr verwendet
- Korrektur: BrewFather Anzeige brewDate
- Korrektur: webhook manual_mode wurde bei Beenden nicht verlassen. Danach war AutoTune zwar vorbereitet, wurde aber blockiert (err 409)
- Neu: Eigener
InnuMax31865Treiber ersetzt die bisherige Adafruit-MAX31865-Anbindung - PT100x-Faults0x0Cund0x1Cverursacht durch Adafruit Treiber oder SPI Abstraktion - Optimiert: PT100/PT1000 verwenden jetzt den ESP-IDF5 SPI-Master direkt statt der bisherigen Adafruit-Abstraktion
- Optimiert:
InnuMax31865arbeitet FSM-orientiert und nicht-blockierend über Start/Poll/Consume statt eines synchronen Komplettzyklus - Optimiert: PT100/PT1000-Messzyklen lesen Rohwert und Faults konsistent in einem gemeinsamen InnuMax-Pfad ein
Version 1.63.3
- Geändert: API Routen für ServiceTool erweitert
- Update: Arduino 3.3.9 ESP-IDF 5.5.4
- Korrektur: zusätzliche PT100/PT1000-Debugausgaben werden nur im Sensor Logging verbose mode ausgegeben
- Optimiert: Heap-Allokationen im Debugpfad durch
const char*statt temporärerString-Objekte reduziert - Geändert: PT100/PT1000-Faults
0x0Cund0x1Cwerden bei aktivem Heizen oder AutoTune EMV-toleranter behandelt - Optimiert: Plausible transiente PT-Faultwerte laufen wieder vollständig durch Rohwert, EMA, Offset und Ausgabeformat
- Geändert: PT-Plausibilität nutzt bei EMV-Faults eine dynamische Grenze aus Steigrate und Messintervall
Version 1.63.0
- Korrektur: Der Chart-Readback begrenzt die maximale Zeilenlänge der
chartdots.jsonund verwirft überlange Einträge statt ungebremst große Strings im Heap aufzubauen - Korrektur: Resume nach Reboot im Status
WAIT_USERüberschreibt den gespeicherten Kesselzustand nicht mehr. - Korrektur: Die
chartdots.jsonwird nicht mehr als kompletter RAM-String verarbeitet. Der Chart-Readback liest jetzt zeilenweise und reduziert damit Heap-Reallocs und Watchdog-Risiko im AsyncTCP-Task - Geändert: Dashboard-Chart zeigt im Live-Betrieb nur noch Linien ohne Punkte und Kreuze, damit lange Brautage lesbar bleiben
- Korrektur: Dashboard-Chart blendet im Maischemodus keine Fermenterwerte mehr in Tooltip und Legende ein.
- Geändert: Dashboard-Chart trennt Ist- und Sollkurven optisch klarer: Sollkurven sind heller, dünner und gestrichelt
- Korrektur: Kessel-Sonderbefehle für SUD/MLT und HLT/NACHGUSS mit Dauer 0 setzen wieder die Zieltemperatur, starten den PID-Regler und springen direkt zum nächsten Maischeschritt
- Korrektur: Aktor-PWM korrigiert: digitale PWM taktet mit festem 5000-ms-Zyklus und 5-Prozent-Schritten; analoge PWM nutzt feste 1000 Hz und beeinflusst den Aktor-Task nicht.
- Geändert: BrewFather Import Nachisomerisierung
opStandMinuteserweitert - Korrektur: Display Power Save wird nach dem Speichern direkt an das Touchdisplay geschrieben und ein Full-Refresh ausgelöst
- Korrektur: Touchdisplay aktualisiert nach Sleep/Wake per Wake-Touch-Event die Seite vollständig
- Korrektur: Touchdisplay Kesselübersicht zeigt im Fermenter-Modus den Fermenter statt des Maischekessels in der ersten Zeile
- Korrektur: Einstellung
Nur Fehlerunterdrückt Info-/Success-/Warning-MP3s und Toasts im WebIf - Korrektur: Fermenter-Invertierung für den Heiz-GPIO wird beim Speichern der Konfiguration korrekt persistiert
- Korrektur: Rezeptupload zeigt bei Importfehlern nur noch die fachliche Importmeldung statt zusätzlich eines generischen HTTP-Fehlers
- Korrektur: KBH2-Import meldet bei fehlendem Maischplan eine verständlichere Ursache
- Geändert: Dashboard-Chart verwendet im Fermenter-Modus eine kleinere Temperaturskala
- Korrektur: Fermenter WebIf und SSE zeigen Sperrzeiten nach Heizen/Kühlen als Pause statt weiter als aktive Regelung an
- Korrektur: Display Power Save wird als numerischer Wert gespeichert
- Korrektur: Fermenter WebIf verwendet eigene Tooltip-Texte für Planaktionen und Einstellungen
- Update: pioarduino 1.3.23
- Update: VSCode 1.118
- Korrektur: Fermenter-Konfiguration aktiviert beim Speichern keine Heiz-/Kühlregelung mehr ohne Power-Start
- Korrektur: Fermenter-Pinauswahl im WebIf ordnet Kühlen und Heizen wieder den korrekten GPIO-Listen zu
- Korrektur: Aktor-Modal zeigt beim Bearbeiten wieder den aktuell konfigurierten GPIO statt einer zwischengespeicherten Auswahl
- Korrektur: Fermenterpläne behalten Zieltemperaturen mit einer Nachkommastelle
Version 1.62 Update step ServiceTool
- Neu: Brautomat32 ServiceTool V 1.0
- Geändert: API Routen für ServiceTool erweitert
- Geändert: Vorbereitungen für Migration partion table flash
- Korrektur: Einschalten von Kesseln über
statePoweroder manuelles Kessel-Power-On wird mit Error-ToastTOAST_IDSERR_PIDabgebrochen, wenn für einen aktivierten Kessel keine PID-Werte gesetzt sind - Korrektur: WebIf Kessel-Modal für HLT/Sud aktualisiert Frontend-Zustand nach
setKettlewieder korrekt - Update: Arduino 3.3.8 ESP-IDF 5.5.4
- Update: pioarduino 1.3.7
Version 1.61.2
- Neu: Dashboard-Chart unterstützt lose, nicht kesselgebundene Sensoren als Zusatzkurven
- Optimiert: Runtime-Snapshot und Controller-Deck für Power, Play, Pause, Prev und Next zentralisiert
- Geändert: FSM-owned Runtime-Core ersetzt die alten produktiven Laufzeit-Globals
- Optimiert: Upload-/Import-Randpfade und Sonderbefehl-Dispatch außerhalb von
Import.cppentdoppelt - Optimiert: Import bereinigt, Altkommentare reduziert und kleine Shared-Helper eingeführt
- Korrektur: Dashboard-Chart-Legende und Chart-Download korrigiert; PNG-Export nutzt jetzt weißen Hintergrund
Version 1.61.1
- Neu:
http://brautomat.local/dashboardstellt das Dashboard als reduzierte Full-Screen-Ansicht bereit, ohne restliches WebIf-Chrome - Korrektur: Kochschritte werden intern jetzt über den Kesselparameter
thresTemperkannt statt nur überkochenTemp - Korrektur: Das Dashboard vereinheitlicht die Temperaturdarstellung für HLT und Sud
- Korrektur: Bei neuem SSE-Kanal lädt das WebIf den Chart-Verlauf vollständig über
/getDotsneu
Version 1.61 Release
- Update: ESP-IDF 5.5.4
- Optimiert: Brewfather-Sortierung und Pagination überarbeitet
- Optimiert: WebIf-Initial- und Reload-Handling vereinheitlicht
- Optimiert: WebIf-Listen und Modalpfade kompakter und einheitlicher umgesetzt
- Korrektur: JSON-POST-Routen setzen ihre HTTP-Methoden wieder zuverlässig
- Korrektur: SSE-Kanalvergabe, Restore, Captive-Portal-Scan und Dateihandling robuster gemacht
- Geändert: Nextion auf Hardware-Serial überarbeitet und Display-Pfad beschleunigt
Version 1.60.3 Hotfix 2026-03-04
- Geändert: Backup und Restore optimiert und korrigiert
- Geändert: globales File Objekt ersetzt (parallele Zugriffe)
Version 1.60.2 Hotfix 2026-03-03
- Update: ArduinoJSON 7.4.3 Fix a buffer overrun in
as<T>()(issue #2220) - Geändert: MMum Rezept Import werden die Steps Ein- und Abmaischen bei validen Temperaturen immer erstellt
Version 1.60.1 Hotfix 2026-03-02
- Korrektur: die Chart für Kessel Sud war an einem falschen visible flag gebunden
Version 1.60.1 Hotfix 2026-02-28
-
Korrektur: WebIf
apiPOSTzeigt bei HTTP-Fehlern zusätzlich den Response-Body an (bessere Diagnose) -
Geändert: Cache-Strategie WebServer präzisiert:
index/languagemitno-store,brautomat.min.css/jsmitno-cache,must-revalidate,bootstrap.*mitmax-age=86400 -
Geändert: CORS auf den bisherigen kompatiblen Stand zurückgestellt (
Access-Control-Allow-Origin: *, Standard-Allow-Headers/Methods,Max-Age=600) -
Korrektur: Legacy-Kompatibilität ergänzt:
POST /bfbatchewird auf den bestehenden Import-Handler gemappt -
Korrektur: Batch-Doppelklick im Brewfather-Tab läuft nicht mehr in
404 Not found -
Korrektur: Backup-Schreiben stabilisiert (Datei-Iteration mit korrekten Pfaden und sauberem
file.close()/root.close()) -
Breaking: Finale Anpassung für WebUpdates von Version 1.59 oder älter die Konfigurationsdatei config.txt wird kopiert nach config.old.txt die PID Parameter werden zurückgesetzt (0.0). AutoTune muss durchgeführt werden
Version 1.60 Release
- Geändert: InnuLog auf Wrapper Class umgestellt (-8% Flash mem)
- Geändert: Debug_* Ausgaben sind jetzt einheitlich und kompakter in allen Modulen
- Geändert: PID-Rechenkern vereinheitlicht:
KL/KR -> KP/KI/KDwird nun gemeinsam von AutoTune und/setKettlePIDgenutzt - Neu: WebIf
calcPIDfür Maische, HLT und Sud (Recalc ausKL/KRinkl.sa/psa/newo) - Geändert:
reqKettlePID/setKettlePIDkonsistent erweitert (vollständige PID-Parameter + Recalc-Flags) - Korrektur: Kleine PID-Fixes: Reset setzt
Lkorrekt zurück; SUD-Label/TooltipKL/KRkorrigiert - Korrektur: 0-Minuten Kochsteps mit autonext starten im Kochkontext zuverlässig (TempGate Fast-Path inkl. NEXT_STEP-Pfad)
- Korrektur: Gate-Hänger bei deaktiviertem/ungültigem Step-Kessel behoben: Wechsel auf WAIT_USER mit Alarm/Toast statt stilles Warten in WAIT_TEMP
- Korrektur: PLAY in WAIT_USER bei temp=0/duration=0/autonext=false schaltet nun immer direkt zum nächsten Step (kein WAIT_USER-Loop bei Actor/User-Gate-Steps)
- Korrektur: Profil Sonderbefehle melden bei flaschen oder fehlendem Profil korrekt Fehler statt still weiterzulaufen
- Korrektur: Actor-Steps mit Fehler (bspw. falscher Aktorname) wechseln auf den Status WAIT_USER statt still weiterzulaufen
- Korrektur: Rezept-Import und API begrenzen Temperatur und Dauer auf gültige Bereiche (kein Negativ-/Overflow-Pfad mehr in Step-Timern)
- Korrektur: Fermenter-Start mit 0-min Dauer ohne gültigen Actor wechselt auf WAIT_USER mit Warnung statt still auf MASH_IDLE zu wechseln
- Optimiert: Mash-Event-Queue-Drops geben zusätzlich eine gedrosselte Toast-Warnung aus (bessere Sichtbarkeit bei Überlast)
- Korrektur: Brewfather-Import stabilisiert: Hopfenverarbeitung in gegen Array-Out-of-Bounds und Off-by-one abgesichert
- Korrektur: SSE-Versand gegen OOM-Abort gehärtet: Backpressure erweitert sowie konservative Heap-/Queue-Gates
- Korrektur: Der Rezeptimport ist nur im echten Idle Status erlaubt und wird bei aktivem Brauvorgang mit Fehler/Toast abgewiesen
- Korrektur: Rezeptimport (Brewfather + Upload) ist nur im Idle-Status erlaubt und wird bei aktivem Brauvorgang konsistent mit Error-Toast abgewiesen
- Korrektur: Rezept-Operationen werden bei aktivem Brauvorgang blockiert
- Korrektur: Tasks werden bei Importpfaden (Brewfather/Upload) temporär gestoppt und danach sauber neu gestartet
- Korrektur: Brewfather API: gemeinsamer TLS-Transport mit Lock verhindert parallele BF-Requests und reduziert Speicherfragmentierung
- Korrektur: Brewfather Liste:
emptyInputwird robust als leere Liste behandelt (kein Folgefehler im Modal) - Korrektur: SSE Versand bei Low-Heap weiter gehärtet (zusätzliche Heap-Gates, reduzierte Event-Last)
- Korrektur: Modal Sud: kein automatischer Brewfather-Load beim Öffnen; BF-Auswahlwechsel ist entprellt
- Korrektur: Brewfather Rezeptimport lädt den neuen Maischeplan wieder sofort aktiv; unnötiger Erfolgston beim Import entfernt
- Korrektur: Fermenter:
rampundautonextentkoppelt (rampsteuert nur die Sollwert-Rampe, Fermenter-Steps laufen standardmäßig automatisch weiter) - Korrektur: Fermenter-FSM: AutoNext/Timeout führt Folgeschritte wieder zuverlässig aus (kein Hänger in
WAIT_TEMPnach Stepwechsel) - Korrektur: Resume nach Powerloss: bei
active_second=0wird kein Step-Timer mehr auf volle Dauer zurückgesetzt (WAIT_USERstatt Neustart) - Korrektur: Rekonstruktion
breakDurationbeim Restore robuster gemacht (epochTime-Guard, konsistente Berechnung der Unterbrechung) - Geändert: Fermenter-Dokumentation (DE/EN) an das tatsächliche Startverhalten angepasst (Step 1 startet sofort mit Prozessstart)
Version 1.60.28 final RC
- Korrektur: Sensorzugriffe zwischen Tasks, Web und Kalibrierung wurden über Mutex/Snapshots abgesichert (stabilere Parallelzugriffe)
- Geändert: SSE-, Web- und Display-Ausgaben lesen Sensor-/Kesselwerte über Snapshot-Helper statt über direkte Feldzugriffe
- Geändert: Kesselwerte (
Input,Setpoint,Output) wurden auf atomare Cross-Core-Snapshots (Seqlock) umgestellt - Korrektur: Mehrere Grenzprüfungen im Maische-/Fermenter-Ablauf korrigiert (
>= maxActMashSteps, invalid ID Checks) - Optimiert: Mash-Event-Queue entlastet (TEMP_TICK-Coalescing) und STOP-Events priorisiert, um Verzögerungen bei Last zu vermeiden
- Korrektur: Task-Benachrichtigungen für ISR- und Task-Kontext vereinheitlicht (
FromISR-sicher für Sensor/Actor/Display/CFG/Chart/Sys/Kettle) - Optimiert: AutoNext-Schrittlogik auf iterative Verarbeitung umgestellt (kein rekursiver Ablauf, geringeres Stack-Risiko)
- Korrektur: Kettle-User-Events behandeln volle Queue robuster;
OFF-Events haben Fallback für sichere Abschaltung - Korrektur: Display zeigt bei kurzzeitig ungültigen/fehlenden Sensorwerten den letzten gültigen Temperaturwert statt leerer Anzeige
- Optimiert: Task-Diagnose erweitert (
Stack-Watermark, Status, Core, Priorität, optional CPU-Anteil) für präzisere Laufzeitanalyse - Geändert:
DisplayTaskbleibt fest auf Core 1 mit Priorität 5, um Anzeige-Artefakte unter WiFi/AsyncTCP-Last zu vermeiden - Optimiert:
KettleTask-Priorität auf 6 erhöht, damit Kessel-/Regelpfade unter Last schneller bedient werden - Korrektur: Wiederaufnahme nach Reset/Powerloss führt die Restzeit korrekt fort statt den Step-Timer auf volle Dauer zurückzusetzen
- Korrektur: Bei Unterbrechungen länger als die Restzeit wird die Restzeit auf
0gesetzt (kein sichtbarer Timer-Neustart) - Optimiert: Persistenz der Restzeit im laufenden Prozess robuster gemacht (aktuelle Laufzeit als Quelle, konsistente Grenzwerte)
- Korrektur: Periodisches Speichern bleibt auch bei Actor-/Sofort-Schritten aktiv, damit der Resume-Zustand stabil bleibt
- Geändert: Alarm-Auslösung schützt gegen inaktive Alarm-Task/Queue und vermeidet wirkungslose Trigger
- Optimiert: Webhook-Worker wird direkt beim Task-Start initialisiert und reagiert dadurch konsistenter nach Systemstart
- Korrektur: Nach Reset/Reboot wird im HMI der korrekt wiederhergestellte Stepname angezeigt statt dauerhaft der Name des ersten Steps
- Geändert: Das automatische Ein-/Ausklappen des Maischeplans ist nur aktiv, wenn das Dashboard sichtbar ist
- Geändert: Aufteilung der Tasks auf die CPU Kerne und deren Prioritäten angepasst
- Geändert: der Status Brautomat wird nun alle 30s im Flash/NVS gespeichert (vorher 10s)
- Korrektur: im Fermentermodus wird changeCFGDelayTicks nun mit der korrekten Vorgabe initialisiert (15min)
- Korrektur: Fermenter Resume hat falschen Modus gesetzt (MODE_MASH statt MODE_FERM)
- Korrektur: Überprüfung DS18B20 conversion completed wurde aktiviert (zu Debugzwecken deaktiviert)
- Korrektur: MODE_MANUAL beendet doPID() check state nicht und ruft handleKettle doppelt auf
- Korrektur: taskMashHandle und kettelUserTaskHandle korrekt gesetzt und initialisiert
- Korrektur: mashStartTimer mindestdauer für Step wurde gesetzt, aber im Ablauf vorzeitig verlassen (toter Code)
- Korrektur: im Fermenter Modus konnte eine Sensorabfrage eine out of bound exception produzieren
- Korrektur: Boil-Latch darf nicht über Sud-Grenzen hinweg erhalten bleiben. Wird bei START/STOP zurückgesetzt
Version 1.60.27 RC4
- Korrektur: Fehler im FSM in der Funktion mashCheckTempGate beim handling von Sonderbefehlen behoben
- Korrektur: WLAN reload brautomat.local nach initialem Setup auf 10s erhöht.
Version 1.60.26 RC4
- Update: Arduino 3.3.7 ESP-IDF 5.5.260206
- removed: die Timer Funktion (zeitgesteuererter Braustart) wurde temporär komplett entfernt. Die Funktion wird im Release 1.60 nicht enthalten sein
- Optimiert: heap und stack size/watermarks im Lastfall ermittelt (AsyncTCP, FreeRTOS Tasks, BrewFather Rezeptliste)
- Korrektur: Speicher Fragmentierung nach Boot durch zwei große String arrays behoben
- Korrektur: CFGTask periodischer Aufruf writeflash konnte auch im idle Modus aufgerufen werden
- Optimiert: Anzeige nächster Step Maischeplan im Dashboard um Temperatur und Dauer erweitert
- Optimiert: Der Button GET Brewfather Daten wird nur auf dem Tab BrewFather API angezeigt. Auf allen anderen Tabs ist der Button nicht mehr sichtbar
Version 1.60.25 RC4
- Korrektur: Korrektur löschen letzter Sensor/Aktor. Im Web Interface wurden die letzten Elemente bis zum nächsten Reload weiterhin angezeigt
- Korrektur: Korrketur Anzeige Web Interface erster Aktor
- Korrektur: Speichern von Profilen: PID Parameter (type mismatch)
- Korrektur: Speichern von Profilen: das Update Intervall wurde nicht korrekt neu berechnet
- Korrektur: Speichern und Wechseln von Profilen: der Name vom aktiven Profil wurde nicht korrekt angezeigt
Version 1.60.24 RC4
- Korrektur: interleaving Problem im Modul Logging behoben (atomic)
Version 1.60.23 RC4
- Korrektur: Fix Exception BrewFather receipe und batche list TLS (OOM)
- Korrektur: Funktion replyJSONdoc Überprüfung JSON erweitert
- Korrektur: JS BrewFather Rezeptliste wird beim Schließen Modal Sud gelöscht. Die Auswahl BrewFather wird auf deaktiviert zurückgesetzt
Version 1.60.22 RC4
- Korrektur: Fehler Chart Target -1 behoben
Version 1.60.21 RC3
- Revert: Arduino 3.3.6 to 3.3.5: heap memory error verursacht WiFi Abbruch und exceptions
Version 1.60.20 RC3
- Update: Arduino 3.3.6 ESP-IDF v5.5.2
- Update: ESPTool 4.11.0
- Korrektur: MAX31865/PT100(x) transiente Faults werden bei plausiblem Messwert (Δ ≤ 0,7 °C) weiterverwendet
- Korrektur: MAX31865/PT100(x) Burst-Faults führen nicht mehr sofort zu permanent ERR, sondern zeitbasiert Streak-Reset + erhöhte Hard-Schwelle
- Korrektur: bei Reboot wurde ohne aktiven Brauvorgang ein Chart Dot (Zeitstempel) erstellt
- Korrektur: nach der Konfiguration WLAN wurde nicht korrekt auf brautomat.local weitergeleitet
- Bereinigung: code cleanup Teil 3
Version 1.60.19 RC3
- Korrektur: Anzeigefehler Zieltemperatur im Display nach Next/Prev Step über Controller Deck behoben
Version 1.60.18 RC3
- Korrektur: Es war möglich, dass AutoTune doppelt gestartet wurde (AutoTune hing in einer Endlosschleife)
- Korrektur: die Chart wird bei AutoTune nun auch befüllt
Version 1.60.17 RC3
- Korrektur: Berechnung der Rastzeit nach Beenden einer Pause im Maischeprozess korrigiert
- Korrektur: Fehler Abbruch Autotune über Power Button behoben
- Korrektur: es war möglich, dass die Mash-Queue mit Temp_Ticks geflutet wurde
Version 1.60.16 RC2
- Korrektur: AutoTune Messreihe L wird erkannt, wenn am Sensor eine stabile positive Steigung über ein Fenster sichtbar ist
- Geändert: Ki Term passend zur neuen Messreihe L leicht reduziert
Version 1.60.15 RC2
- Korrektur: AutoTune Induktion IDS: die Messreihe L startet nun exakt mit dem ersten burst command
- Geändert: idsTxTask (RMT) auf Core 1 mit Prio 4
- Geändert: AutoTune log Ausgaben angepasst (/autotune_log.txt)
Version 1.60.14 RC2
- Korrektur: Nextion Display manueller Modus Fix Teil 1 (sync mit Web If folgt zeitnah)
- Korrektur: WLAN disconnect entfernt
- Bereinigung: code cleanup Teil 2
Version 1.60.13 RC2
- Korrektur: WLAN connection timeout vergrößert (Mesh und DHCP)
- Korrektur: WLAN AP-Mode timeout implementiert. Nach 3 Minuten wird der Brautmat neu gestartet
- Korrektur: WLAN Stabilität optimiert
- Geändert: idsTxTask (RMT) auf Core 1 mit Prio 2
- Bereinigung: code cleanup Teil 1
Version 1.60.12 RC1
- Korrektur: AutoTune hat für sampleTime und powerSampleTime zu konservative Werte ermittelt
- Korrektur: Anpassung der Messpunkte für sampleTime und powerSampletime abhängig vom Kesseltyp (IDS, Relais, webhook)
- Korrektur: engere Grenzen für sampleTime und PowerSampletime (clamp)
- Korrektur: AutoTune Induktion IDS: die Messreihe L startet nun exakt mit dem ersten burst command
Version 1.60.11 RC1
- Korrektur: Status Power und Play Button nach dem letzten Step im Masiche/Fermenterplan korrigiert
Version 1.60.10 RC1
- Korrektur: wenn der Brauvorgang beendet wurde, wurde der Eeprom Braustatus korrekt gelöscht, aber Step 0 hinterlegt
- Korrektur: Maischesteps mit 0°C und einer Dauer über 0min wurden nicht ausgeführt (bspw. Nachisomerisierung)
- Korrektur: Lüfternachlauf/Relais off für IDS korrigiert
- Korrektur: AutoTune hat zu konservative Thresout Leistung berechnet (Leistung ab Übergang Kochen)
- Korrektur: wurde der Brauvorgang pausiert, um die PID Einstellungen anzupassen, wurde der PID Controller nicht korrekt neu gestartet
- Korrektur: Kessel Sud und Kessel HLT konnten bei Braustart eingeschaltet werden, wenn ein setpoint konfiguriert war
- Korrektur: im Maischeplan kann nun autonext direkt editiert werden
- Korrektur: im Maischeplan kann nun wieder mit Tab durch die Tabellentzellen gesprungen werden
- Korrektur: wurde eine Pause während des Brauens beendet, wurde der Maischeplan nicht automatisch wieder eingeklappt
- Geändert: DisplayTask auf Core 1 mit Prio 3
- Geändert: ChartTask auf Core 0 mit Prio 2
- Geändert: CFGTask auf Core 1 mit Prio 2
Version 1.60.9
- Neu: mit dem Sonderbefehl IDSTHRESOUT bzw. MAISCHETHRESOUT kann die noPIDBoil Leistung im Maischeplan eingestellt werden
- Korrektur: Sensoren EMA Filter und MAX31865 glitches Filter
Version 1.60.8
- Korrektur: Anzeigefehler Web If und Display bei einer Stepdauer über 72 Minuten behoben
- Korrektur: Click event für Kessel HLT und Sud wurden manchmal nicht korrekt ausgeführt
- Korrektur: die Click Fläche für Kessel HLT und Sud wurde auf die Zelle (td) vergrößert, statt wie bislang nur auf das Power Icon
- Korrektur: ds Power Icon Sud und HLT hat im Zustand OFF die Farbe primary und im Zustand ON die Farbe success (konsistent mit allen anderen Buttons)
- Neu: Mit einem Ausrufezeichen als letztes Zeichen im Stepnamen kann ein Quittieren von Toast Nachrichten erzwungen werden (Kochen Hopfen Hall.Perle!)
- Geändert: Wenn das Logging System auf VERBOSE gesetzt wird, werden in der Browser Konsole apiGET und apiPOST debug Ausgaben protokolliert (nur develop)
- Korrektur: sendAlarm ON/OFF für Kessel HLT und Sud bei Power Click wurde nicht ausgeführt
- Entfernt: veraltetes Flag "Ignoriere SPI Fehler für PT100x Sensoren" gelöscht
- Geändert: bei einem Fehler SPI MAX31865 (PT100x Sensor err) wird zusätzlich zum clear ein soft recover durchgeführt
- Korrektur: der Kesselname wurde durch das Sprachfile überschrieben (mismatch)
Version 1.60.7
- Korrektur: doppelter Aufruf AutoTune Start entfernt
- Korrektur: Web Interface Anzeige noiseband und Tooltipp korrigiert
- Korrektur: Kochen mit Hopfengabe 0 Minuten Dauer wurde nicht korrekt durchgeführt
Version 1.60.6
- Korrektur: PID Relais/SSR Fehlerkorrektur powerSampleTime
- Korrektur: Auswahl Webhook Power typo
- Korrektur: 2-Punkte Kalibrierung Sensoren
- Entfernt: doppeltes Eingabefeld dutyCycle im Web Interface entfernt
- Korrektur: Web Interface Anzeige Elemente im Fermenter Modus
- Geändert: Anpassungen InnuAPID für den Kesseltyp webhook (größerer Schaltzyklus)
- Geändert: webhook timeout auf 2000ms für den Kesseltyp webhook reduziert
- Korrektur: AutoTune Start Messreihe lambda L für webhook
Version 1.60.4
- Geändert: das aktive Hardware Profil bei allen Kettels wird im Tab Profile angezeigt
- Korrektur: typo autotune
Version 1.60.3
- Korrektur: AutoTune Messwert lambda L (Totzeit)
- Geändert: Anzahl valider Messwerte lambda R auf 45 erhöht
- Geändert: Start Messreihe lambda R ab 60 Sekunden
- Geändert: Mindestlaufzeit Messreihe lambda R erhöht auf 240 Sekunden
- Geändert: maximale Dauer Messreige lambda R auf 6 Minuten erhöht (failed)
- Geändert: Konvergenzkriterium angepasst
- Korrektur: Debuglog Ausgaben
Version 1.60.2 (revert)
- Korrektur: typo Debug log PID/AutoTune
Version 1.60.1
- Korrektur: typo Debug log PID/AutoTune
- Geändert: PIN Interrupt deaktiviert (GGM IDS)
- Geändert: AutoTune Prozess: lambda R ist erst gültig, wenn ausreichend Temperaturdifferenz vorliegt
- Geändert: AutoTune Prozess: lambda R ist erst gültig, wenn die Messwerte in einem gültigen Bereich liegen
- Geändert: AutoTune Prozess: Extremwerte vom Temperatursensor werden entschärft
Version 1.60.0 beta test
- Neu: Finite State Machine (FSM) - vollständige Konvertierung in unabhängige, non-blocking tasks
- Neu: Remote Control Transceiver (RMT) - Steuerung der GGM IDS ohne busy wait blocking
- Neu: InnuAPID 1.10 - lambda PID Controller
- Neu: Adaptive Kessel-Steuerung
Version 1.59.9
- Update: Arduino 3.3.5
- Fix: Eingabeüberprüfung für Dateinamen erweitert (Sonderzeichen div. Sprachen)
- Fix: WiFi ConfigPortal WIFI_MODE korrigiert. Der AP Mode wurde nicht verlassen
- Fix: WiFi ConfigPortal minmiales Fallback, falls Dateisystem oder JS/CSS nicht verfügbar
- Neu: WiFi Setup Brautomat32 Captive Portal
- Entfernt: WiFiManager 2.0
- Patch WiFiManager 2.0 ESPAsyncWebserver 3.9
- Update: ESPAsyncWebServer 3.9.0
- Fix: GGM IDS Interrupt: minimaler ISR im IRAM. Abschaltbar über PIN_INTERRUPT
- Revert: GGM IDS Interrupt über ISR + vTask führte zu keiner brauchbaren Lösung (false positive, Betrieb IDS gestört)
- Fix: InnuNextion Display lib: Artefakte
Version 1.59.7 RC1
- Fix: Pfadfehler github entfernt (debug tests)
- Fix: Korrektur WebHandler manuelles Kochen (invalid json)
- Update: GGM IDS SendCommand: non-blocking senden der Leistungsstufen
- Fix: Überprüfung Anzahl Zeichen Stepname für Displayanzeige
- Fix: Task SendAlarm (Tondauer und Länge)
- Fix: BrewFather WebHandler Batches
- Update: InnuNextion Display Lib: isPageStable und isDisplayReady bevor neue Daten gesendet werden
- Fix: InnuNextion Display lib: Fix parsing serial input buttons and change page
- Update: Display Firmware T035, F035 und K035 (optional)
- Fix: alle ToolTipps haben "null" angezeigt
- Optimiert: Taskverteilung cores (AsyncTCP)
- Geändert: Umstellung von jsonBody auf AsyncJson für alle HTTP_POST request mit json body
- Fix: eine zu frühe Rückmeldung an das Web Interface (200) konnte vor Übernahme der Einstellungen ein SSE CFGJSON auslösen
Version 1.59.6 RC1
- Fix: InnuTicker 0.8 BusyGuard (RAII)
- Update: Arduino 3.3.4
- Fix: Braustatus im Eeprom speichern konnte überlappend ausgeführt werden. WriteFlash in InnuTicker Objekt migriert (RAII-Schutz)
- Fix: die Charts von Maische, Sud und HLT waren zeitlich nicht synchron
- Geändert: wird der Brautomat bei aktivem Brauprozess ausgeschaltet, wird im Temperaturverlauf eine Lücken für die Dauer der Unterbrechung angezeigt
- Fix: Anzeige Chart Sud und Chart Hlt war nicht möglich
- Fix: Fehler Backup behoben: der WebServer hat nicht korrekt auf die Anfrage download Backup geantwortet
- Neu: InnuNextion: shadow table (Reduzierung der Schreibbefehle an das Display um ca. 70%)
- Fix: wenn kein Masichekessel konfiguriert war, wurden im Display konfigurierte Sud und HLT Kessel nicht angezeigt
- Fix: Display Anzeige: der Fortschrittsbalken war bei Rastdauer über 60 Minuten nicht korrekt berechnet (Länge roter Balken)
- Fix: InnuNextion Display Bibliothek: timing für das Auslesen Seitenwechsel korrigiert (+50ms)
- Fix: Nextion Display: im SSE handler war es möglich, dass nicht aktive Elemente aktualisiert wurden (manuelles Kochen)
Version 1.59.5
- ReWork: nur vorhandene Sprachdateien werden beim WebUpdate aktualisiert
- Rework: Sprachdateien werden bei Auswahl aus dem github repository nachgeladen
- Entfernt: die JS Datei lang.js wurde entfernt
- Neu: Sprachdateien spanisch, französisch, niederländisch, dänisch, schwedisch, polnisch, tschechisch, spanisch, portugisisch
- Fix: SSE checkAlive: ESPAsyncWebServer Korrekturen
- Update: Arduino V3.3.3
- Fix: Exception behoben (AsyncTCP LoadProhibited-Exception)
- Fix: NOT FOUND HANDLER: bootstrap.min.css.map
- Fix: language fallback deutsch (key und file)
- Korrektur: Aufteilung TickerSYS und writeFlash EEprom Braustatus auf zwei unabhängig Tasks
- Geändert: sendCommand an GGM IDS von FreeRTOS Task Typ Queue auf Typ Hybrid (Queue + Notify) umgestellt
- Update: InnuTicker 0.0.7 Reentrancy-Schutz für Ticker Objekte (RAII-Prinzip)
- Korrektur: WebIf Dashboard (kein reload nach Anpassung mehr erforderlich)
- Korrektur: typo global var Javascript
- Neu: InfoToast wenn neues Release auf github verfügbar ist
- Neu: DateiUpdate Webseite neu gestaltet
- Neu: ESP32AsyncWebserver ersetzt den ESP Weberver
- Neu: Dashboard im Modus Brauen
- Fix: mehrere aufeinanderfolgende Aktor Steps im Maischeplan mit deaktiviertem autonext
- Geändert: wenn ein Aktor oder ein Kessel nicht vollständig konfiguriert ist, wird das Gerät nicht geschaltet und es erscheint eine Toastnachricht
Version 1.58.4 beta
- Fix: Fehler taskhandle behoben
- Geändert: Bei Änderung der Kessel Typ Relais/Fermenter werden die GPIOs auf OFF geschaltet. Der GPIO Zustand HIGH/LOW konnte unbestimmt sein
- Fix: SSE checkAlive resetTimeOut
- Fix: CSS Korrektur Button SSE Status
- Fix: CSS Korrektur für Javascript Funktion replaceClass (hover)
- Fix: CSS Korrektur für Javascript Funktionen showElements und hideElements
- Fix: Reconnect nach Power Off länger als timeout SSE
- Fix: WebUpdate Toast Nachricht "No free SSE channel"
- Optimiert: WebIf vollständig auf Bootstrap 5.3 mobile first responsive umgestellt
- Optimiert: Toast Nachrichten werden nun mit dem Bootstrap Framework bereitgestellt. Toasts Plugin entfernt.
- Deaktiviert: der Timer gesteuerte Braustart ist temporär deaktiviert (wird in einer der nächsten version neu implementiert)
- Upgrade: Bootstrap 5.3.8
- Update: pioArduino IDE 1.1.5
- Geändert: jQuery vollständig entfernt
- Fix: SSE handling prüft send bytes auf dead connection (TCP socket)
- Fix: SSE Broadcast prüft vor dem senden, ob der Client verbunden ist
- Fix: typo und debug Log Ausgaben SSE Broadcast auf VERBOSE gesetzt
- Geändert: Modal Dialog Sud öffnet immer den ersten Tab
- Fix: Schnelles Öffnen und Schließen Dialog Sud mit aktiven Tab BrewFather sendet zu viele requests in zu kurzer Zeit (empty repsonse)
- Fix: ESP IDF Ticker im SSE handling ersetzt durch InnuTicker (client.print ISR not thread safe)
- Fix: SSE Prüfung Client mit eindeutiger Session ID erweitert
- Fix: JS Überprüfung "no free SSE channel"
- Update: pioArduino IDE 1.1.2
- Update: VSCode 1.105
- Fix: Inline change Ku und Pu bei Auswahl PID-Relais korrigiert
- Fix: Webhook powlist wurde im Modal Maischekessel falsch in das JSON eingetragen
- ReWork: brautomat.js überarbeitet
- Optimiert: jQuery Funktionen durch JS/DOM ersetzt. Bootstrap 4.6 Modal dialog, DateTimePicker, Toast erfordern weiterhin jQuery
- Optimiert: SerializeJSON jQuery Plugin durch Javascript ersetzt
- Optimiert: TableToJSON jQuery Plugin durch Javascript ersetzt
- Fix: Anzeigefehler im Modus Fermenter behoben
- Fix: Fokus war nicht korrekt, wenn ein Step im Maischeplan/Fermenterplan hinzugefügt wurde
- Update: Arduino V3.3.2 ESP-IDF v5.5.1
- Optimiert: Zusammenstellung der Dropdown selects vom ESP nach JS in den WebBrowser verschoben
- Fix: Korrektur Überprüfung Client IP auf INADDR_NONE
- Optimiert: WebServer replyJSONdoc
- Optimiert: Webhandler SSE Broadcast und SSEkeepAlive
- Optimiert: Webhandler SSEHandler, handleAll und handleNotFound
- Geändert: Erlaubte Zeichen Gerätename: a-zA-Z0-9-_# das erste Zeichen muss a-zA-Z0-9 sein (wichtige Änderung: kein Leerzeichen)
- Geändert: Erlaubte Zeichen Profilname: a-zA-Z0-9-_ das erste Zeichen muss a-zA-Z0-9 sein (wichtige Änderung: kein #, kein Leerzeichen)
- ReWork: Eingabekontrolle WebIf (Geräte- und Dateinamen, Webhook URL, Api Credentials, MDNS, NTP)
- Fix: wurde während einer aktiven mp3 eine weitere mp3 gestartet, wurde eine uncought exception ausgelöst
- ReWork: html und js aufgeteilt in zwei Dateien. WebUpdate angepasst
- ReWork: einheitliche Schnittstelle async apiGET und apiPOST (fetch)
- ReWork: jQuery GET und POST request entfernt
- ReWork: komplettes WebIf optimiert, Fehler korrigiert, Redundanzen entfernt, aria
- Fix: Fehler manueller Modus behoben (loop updateProgress)
- Fix: WebServer static korrigiert
- Fix: Zieltemperatur Kessel wurde aus WebIf nicht übernommen
Version 1.57.12
- Fix: async fetch ersetzt synchronous GET request SSE channel, language, breakDuration, WebUpdate Alert und checkAlive SSE
- Fix: html Korrekturen Screenreader (aria)
- Fix: Beim Anlegen von neuen Sensoren wurde die Eigenschaft "Sensor aktiv" (default true) im WebIf nicht korrekt angezeigt
- Geändert: Wenn die Konfiguration im WLAN Config Portal eine erfolgreiche Verbindung herstellt, wird der Brautomat neu gestartet
- Geändert: WiFiManager Konfiguration anggepasst: DEBUG Level NODEBUG, NOHELP
- Geändert: WiFiManager Konfiguration anggepasst: WLAN setConnectTimeout 20s
- Geändert: WiFiManager Konfiguration anggepasst: WLAN setMinimumSignalQuality 20%
- Geändert: WiFi Std Konfiguration entfernt
- Optimiert: SSE TimeOut und checkAliveSSE
- Fix: sendAlarm in ledcWriteTone() konvertiert. sendAlarm Tone() nicht timer/interrupt safe.
- Geändert: SNTP Time Update
- Geändert: SSE keepAlive timer
- Fix: SSE TimeOut
- Geändert: Sprachdateien umbenannt (deutsch, english, norsk)
- Neu: Sprachdatei Norwegisch
- Update: Arduino V3.3.1
- Update: ESP-IDF v5.5.1 (v5.5-129cd0d2-v4)
- Fix: Korrektur Display Brewpage Buttons Next und Prev: aktueller Step wurde im Display nicht aktualisiert
- Fix: Fehler WebIf Aktoren behoben: das modal window wurde nicht geöffnet (typo)
- Geändert: Methode setActorsInterval angepasst (call by change)
- Geändert: WebServer Performance (CORS deaktiviert, Boradcast Intervall reduziert, timeoutfreq reduziert)
- Fix: Fehler sendCommand für GGM IDS behoben
- Update: VSCode 1.104
- Update: pioArduino 1.1.0
- Geändert: WLAN connection timeout auf 60 Sekunden erhöht
- Geändert: WLAN Signalstärke für WLAN Scan ConfigPortal auf min 10% RSSI reduziert
- Fix: Debug Code entfernt (WebServer collectAllHeaders)
- Geändert: im Nextion Display wird der Sensorstatus auch angezeigt (akt. Temperatur oder off)
- Neu: Beta: Eigenschaft Sensor aktiv: ein Sensor kann temporär deaktiviert werden. Der Status Sensor aktiv wird nicht gespeichert
- Geändert: der PID Controller setzt die Ausgangsleistung auf 0%, wenn der Kessel-Sensor deaktiviert wurde
- Fix Handling Schaltzyklus Kessel korrigiert
- Update: Update ESP-IDF v5.5.0.250821
- Neu: Beta: Unterstützung für DC PWM Aktoren (Auswahl PWM analog für DC Motoren an L298/MOSFET wie bspw. Rührwerk oder Pumpen, Auflösung: 8bit)
- Geändert: PWM umbenannt in PWM digital (einfaches Takten von Relais (on/off))
Version 1.57
-
Geändert: Logging erweitert, ids_error.log (develop only)
-
Fix: Interrupt handling IDS
-
Update: VSCode 1.103
-
Fix: WebIf Korrekturen
-
Update: Arduino V3.3.0 ESP-IDF v5.5.0 (Release 54.03.30-2)
-
Fix: Stack size für Task sendAlarm vergrößert (exception)
-
Geändert: Logging PID und AutoTune mit Logging verbunden
-
Update: InnuAPID Bibliothek 1.8
-
Geändert: Logging Display mit Logging verbunden
-
Update: InnuNextion Bibliothek 0.0.4
-
Fix: Korrektur WebIf Anzeige der aktuellen Temperatur im Modus AutoTune MaischeSud Kessel
-
Geändert: Logging erweitert, flag DEBUG_CPP
-
Geändert: Checkbox Ignoriere SPI Fehler" für PT100x Sensoren unter System eingefügt
-
Geändert: Logging Middleware (curl like) kann nun per Checkbox aktiviert werden (nicht mehr an Logging System gebunden, develop only)
-
github: Firmware Dateien und ZIP Develop Version in den Ordner build/ESP32-IDF5dev verschoben
-
Fix: Protokoll WebUpdate
-
Fix: doppelter Aufruf Konfiguration speichern bei Rezeptimport korrigiert
-
Fix: fehlerhaftes File Objekt für DateiUpload nach RAM Optimierung korrigiert
-
Fix: Log Ausgaben für PT100x Sensoren korrigiert
-
Geändert: Steuersignale an IDS in FreeRTOS Task gewandelt (nonblocking delay)
-
Geändert: handling Steuersignale an IDS angepasst
-
Geändert: sendAlarm an Piezo Buzzer werden über einen FreeRTOS Task gesendet (nonblocking delay)
-
Fix: typo TAG Log Ausgaben
-
Geändert: diverse Korrekturen und Ergänzungen Anleitung
-
Entfernt: Quellcode Bereinigung und Dokumentation
-
Geändert: einheitliche Anzahl von 15 Zeichen für Namen von Kessel, Aktoren und Sensoren. Kessel waren bislang auf 10 beschränkt
-
Fix: ändern der WebIf Sprache löscht die Werte in WebIf. Das Fenster Systemeinstellungen wird bei Änderung Sprache nun autom. geschlossen.
-
Rework: Log Ausgaben Aktoren, Sensoren und Kessel (tabellenform) - develop/debug Version only
-
Update: Arduino V3.3.0 ESP-IDF v5.5.0
-
Update: InnuAPID v1.7
-
Rework: Überarbeitung der Klassen sensors, actors, kettles. RAM handling, reorg gobal vars und static class vars
-
Fix: PID Setpoint wurde auf 0 gesetzt, wenn der Brauprozess pausiert und der Kessel editiert wurde
-
Fix: PID AutoTune Zuweisung Regel korrigiert
-
Optimiert: String handling (references, concats, removed/replaced with chars)
-
Fix: Display Manueller Modus Uhrzeit korrigiert
-
Fix: Controller Deck Button Play in einer 2- der 3-Kessel Umgebung: Step mit Zieltemperatur und Timer wurde sofort gestartet
-
Fix: Controller Deck Button Next in einer 2- der 3-Kessel Umgebung: Step mit Zieltemperatur und Timer wurde sofort gestartet
-
Fix: Anzeigefehler WebIf aktuelle Leistung Kessel behoben
-
Fix: eine SSE Client IP konnte aus der Liste SSE registrierter IP Adressen verloren gehen (verzögerte Anzeige der parameter im WebIf)
-
Geändert: Anleitung erweitert u. korrigiert
-
Geändert: Logging WebUpdate erweitert
-
Geändert: Anzeige WebUpdate zeigt an, ob Release oder Testversion aktiviert ist
-
Release: V 1.56
-
Fix: Anzeige Restzeit im Fermenter Modus korrigiert
-
Geändert: default dutycycle Fermenter 120 Sekunden (ehem. 60s)
-
Geändert: Der Gerätename kann in Sonderbefehlen verwendet werden (Kessel und Aktoren)
-
Geändert: Anleitung: Konfiguration und Einsatz von Kessel
-
Fix: Controller Deck Button Next und Prev Korrektur Sonderbefehle
-
Fix: Wenn der Maischeplan während eines aktiven Maischeprozess geändert wurde, dann wurde die Stepdauer aktueller Step nicht auf Mindestdauer geprüft
-
Fix: Korrektur und Optimierung Funktion SSEStep für die Anzeige aktueller Step Status
-
Fix: Wenn die Konfiguration während eines aktiven Maischeprozess geändert wurde, dann wurde die aktuelle Zieltemperatur immer dem Maischekessel zugewiesen
-
Fix: Fehler Kettle Sud speichern der Einstellungen behoben (typo)
-
Fix: Funktion checkTemp wurde per Loop doppelt aufgerufen werden
-
Fix: Logging System in der Einstellung verbose: Fehler WebServer MiddleWare Logger behoben
-
Geändert: Anleitung Logging: Installation und Konfiguration Microsoft VSCode portable
-
Geändert: Logging für Debug Version für esp32_exception_decoder angepasst (color escape sequences removed)
-
Update: VSCode 1.102
-
Fix: Fehler in EN Sprachdatei für MISC_DASH_LIST behoben
-
Fix: Aktualisierung WebIf für Sud und Hlt nach Änderungen Ticker Intervalle korrigiert
-
Geändert: die Ticker Intervalle PID verändern sich abhängig vom duytcycle dynamisch (Reduzierung der ticks/CPU Last)
-
Geändert: die Ticker Intervalle Maische, Sud und HLT verändern sich abhängig vom Power Status dynamisch (Reduzierung der ticks/CPU Last)
-
Geändert: das Ticker Intervall Aktoren verändert sich dynamisch, abhängig von eingeschalteten Aktoren und deren dutycycle (Reduzierung der ticks/CPU Last)
-
Geändert: die Ticker Callback Funktion für Sensoren wurde optimiert (Reduzierung der ticks/CPU Last)
-
Fix: typo Ticker Intervall HLT
-
Geändert: WebIf Korrektur Einstellungen HLT sampleTime
-
Geändert: debug Ausgaben Aktoren, Sensoren und Kettles angepasst
-
Neu: WebServer Middleware Logger (curl ähnliche Protokollierung WebServer). Auswahl Logging System verbose, Develop Version only
-
Neu: Relais PID Modus in die Auswahl PID Algorithmus eingefügt (höhere Dämpfung Kd)
-
Geändert: debug Ausgaben PID Controller
-
Geändert: debug Ausgaben Kettles
-
Fix: die Funktion setNewPower hat per loop Kettle Update erneut aufgerufen
-
Entfernt: Zieltemperatur 0 nach Power off
-
Geändert: WebServer serveStatic cache header Anpassungen
-
Fix: Ausgabe Konsole Access Point Mode WLAN config Portal
-
Fix: Ausgabe Konsole boot und init Brautomat
-
Fix: Display Firmware Controller Deck Power Button wurde als default on angezeigt
-
Fix: Fehler bei der Berechnung Restzeit behoben, wenn die Rastdauer 0 Sekunden beträgt
-
Geändert: Generische Schnittstelle (kettles, sensors, actors, misc) für das Senden von JSON Datenpaketen
-
Fix: Überprüfung freier Speicher Dateisystem, bevor ein Messpunkt protokolliert wird
-
Update: IDF 5.4.2 Release
-
Update: Brautomat32 Develop Arduino Framework 3.2.1
-
Update: esptool v5.0.0
-
Geändert: Logging auf der ser. Schnittstelle ist Bestandteil bei Testversionen, aber nicht mehr in Release Versionen
-
Geändert: InnuLog Debug Bibliothek als Compiler Direktive eingebunden (build_flag BRAUTOMAT_DEBUG)
-
Geändert: Display Firmware Restzeit BrewPage Font angepasst
-
Geändert: in der Fermenter Chart wird nun alle 30min ein neuer Messpunkt erstellt. Bisher 15min
-
Geändert: Anzahl der Display Aktualisierungen reduziert
-
Fix: Display progress bar kettlePage
-
Geändert: debug Ausgaben InnuNextion lib angepasst
-
Update: IDF 5.4.2-25
-
Fix: BrewFather API Filter korrigiert
-
Geändert: diverse Quellcode Optimierungen
-
Geändert: node-minify CSS, JS und html
-
Update: IDF 5.4.2
-
Geändert: diverse WebIf html Korrekturen
-
Geändert: WiFiManager config portal Optionen erase und update entfernt. Standard debug level der lib deaktiviert
-
Geändert: Bereich Schaltzyklus Aktoren 10ms bis 240000ms
-
Update: ArduinoJSON 7.4.2
-
Fix: Bug IDF cores uart (feat(uart): fixes pin attach for any IDF 5.x (#11499))
-
Fix: Bug IDF cores uart (fixes pin attach for any IDF 5.x #11499)
-
Geändert: Javascript load first tab on load/reload for modal windows
-
Test: GGM IDS5 hinzugefügt (noch im Test!)
-
Geändert: Tooltipp Chart Zieltemperatur mit einer Nachkommastelle
-
Fix: Darstellung Einstellungen MaischeSud Kessel im Relais Modus fehlerhaft
-
Geändert: diverse WebIf Javascript Korrekturen
-
Geändert: Javascript clear values on load/reload for modal windows
-
Fix: es gab eine Bedingung, unter der startSSE die DS18B20 Sensoren vor Ablauf conversion time abfragen konnte
-
Geändert: prepare Sys für WebUpdate auf Version 1.56+ (Verzeichnis Fermenter, Beispiele Ale und Lager)
-
Fix: doppelter sendAlarm nach power off/reboot, wenn ein Maische oder Fermenter Prozess aktiv war
-
Fix: Default dutyCycle Fermenter auf 60s korrigiert
-
Fix: WebIf falsche Zuweisung modal window
-
Fix: Power Button Display Fermenter Modus
-
Fix: sendAlarm Tone wurde bei Start/Stop Maische/Fermenter doppelt aufgerufen
-
Fix: Aktualisierung der WebIf Buttons SSE wurde doppelt aufgerufen
-
Fix: Anzahl der Chart Messpunkte im Fermenter Modus korrigiert
-
Fix: Progress bar Display war nicht korrekt berechnet
-
Fix: Überprüfung dutyCycle max auf 240s korrigiert
-
Geändert: Status Fermenter wird alle 60s gespeichert (MaischeSud alle 10s)
-
Fix: speichern aktueller Status Berechnung der Restzeit
-
Fix: Prüfung Speichern aktueller Status im Flash korrigiert
-
Geändert: TickerSys Aufrufe optimiert (doppelte Aufrufe per loop)
-
Fix: eine aktive Kühlung oder Heizung schaltet mit Erreichen der Ziel-Temperatur ab
-
Entfernt: Unterstützung für alte Display Firmware entfernt (älter als commit 1.51.16 aus April 2025)
-
Fix: Anzeige Restzeit Fermenter
-
Fix: WebIf Benennung GPIOs Fermenter vertauscht
-
Geändert: calcRemaining angepasst (Reduzierung der Berechnungen per loop)
-
Fix: Bei aktivem Gärplan führte eine Änderung der Fermentereinstellungen (verlassen editState) zu Ziel-Temperatur von 0°C.
-
Fix: Bei aktivem Gärplan wurde nach eine Änderung der Fermentereinstellungen (saveConfig) checkFermTemp nicht mehr aufgerufen
-
Geändert: Anpassung language Dateien für Fermenter Anzeige WebIf Status
-
Geändert: Anpassungen aktueller Status Flash Speicher
-
Geändert: setLastTime bei manueller Aktualisierung Sensoren, Aktoren und Kettles
-
Fix: Bug IDF cores WiFi (Workaround bug in esp_wifi_get_protocol() (#11239))
-
Fix: Bug IDF cores NetworkClientSecure (Do not check if client is connected if already disconnected (#11356))
-
Optimiert: Berechnung der Sensorwerte calc offsets nach Update (Reduzierung der Berechnungen per loop)
-
Geändert: Sensorfehler sendtoast erst nach zwei aufeinanderfolgenden Abfragefehlern
-
Neu: Pause nach Kühlung/Heizen eingefügt
-
Fix: Chart laden nach reboot/power off unvollständig
-
Geändert: NTP Zeitsynchronisierung angepasst
-
Fix: GPIO invertieren wurde nicht korrekt gespeichert
-
Fix: Step Restzeit auf Display fehlerhaft
-
Entfernt: ESP8266
-
Entfernt: IDF4
-
Neu: Fermenter Modus
Version 1.55.2 Release
- Geändert: Tabelle BrewFather wird beim Öffnen Modal immer geleert
- Geändert: Chart laden nach reboot/power off
- Fix: html check undefined object
- Fix: typo check Kesseltyp
- Geändert: div. Anpassungen html/js
- Geändert: Überprüfung returnCodes BrewFather
- Fix: Fehler empty response im request getDots behoben
- Geändert: in den Einstellungen der Kessel wird der aktive Profilname im Header angezeigt
- Geändert: in den Einstellungen der Aktoren und Sensoren wird der Gerätename im Header angezeigt
- Fix: Fehler Hardware Profil löschen behoben
- Fix: BrewFather API Tabelle: handling IDs Rezepte/Sude
- Fix: Liste Hardware Profile
- Fix: Fehler im Modul Maischeplan editieren autonext behoben
- Geändert: Reload Maischeplan (reset array and read mashplan)
- Update: VSCode
- Fix: html Buttons aria-hidden Attribut
- Fix: Fehler im Modul Maischeplan editieren behoben