Repository navigation
Releases: NiklasJester/CamperUI
Release list
CamperUI_V1.8.0
🚐 CamperUI Release V1.8.0
Release V1.8.0 ist ein großes Performance-, UX- und Energieeffizienz-Update. Im Fokus standen drei Kernbereiche: Stromverbrauch des Gesamtsystems, Bildwiederholrate (FPS) & Display-Stabilität sowie User Interaction (Smartphone-Momentum-Scrolling & Reaktionszeit).
🔋 1. Intelligentes Energiemanagement & Stromsparmaßnahmen
Bisher liefen WLAN-Transceiver, RGB-Panel-Treiber, HTTP-Polling und die 200-Hz-Hauptschleife selbst bei ausgeschaltetem Display nahezu ungedrosselt weiter. Mit V1.8.0 greift ein mehrstufiges Power-Management auf allen Ebenen:
-
WiFi Modem-Sleep (
WIFI_PS_MIN_MODEM):- Das WLAN-Funkmodul schläft nun automatisch zwischen den DTIM-Beacons des Routers und spart dauerhaft ca. 65–80 mA (@ 3,3 V) bzw. ~0,25–0,35 W im laufenden Betrieb wie auch im Standby.
- Während eines aktiven Web-OTA-Firmware-Uploads wird der Schlafmodus automatisch temporär deaktiviert, sodass Updates weiterhin in 2–3 Sekunden durchlaufen.
-
Echter ST7701S Hardware-Panel-Sleep im Standby:
- Schaltet das Display nach dem Timeout ab, wird nicht mehr nur die Hintergrundbeleuchtung gedimmt, sondern der ST7701S-Displaycontroller per SPI-Kommando (
0x28 Display Off+0x10 Sleep In) samt interner Ladungspumpen und Source-/Gate-Treiber schlafen gelegt (~0,15–0,20 W Ersparnis). Beim Aufwachen erfolgt ein nahtloser Hardware-Wakeup (0x11/0x29).
- Schaltet das Display nach dem Timeout ab, wird nicht mehr nur die Hintergrundbeleuchtung gedimmt, sondern der ST7701S-Displaycontroller per SPI-Kommando (
-
Adaptives Main-Loop- & CPU-Throttling:
- Aktiv: 5 ms Zyklus (200 Hz) für maximale Touch-Präzision.
- Idle (> 3 s ohne Touch): Drosselung auf 15 ms (67 % weniger CPU- & I2C-Wakeups).
- Nacht-Screensaver: Drosselung auf 35 ms + Redraw der 120px-Riesenuhr nur noch bei echtem Minutenwechsel (1× pro Minute statt 60× pro Minute).
- Display Aus (Standby): Drosselung auf 40 ms (87,5 % weniger CPU-/I2C-Aufwachzyklen).
-
Intelligentes HTTP-Polling & Endpoint-Abschaltung:
- Im Screensaver und Standby wird das Abfrage-Intervall von
1000 msauf2500 msgestreckt (60 % weniger TCP-Verbindungen). - Reine Anzeige-Endpunkte (
/tanks,/temp,/level,/heater,/ac) werden bei ausgeschaltetem Display komplett pausiert, während sicherheitsrelevante Alarme (/info,/batt) weiter überwacht werden. - Nicht genutzte oder nicht vorhandene Endpunkte (
/shore,/boosternach 3× HTTP 404) werden automatisch übersprungen.
- Im Screensaver und Standby wird das Abfrage-Intervall von
-
Wahrnehmungslineare Backlight-Kurve (
$B^{1.8}$ ):- Durch eine dem menschlichen Auge angepasste Gamma-Kurve sinkt der LED-Treiberstrom im typischen Alltagsbereich (50–85 % Helligkeit) um ca. 15–20 % (~0,20–0,30 W) bei nahezu identischem Helligkeitseindruck.
📊 Wie viel Strom spart man damit pro Tag?
| Betriebszustand | Vorher (bis V1.7.2) | Jetzt (V1.8.0) | Ersparnis |
|---|---|---|---|
| Aktiv (80 % Helligkeit) | ~3,25 W | ~2,50 W | −0,75 W (−23 %) |
| Nacht-Screensaver (3 %) | ~1,55 W | ~0,80 W | −0,75 W (−48 %) |
| Display Aus (Standby) | ~1,22 W | ~0,50 W | −0,72 W (−59 %) |
-
Typischer Camper-Alltag (2 Std. aktiv, 22 Std. Standby):
-
Vorher:
$2,\text{h} \times 3{,}25,\text{W} + 22,\text{h} \times 1{,}22,\text{W} \approx \mathbf{33{,}3,\text{Wh / Tag}}$ -
Jetzt (V1.8.0):
$2,\text{h} \times 2{,}50,\text{W} + 22,\text{h} \times 0{,}50,\text{W} \approx \mathbf{16{,}0,\text{Wh / Tag}}$ - 👉 Ersparnis pro Tag: ca. 17–18 Wh pro Tag (das entspricht ca. 1,35–1,45 Ah pro Tag an einer 12,8 V LiFePO4-Batterie bzw. über 50 % weniger Tagesverbrauch!).
-
Vorher:
-
Mit 8 Std. Nacht-Screensaver (2 Std. aktiv, 8 Std. Screensaver, 14 Std. Standby):
-
Vorher:
$\approx 36{,}0,\text{Wh / Tag}$ → Jetzt:$\approx 18{,}4,\text{Wh / Tag}$ (~17,6 Wh / Tag gespart). - 🏕️ Auf einer 14-tägigen autarken Reise spart allein das Display damit rund 245 Wh (~19–20 Ah) Batteriekapazität.
-
Vorher:
📱 2. User Interaction & Smartphone-Momentum-Scrolling
- Smartphone-artiges „Anschieben" (Momentum-Scrolling) überall:
- Ein eigener Q8-Fixed-Point-Momentum-Algorithmus mit 5-Punkt-Ringpuffer und Frame-Zeit-Normierung sorgt dafür, dass sich alle scrollbaren Bereiche (Dimmer-Liste, Relais & Schalter, Einstellungen-Tabs sowie die untere Navigationsleiste) mit einer Wischgeste flüssig anschieben lassen und sanft ausgleiten.
- Tap-to-Stop ohne Fehlauslösung:
- Ein kurzes Antippen während des Ausgleitens stoppt die Liste sofort wie beim Smartphone, ohne versehentlich den darunterliegenden Schalter, Slider oder Text-Dialog auszulösen.
- Schnellere Touch-Reaktion & optimierte Bedienung:
- Touch-Release-Entprellung von
55 msauf20 msverkürzt für spürbar direktere Tastenreaktion. - Live-Dimmer-Regelung: Dimmer senden Änderungen bereits während des Ziehens gedrosselt (
150 ms) in Echtzeit an VanPi. - 4 Hz Echtzeit-Wasserwaage: Auf dem Wasserwaage-Tab schaltet das Polling automatisch auf
250 ms(4 Hz) hoch. - Direkter
< Zurück-Button in den Einstellungen zum zuletzt geöffneten Tab sowie 2-Sekunden-Schutzsperre für Relais & Wasserpumpe. - Lautlose Touch-Bedienung: Der störende Hardware-Touch-Piepton wurde vollständig entfernt und der Buzzer-Pin beim Booten dauerhaft stummgeschaltet.
- Touch-Release-Entprellung von
🚀 3. FPS-Boost & Dauerhafte RGB-Display-Stabilität
- Hardware-VSYNC-Guard gegen vertikales Bildverrutschen:
- Ein in IRAM platzierter VSYNC-Interrupt-Callback (
rgb_vsync_bounce_guard_cb) überwacht bei jedem Bildanfang die interne DMA-Bounce-Buffer-Position des ESP32-S3 (bounce_pos_px/bb_eof_count) und synchronisiert sie sofort nach, falls ein NVS-Flash-Zugriff oder Interrupt-Stall auftrat. - Zusätzlich werden Helligkeits-Einstellungen erst beim Loslassen des Sliders (
LV_EVENT_RELEASED) und nur bei tatsächlicher Wertänderung in den NVS-Flash geschrieben. Das früher vereinzelt auftretende vertikale Verrutschen des Bildschirms um 20–40 Pixel ist damit dauerhaft behoben.
- Ein in IRAM platzierter VSYNC-Interrupt-Callback (
- Deutlich höhere Framerate (FPS):
- Interner SRAM-Draw-Buffer wird vor dem WiFi-Stack reserviert (garantierter schneller DMA-SRAM-Puffer statt PSRAM-Fallback).
- Keine teuren Full-Container-Transparenz-Allokationen (
opa < 255) mehr beim Scrollen und Öffnen von Popups. - Gecachte Chart-Datenpunkte in der Temperatur-Historie (kein 432-Punkte-Neuaufbau mehr in jedem Animations-Frame) sowie Style-Guards gegen redundante LVGL-Redraws.
💾 Installation & Update
- Web-OTA (Empfohlen): Im Browser
http://<IP-des-Displays>/updateaufrufen und die DateiCamperUI-V1.8.0.binhochladen. - USB-Erstinstallation:
CamperUI-V1.8.0-merged.binmit dem ESP Flash Tool, Web-Flasher oder Arduino IDE ab Offset0x0flashen. - GitHub Pages Web-Flasher: Direkt im Browser unter niklasjester.github.io/CamperUI flashen.
CamperUI_V1.7.2
🚐 CamperUI Release V1.7.2
Release V1.7.2 bringt umfangreiche Verbesserungen für das Energie-Dashboard, separate REST-Endpoints für Landstrom und Booster, einen neuen XXL-Nachtbildschirmschoner sowie flexible Verbraucher-Berechnungsoptionen.
🚀 Highlights & Neuerungen in V1.7.2
⚡ 1. Energie-Dashboard & Erzeuger-Verrechnung
-
Neue Option „Verbrauch mit Erzeugern verrechnen“:
- Wählbar zwischen Gesamtlast (
$P_\text{load} = P_\text{gen} - P_\text{bat}$ ) und reiner Batterie-Entnahme (nur was tatsächlich aus/battfließt). - Umschaltbar sowohl direkt am Display (Einstellungen → Sichtbarkeit) als auch über das Webinterface.
- Wählbar zwischen Gesamtlast (
-
Separate REST-Endpoints (
/shore&/booster):- Volle Unterstützung für modulare Node-RED-Endpoints für 230V Landstrom und B2B-Ladebooster inkl. mitgeliefertem Flow und Anleitung.
-
Eindeutiger
Off-Zustand:- Ist ein Erzeuger ausgeschaltet oder getrennt, zeigt das Display nun deutlich
Offin dezentem Grau anstelle von missverständlichem0 W. - Starterbatteriespannung bleibt auch bei inaktivem Booster sichtbar.
- Ist ein Erzeuger ausgeschaltet oder getrennt, zeigt das Display nun deutlich
-
Automatische Erkennung & Ausgrauen:
- Werden Endpoints nicht gefunden (404), werden die Toggles in den Einstellungen automatisch ausgegraut (mit 30s Hysterese gegen Netzwerk-Aussetzer).
-
Reine VanPi Restzeit (
ttgo):- Keine fehlerhaften internen Restzeit-Schätzungen mehr – das Display nutzt direkt das Shunt-Feld
ttgoaus/info.
- Keine fehlerhaften internen Restzeit-Schätzungen mehr – das Display nutzt direkt das Shunt-Feld
🌙 2. XXL Nacht-Bildschirmschoner
- 120-Pixel Uhrzeitanzeige: Übergroße Ziffern für perfekte Lesbarkeit bei Nacht aus jeder Position im Camper.
- Große Statuszeilen: Restzeit (Time to go) und Batteriespannung/SoC in 28px bzw. 20px, farblich passend in Rot (
#dc2626). - Eigene Nacht-Helligkeit: Die Dimm-Stufe des Screensavers kann separat in den Display- und Web-Einstellungen festgelegt werden (Default 3% für blendfreies Schlafen).
💾 Installation & Update
- Web-OTA (Empfohlen): Im Browser
http://<IP-des-Displays>/updateaufrufen und die DateiCamperUI-V1.7.2.binhochladen. - USB-Erstinstallation:
CamperUI-V1.7.2-merged.binmit dem ESP Flash Tool, Web-Flasher oder Arduino IDE ab Offset0x0flashen. - GitHub Pages Web-Flasher: Direkt im Browser flashen.
CamperUI_V1.7.1
🚐 CamperUI Release V1.7.1
Release V1.7.1 ist ein wichtiges Wartungs- und Feature-Update mit Fehlerbehebungen im Energie-Dashboard, erweiterten Einstellungsmöglichkeiten über das Webinterface, praktischen +/- Temperaturtasten neben dem Heizungs-Arc und verbesserter Truma-Rückmeldung.
🚀 Highlights & Bugfixes in V1.7.1
⚡ 1. Reine Telemetrie für Energie-Erzeuger (Keine Schätzwerte)
- Entfernung aller internen Rückrechnungen:
- Landstrom (230V) und Lichtmaschine / B2B-Booster werden nicht mehr näherungsweise aus dem Batterieladestrom berechnet.
- Es werden ausschließlich reale Werte von den VanPi-Endpoints (
/battbzw. erweiterte Telemetriefelder) dargestellt. Fehlen die Werte, bleibt die Anzeige bei 0 W bzw. inaktiv.
- Vollständige Konfigurierbarkeit im Webinterface:
- Sichtbarkeit der Erzeuger (Solar, Landstrom, Lichtmaschine) und die jeweiligen Maximalleistungen (Solar Max Watt, Landstrom Max Watt, Lima Max Watt) können nun direkt über die Weboberfläche (
/settings) eingestellt und gespeichert werden.
- Sichtbarkeit der Erzeuger (Solar, Landstrom, Lichtmaschine) und die jeweiligen Maximalleistungen (Solar Max Watt, Landstrom Max Watt, Lima Max Watt) können nun direkt über die Weboberfläche (
🔥 2. Zusätzliche Temperaturtasten (+ / -) am Arc
- Präzise Bedienung per Touch:
- Neben dem Temperatur-Arc im Autoterm- und Truma-Klimatab können runde Touch-Buttons (
-links,+rechts) eingeblendet werden. - Ermöglicht das exakte Verstellen der Temperatur in 1 °C-Schritten (bzw. der Leistungsstufe) ohne fummeliges Schieben auf dem Arc.
- Ein- und ausschaltbar über die Display-Einstellungen sowie über das Webinterface (
heater_temp_buttons).
- Neben dem Temperatur-Arc im Autoterm- und Truma-Klimatab können runde Touch-Buttons (
💧 3. Zuverlässiges Warmwasser-Feedback bei Truma Combi
- Aktive Button-Hervorhebung:
- Warmwasser-Modi (
Eco,Hot,Aus) werden nun direkt auf den Tasten farbig hervorgehoben (Grün für Eco, Orange für Hot, Blau für Aus). - Robustes Parsing fängt sowohl numerische VanPi-Ziele (
40,60), Textmodi ("eco","hot","boost") als auch den Node-RED Status-Text (raw_hs) sauber ab.
- Warmwasser-Modi (
🌙 4. Screensaver- & Dimm-Stabilität
- Flackerfreier Ruhemodus:
- Zuverlässige Aktivierung des dunkelroten Nacht-Screensavers nach Ablauf des Display-Timeouts bei minimaler Hintergrundbeleuchtung.
💾 Installation & Update
- Web-OTA (Empfohlen): Im Browser
http://<IP-des-Displays>/updateaufrufen und die DateiCamperUI-V1.7.1.binhochladen. - USB-Erstinstallation:
CamperUI-V1.7.1-merged.binmit dem ESP Flash Tool, Web-Flasher oder Arduino IDE ab Offset0x0flashen. - GitHub Pages Web-Flasher: Direkt im Browser flashen.
CamperUI_V1.7.0
🚐 CamperUI Release V1.7.0
Mit Version V1.7.0 erhält CamperUI ein umfassendes Upgrade des Energie-Dashboards mit Mini-Arcs und dynamischer Flussanzeige, automatische Uhrzeitsynchronisation über VanPi /info, einen energiesparenden Nacht-Screensaver mit 1% Dimmung sowie Schaltersperren.
🚀 Highlights & Neuerungen
⚡ 1. Überarbeitetes Energie-Dashboard & Produzenten-Arcs
- Zentrales Batterie-Element:
- Großformatige Watt-Anzeige mit direkt danebenliegender Ampere-Anzeige (Lade-/Entladestrom) und Spannung.
- Vergrößerter Ladezustands-Arc (SoC %) mit zentrierter Prozentanzeige.
- Dynamische Flusslinien: Sämtliche Verbindungslinien und der Batterierahmen färben sich bei positivem Gesamtladestrom grün ein.
- Visuelle Leistungs-Arcs für Produzenten:
- Solar, Landstrom (Shore) und Lichtmaschine (Alternator) verfügen nun über eigene farbige Mini-Arcs, die die aktuelle Leistung relativ zur konfigurierten Maximalleistung visualisieren.
- Konfigurierbare Maximalwerte in den Einstellungen:
Solar Max Watt,Landstrom Max Watt,Lichtmaschine Max Watt.
- Flexible Produzentenauswahl:
- Nicht vorhandene Erzeuger können in den Display- und Web-Einstellungen deaktiviert werden. Die verbleibenden Karten zentrieren sich automatisch sauber auf dem Bildschirm.
- Direkter Verlaufsaufruf (History Modal):
- Ein Fingertipp auf die Batterie- oder Solarkarte öffnet sofort das 24h-Verlaufsdiagramm.
🕒 2. Automatische Uhrzeitsynchronisation via VanPi /info
- Kein manuelles Einstellen mehr:
- Die Uhrzeit im Header oben links synchronisiert sich automatisch über den VanPi Endpoint
/info(current_date). - Übernahme der Restlaufzeit (
ttgo- Time-to-go) direkt aus der VanPi-Telemetrie. - Manuelle Zeiteinstellungen und NTP-Routinen wurden komplett entfernt, was wertvollen Flash-Speicher und RAM freigibt.
- Die Uhrzeit im Header oben links synchronisiert sich automatisch über den VanPi Endpoint
🌙 3. Nacht-Screensaver (Ruhemodus mit 1% Helligkeit)
- Augenschonende Nachtansicht:
- Nach konfigurierbarem Inaktivitäts-Timeout schaltet das Display auf einen schwarzen Bildschirm mit dunkelroter Digitaluhr (
#dc2626) und dezenter Time-to-go Anzeige (#b91c1c). - Automatische Dimmung der Display-Hintergrundbeleuchtung auf minimal sichtbare 1% Helligkeit.
- Sicheres Aufwecken bei Touch-Berührung ohne versehentliches Auslösen darunterliegender Schaltflächen.
- Aktivierbar in den Display-Einstellungen sowie über das Webinterface.
- Nach konfigurierbarem Inaktivitäts-Timeout schaltet das Display auf einen schwarzen Bildschirm mit dunkelroter Digitaluhr (
🔒 4. Schalter- & Relais-Sperre (Switch Locks)
- Schutz vor versehentlichem Schalten:
- Einzelne Schalter und Relais können mit einer Sperrfunktion versehen werden (sichtbar durch Schloss-Symbol), um versehentliches Deaktivieren wichtiger Verbraucher wie Kühlschrank oder Wasserpumpe zu verhindern.
🔥 5. Truma Combi Integration
- Modellunterscheidung:
- Saubere Trennung zwischen
Truma (Gas/Diesel)undTruma + Elektro (Combi E). Elektrische Heizstufen und Landstrom-Hinweise werden bei reinen Gas/Diesel-Modellen automatisch ausgeblendet.
- Saubere Trennung zwischen
💾 Installation & Update
- Web-OTA (Empfohlen): Im Browser
http://<IP-des-Displays>/updateaufrufen und die DateiCamperUI-V1.7.0.binhochladen. - USB-Erstinstallation:
CamperUI-V1.7.0-merged.binmit dem ESP Flash Tool, Web-Flasher oder Arduino IDE ab Offset0x0flashen. - GitHub Pages Web-Flasher: Direkt im Browser flashen.
CamperUI_v1.6.0
🚐 CamperUI Release v1.6.0
Mit Version v1.6.0 wird die Truma Combi Integration um die Unterscheidung von Modellen mit und ohne elektrischen 230V-Zusatzheizstab erweitert.
🚀 Highlights & Neuerungen
🔥 1. Unterscheidung Truma vs. Truma + Elektro
- Auswahl in den Einstellungen:
Unter Heizungstyp kann nun präzise gewählt werden zwischen:Truma (Gas/Diesel): Für Modelle ohne 230V-Heizstab (z. B. Combi 4, Combi 6, Combi D 4, VarioHeat).Truma + Elektro (Combi E): Für E-Modelle mit integriertem 230V-Heizstab (z. B. Combi 4E, Combi 6E, Combi D 6E).
- Dynamische Energiequellen-Optionen:
- Ist Truma (Gas/Diesel) gewählt, werden die elektrischen Optionen (
Mix 1,Mix 2,Elektro 1,Elektro 2) sowie der 230V-Landstrom-Hinweis komplett ausgeblendet. Die Energiequellen-Karte zeigt kompakt die reine Brennstoffnutzung. - Ist Truma + Elektro (Combi E) gewählt, stehen alle 5 Energie- und Mischstufen inkl. 230V-Statusbadge zur Verfügung.
- Ist Truma (Gas/Diesel) gewählt, werden die elektrischen Optionen (
- Synchronisation im Webinterface:
- Das Web-Dashboard (
/settings) unterstützt die neuen Optionen direkt im Dropdown und schaltet die Tab-Zuweisung synchron um.
- Das Web-Dashboard (
💾 Installation & Update
- Web-OTA (Empfohlen): Im Browser
http://<IP-des-Displays>/updateaufrufen und die DateiCamperUI-v1.6.0.binhochladen. - USB-Erstinstallation:
CamperUI-v1.6.0-merged.binmit dem ESP Flash Tool, Web-Flasher oder Arduino IDE ab Offset0x0flashen. - GitHub Pages Web-Flasher: Direkt im Browser flashen.
CamperUI_V1.6.1
🚐 CamperUI Release V1.6.1
Mit Version V1.6.1 wird die Truma Combi Integration um die Unterscheidung von Modellen mit und ohne elektrischen 230V-Zusatzheizstab erweitert.
🚀 Highlights & Neuerungen
🔥 1. Unterscheidung Truma vs. Truma + Elektro
- Auswahl in den Einstellungen:
Unter Heizungstyp kann nun präzise gewählt werden zwischen:Truma (Gas/Diesel): Für Modelle ohne 230V-Heizstab (z. B. Combi 4, Combi 6, Combi D 4, VarioHeat).Truma + Elektro (Combi E): Für E-Modelle mit integriertem 230V-Heizstab (z. B. Combi 4E, Combi 6E, Combi D 6E).
- Dynamische Energiequellen-Optionen:
- Ist Truma (Gas/Diesel) gewählt, werden die elektrischen Optionen (
Mix 1,Mix 2,Elektro 1,Elektro 2) sowie der 230V-Landstrom-Hinweis komplett ausgeblendet. Die Energiequellen-Karte zeigt kompakt die reine Brennstoffnutzung. - Ist Truma + Elektro (Combi E) gewählt, stehen alle 5 Energie- und Mischstufen inkl. 230V-Statusbadge zur Verfügung.
- Ist Truma (Gas/Diesel) gewählt, werden die elektrischen Optionen (
- Synchronisation im Webinterface:
- Das Web-Dashboard (
/settings) unterstützt die neuen Optionen direkt im Dropdown und schaltet die Tab-Zuweisung synchron um.
- Das Web-Dashboard (
💾 Installation & Update
- Web-OTA (Empfohlen): Im Browser
http://<IP-des-Displays>/updateaufrufen und die DateiCamperUI-V1.6.1.binhochladen. - USB-Erstinstallation:
CamperUI-V1.6.1-merged.binmit dem ESP Flash Tool, Web-Flasher oder Arduino IDE ab Offset0x0flashen. - GitHub Pages Web-Flasher: Direkt im Browser flashen.
CamperUI_V1.5.0
🚐 CamperUI Release V1.5.0
Mit Version V1.5.0 bringt CamperUI die vollständige Integration der Truma Combi (inkl. CP Plus) Heiz- und Warmwassersysteme, ein überarbeitetes modulares Heizungs-UI, verbesserte Navigationsleisten-Gesten sowie komfortables Flashen via Improv Wi-Fi im Web Flasher.
🚀 Highlights & Neuerungen
🔥 1. Vollständige Truma Combi & CP Plus Integration
- Dedizierter Truma-Tab: Sobald in den Einstellungen als Heizungstyp
Truma (Combi/VarioHeat)ausgewählt ist, wird anstelle des Autoterm-Klima-Tabs der neue, maßgeschneiderte Truma-Bedientab aktiviert. - Raumheizungs-Steuerung:
- Großer Start/Stop-Schalter zum Ein- und Ausschalten der Heizung.
- Taktile
[-]und[+]Stepper-Tasten für die Zieltemperatur (5 bis 30 °C). - 4 Schnellwahltasten für gängige Temperaturen (
18 °C,20 °C,22 °C,24 °C).
- Warmwasser-Boiler:
- 3-Stufen-Auswahl für den Warmwasserbetrieb (
Aus,Eco 40 °C,Hot 60 °C) mit direkter optischer Rückmeldung des aktiven Status.
- 3-Stufen-Auswahl für den Warmwasserbetrieb (
- Energiequelle & Energiemix:
- Reine Brennstoffnutzung (
Gas / Diesel). - Kombibetrieb mit 230V Elektro-Heizstab (
Mix 1 (900W)undMix 2 (1800W)). - Rein elektrischer Betrieb (
Elektro 1 (900W)undElektro 2 (1800W)). - Automatischer Warnhinweis, falls Elektro-/Mix-Modus ohne angeschlossenen 230V Landstrom gewählt wird.
- Reine Brennstoffnutzung (
- Diagnostik & Status-Header:
- Modellanzeige (z. B.
Truma Combi D 4). - Aktuelle Raumtemperatur aus VanPi.
- Badges für Online/Offline-Status, 230V Landstrom (
⚡ 230V) und Fehlercodes bei aktiven Störungen.
- Modellanzeige (z. B.
- Nicht-blockierende Anbindung:
- Steuerbefehle werden über eine asynchrone HTTP-Queue direkt an Node-RED gesendet (
/truma_ci/air/:temp,/truma_ci/water/:mode,/truma_ci/energymix/:val). - 4-Sekunden-Hold-Timer schützt vor dem Überschreiben lokaler Eingaben durch zeitgleiche HTTP-Polls.
- Steuerbefehle werden über eine asynchrone HTTP-Queue direkt an Node-RED gesendet (
⏱️ 2. Verbesserter Settings-Notfallzugriff (5-Sekunden-Hold in der Tableiste)
- Zuverlässige Geste: Da das Halten der kleinen Uhrzeit auf manchen Touch-Displays unhandlich war, lässt sich das Einstellungsmenü bei ausgeblendetem Settings-Tab nun durch ein 5 Sekunden langes Gedrückthalten an beliebiger Stelle in der unteren Tableiste öffnen.
- Akustische Bestätigung durch den Touch-Buzzer bei Aktivierung.
⚡ 3. Web Flasher: Improv Wi-Fi & direkte Navigation
- Direktes WLAN-Setup nach dem Flashen: Der browserbasierte Web Flasher unterstützt nun das Improv Wi-Fi Serial-Protokoll, sodass nach dem Flashen direkt die Zugangsdaten übermittelt werden können.
- Auto-Navigation: Nach erfolgreicher WLAN-Verbindung ermittelt der Web Flasher die zugewiesene IP-Adresse und bietet direkte Links zum CamperUI Webinterface.
🌐 4. Webinterface & Tab-Management Sync
- Im Webinterface (
/settings) werden derTruma-Tab sowie derEinstellungen-Tab im Tab-Sortiermenü vollständig unterstützt. - Die Umschaltung des Heizungstyps synchronisiert die Tab-Aktivierung automatisch.
💾 Installation & Update
- Web-OTA (Empfohlen): Im Browser
http://<IP-des-Displays>/updateaufrufen und die DateiCamperUI-V1.5.0.binhochladen. - USB-Erstinstallation:
CamperUI-V1.5.0-merged.binmit dem ESP Flash Tool, Web-Flasher oder Arduino IDE ab Offset0x0flashen. - GitHub Pages Web-Flasher: Direkt im Chrome-/Edge-Browser flashen ohne Installation von Treibern oder Tools.
CamperUI_V1.4.0
🚐 CamperUI Release V1.4.0
Mit Version V1.4.0 erhält CamperUI flexiblere Konfigurationsmöglichkeiten für Gas- und Wassertanks, verbesserte Netzwerk-Zuverlässigkeit, Ausblendbarkeit der Einstellungen mit integriertem Notfall-Zugriff sowie Vorbereitungen für zusätzliche Heizungssysteme.
🚀 Highlights & Neuerungen
⚖️ 1. Wählbare Einheiten pro Tank (L oder kg)
- Flexible Füllstandsanzeige: Jeder der bis zu 4 Tanks kann nun separat mit seiner Einheit konfiguriert werden – entweder in Litern (
L) für Frisch- und Grauwasser oder in Kilogramm (kg) für Gasflaschen und Gastanks. - Display & Webinterface: Einheit und Kapazität können direkt im Displaymenü (Tab Werte) oder im Mobile-First Webinterface (
/settings) eingestellt werden. - Dynamische Visualisierung: Die Tankkarten auf der Wassertankseite passen Einheit und Restmengenberechnung automatisch an.
🔒 2. Settings-Tab ausblendbar & Notfall-Zugriff via 5-Sekunden-Hold
- Aufgeräumte Navigationsleiste: Da alle Display- und Systemeinstellungen bequem über das Webinterface (
/settings) verwaltet werden können, lässt sich derSettings-Tab in der Navigationsleiste nun komplett ausblenden. - Notfall-Zugriff: Sollte kein Smartphone oder WLAN zur Hand sein, lässt sich das Einstellungsmenü auf dem Display jederzeit durch ein 5 Sekunden langes Gedrückthalten der Uhrzeit in der oberen Statusleiste öffnen (akustisch bestätigt durch den Buzzer).
📶 3. Automatischer WLAN Auto-Reconnect
- Zuverlässige Wiederverbindung: Bei Verbindungsverlust oder nach dem Wiedereinschalten des Wohnmobil-Routers versucht CamperUI nun automatisch alle 10 Sekunden im Hintergrund, die Verbindung wiederherzustellen.
- Kollisionsfrei: Der Auto-Reconnect pausiert während aktiver WLAN-Suchläufe im Display oder Webinterface.
🔥 4. Heizungsauswahl (Vorbereitung Truma & Co.)
- Auswahl des Heizungssystems: Neues Dropdown-Menü in Display und Web-UI zur Auswahl des installierten Heizungssystems:
Autoterm (Air 2D/4D)Truma (Combi/VarioHeat)Keine / Deaktiviert
- Die Konfiguration wird dauerhaft im NVS gespeichert; die systemspezifische Anbindung folgt in einem kommenden Update.
💾 Installation & Update
- Web-OTA (Empfohlen): Im Browser
http://<IP-des-Displays>/updateaufrufen und die DateiCamperUI-V1.4.0.binhochladen. - USB-Erstinstallation:
CamperUI-V1.4.0-merged.binmit dem ESP Flash Tool, Web-Flasher oder Arduino IDE ab Offset0x0flashen.
CamperUI_V1.3.0
🚐 CamperUI Release V1.3.0
Mit Version V1.3.0 erhält CamperUI ein großes Funktions- und Komfort-Upgrade: Ein vollkommen neues Mobile-First Web-Einstellungsmenü (/settings), ein generisches und hochgradig anpassbares Tanksystem, intelligente Wasserschutz- und Assistenzfunktionen sowie wichtige Stabilitätsverbesserungen.
🚀 Highlights & Neuerungen
🌐 1. Mobile-First Web-Einstellungen (/settings & QR-Code)
- Parallele Konfiguration im Browser: Alle Display-Einstellungen können nun bequem vom Smartphone, Tablet oder Laptop im Wohnmobil-WLAN über
http://<IP-des-Displays>/settings(oderhttp://camperui.local/settings) vorgenommen werden. - Scan & Go via QR-Code: Im Einstellungen-Tab auf dem Display wird automatisch ein scannbarer QR-Code generiert, der das Smartphone direkt auf die neue Einstellungsseite leitet.
- Live-Synchronisation ohne Neustart: Änderungen, die über die Web-Oberfläche gespeichert werden, werden sofort im NVS gesichert und die Benutzeroberfläche auf dem Bildschirm unmittelbar neu synchronisiert (
ui_init()). - Vollständig offline-fähig: Sämtliche Styles, Icons und Skripte sind im Flash-Speicher des ESP32 hinterlegt – kein Internetzugriff erforderlich.
- Integriertes WLAN-Scanning: Netzwerksuche direkt aus dem Web-Interface per Klick mit Signalstärke-Anzeige.
- Verknüpfte Navigation: Schneller Wechsel zwischen Einstellungen (
/settings), Web-Terminal & Status (/status) und Firmware-Update (/update).
🚰 2. Generisches Wassertank-System
- Konfigurierbare Tankanzahl: In den Einstellungen kann festgelegt werden, wie viele Tanks angezeigt werden sollen (1 bis 4 Tanks).
- Individuelle Tankkapazitäten: Maximale Füllmenge in Litern für jeden Tank separat einstellbar.
- Optimiertes Layout: Überflüssige Überschriften entfernt, aufgeräumte Kachel-Optik und automatische Skalierung je nach gewählter Tankanzahl.
- Schaltbare Literanzeige: Anzeige der Literwerte unterhalb der Prozentanzeige kann in den Einstellungen ein- und ausgeschaltet werden (mit vergrößerter Schrift für beste Lesbarkeit).
- Dynamische Pumpen-Buttons: Die Tasten für Frischwasser und Abwasser werden nur angezeigt, wenn ein entsprechendes Relais zugewiesen ist (inklusive Auswahlmöglichkeit „(nicht verfügbar)“).
- WLAN-Relais-Unterstützung: Frisch- und Abwasserfunktionen können nun auch beliebigen VanPi WLAN-Relais zugewiesen werden. Echte Relaisnamen aus VanPi werden in den Dropdowns angezeigt.
- Statusbar-Symbol: Bei aktiver Wasserpumpe wird in der Statusleiste das einheitliche Wassertropfen-Icon angezeigt.
🛡️ 3. Intelligente Wasser-Features & Schutzfunktionen
- Auto-Off Timer für Wasserpumpe: Automatische Abschaltung der Pumpe nach einer konfigurierbaren Zeit (z. B. 1, 2, 3, 5 oder 10 Minuten) mit Live-Restzeitanzeige auf der Tankseite.
- Trockenlaufschutz: Verhindert das Einschalten oder schaltet die Pumpe automatisch ab, wenn der Frischwasserstand eine einstellbare Mindestschwelle (z. B. 5% oder 10%) unterschreitet.
- Befüll-Assistent: Warnt beim Befüllen des Frischwassertanks automatisch bei Erreichen einer Zielschwelle (z. B. 80%, 90% oder 95%). Wahlweise über den internen Buzzer, ein Relais oder über sanftes 5-faches Pulsieren eines Dimmers (z. B. Außen- oder Deckenlicht).
🔧 4. Fehlerbehebungen & System-Stabilität
- Crash-Fix beim Speichern: Behebung eines Watchdog-/Pointer-Fehlers beim Klick auf „Speichern“ in den Display-Einstellungen durch konsequentes Zurücksetzen aller statischen Widget-Zeiger vor dem Neuaufbau der Tabs.
- Thread-sichere Async-Synchronisation: Nahtlose Koexistenz von HTTP-Server, Serial-Terminal und LVGL-Render-Thread.
💾 Installation & Update
- Web-OTA (Empfohlen): Im Browser
http://<IP-des-Displays>/updateaufrufen und die DateiCamperUI-V1.3.0.binhochladen. - USB-Erstinstallation:
CamperUI-V1.3.0-merged.binmit dem ESP Flash Tool, Web-Flasher oder Arduino IDE ab Offset0x0flashen.
CamperUI_V1.2.1
🚐 CamperUI Release V1.2.1
Mit Version V1.2.1 erhält CamperUI ein umfassendes Upgrade: Deutlich gesteigerte Render-Performance (stabile 60 FPS ohne Performance-Overlay), optimiertes Tableisten-Scrollen, vollständige Thread-Sicherheit sowie Fehlerbehebungen bei der VanPi-Integration.
🚀 Highlights & Neuerungen
⚡ 1. Render-Performance & 60 FPS Boost
- Zero Software-Shadows: Rechenintensive Software-Weichzeichner und Alpha-Schatten wurden vollständig durch ein modernes, flaches Kontur-Design ersetzt. Dies entlastet die CPU und den PSRAM-Bus massiv.
- Double-Buffering im internen SRAM: 2x 20 Zeilen interner Arbeitsspeicherpuffer – LVGL rendert Frame-Streifen parallel, während der vorherige Streifen per DMA ins PSRAM geschrieben wird.
- Adaptives Main-Loop Pacing: Bei aktiven Animationen oder Touch-Eingaben wird das Loop-Delay dynamisch übersprungen – für butterweiche Interaktionen ohne Ruckeln.
- Nicht-blockierendes Haptik-Feedback: Der Touch-Buzzer nutzt nun einen asynchronen Puls statt blockierender
delayMicroseconds()-Schleifen im UI-Thread. - Clean Production Build: Sämtliche internen FPS- und Performance-Monitore sind in der Produktionsversion deaktiviert.
🛡️ 2. Stabilität & Thread-Sicherheit
- Cross-Core State-Sicherheit: Schutz des globalen Gerätestatus gegen parallele Zugriffe aus UI- und HTTP-Task mittels rekursivem FreeRTOS-Mutex (
StateLockGuard). - Flash-Schonung & RGB-Stabilität: Entfernung unnötiger
state_save()-Flash-Schreibvorgänge bei schnellen Schalter-, Slider- und Button-Betätigungen. Panel-Resyncs wurden entkoppelt, wodurch Bildflackern und VSYNC-Drifts eliminiert werden.
👆 3. Verbessertes Tableisten-Scrollen & Klickschutz
- Schwung & Trägheit (Momentum): Die untere Tableiste gleitet nach einem "Flick" mit natürlicher Trägheit weiter und stoppt nicht mehr abrupt.
- Halbierter Scroll-Schwellenwert (4 px): Wischgesten werden bereits ab 4 Pixeln Bewegung erkannt, was das Scrollen sofort ansprechen lässt.
- 3-Stufen-Klickschutz: Versehentliches Umschalten von Tabs während des Scrollens wird durch Prüfung von Container-Verschiebung, Scroll-Status und Fingerweg (> 6 px) zuverlässig verhindert.
📶 4. VanPi WiFi-Relais Fix
- Korrektes Namens-Mapping: Die Namen von WLAN-Relais (
WifiRelay1bisWifiRelay8) werden nun zuverlässig aus/wrelaygelesen und in der UI angezeigt (z. B. "Testwifi"). - Robuster HTTP-Stream-Empfang: Behebung von Aussetzern bei chunked HTTP-Übertragungen aus Node-RED.
🌡️ 5. Temperatur-Tab & 24h-Verlauf
- 24h-Verlaufshistorie: Neuer Ringpuffer mit dynamisch skalierenden LVGL-Graphen (1h, 6h, 12h, 24h) inklusive sanfter Aufbau-Animation.
- Flexible Sensorzuordnung: Alle 4 Sensoren (Außen, Innen, Zusatz 1, Zusatz 2) können aus bis zu 13 Quellen (Kabel- & Ruuvi-Tags) frei konfiguriert werden.
📦 6. Speicher-Footprint & Bereinigung
- Ungenutzte LVGL-Module, Demo-Code und überflüssige Schriftgrößen wurden deaktiviert, um Flash- und SRAM-Ressourcen für zukünftige Erweiterungen freizuhalten.
💾 Installation & Update
- Web-OTA (Empfohlen): Im Browser
http://<IP-des-Displays>/updateaufrufen und die DateiCamperUI-V1.2.1.binhochladen. - USB-Erstinstallation:
CamperUI-V1.2.1-merged.binmit dem ESP Flash Tool oder Arduino IDE ab Offset0x0flashen.