Skip to content

Releases: NiklasJester/CamperUI

CamperUI_V1.8.0

Choose a tag to compare

@NiklasJester NiklasJester released this 17 Oct 19:17

🚐 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).
  • 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 ms auf 2500 ms gestreckt (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, /booster nach 3× HTTP 404) werden automatisch übersprungen.
  • 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!).
  • 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.

📱 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 ms auf 20 ms verkü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.

🚀 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.
  • 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>/update aufrufen und die Datei CamperUI-V1.8.0.bin hochladen.
  • USB-Erstinstallation: CamperUI-V1.8.0-merged.bin mit dem ESP Flash Tool, Web-Flasher oder Arduino IDE ab Offset 0x0 flashen.
  • GitHub Pages Web-Flasher: Direkt im Browser unter niklasjester.github.io/CamperUI flashen.

CamperUI_V1.7.2

Choose a tag to compare

@NiklasJester NiklasJester released this 17 Oct 13:48

🚐 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 /batt fließt).
    • Umschaltbar sowohl direkt am Display (Einstellungen → Sichtbarkeit) als auch über das Webinterface.
  • 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 Off in dezentem Grau anstelle von missverständlichem 0 W.
    • Starterbatteriespannung bleibt auch bei inaktivem Booster sichtbar.
  • 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 ttgo aus /info.

🌙 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>/update aufrufen und die Datei CamperUI-V1.7.2.bin hochladen.
  • USB-Erstinstallation: CamperUI-V1.7.2-merged.bin mit dem ESP Flash Tool, Web-Flasher oder Arduino IDE ab Offset 0x0 flashen.
  • GitHub Pages Web-Flasher: Direkt im Browser flashen.

CamperUI_V1.7.1

Choose a tag to compare

@NiklasJester NiklasJester released this 16 Oct 07:10

🚐 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 (/batt bzw. 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.

🔥 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).

💧 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.

🌙 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>/update aufrufen und die Datei CamperUI-V1.7.1.bin hochladen.
  • USB-Erstinstallation: CamperUI-V1.7.1-merged.bin mit dem ESP Flash Tool, Web-Flasher oder Arduino IDE ab Offset 0x0 flashen.
  • GitHub Pages Web-Flasher: Direkt im Browser flashen.

CamperUI_V1.7.0

Choose a tag to compare

@NiklasJester NiklasJester released this 14 Oct 17:11

🚐 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.

🌙 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.

🔒 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) und Truma + Elektro (Combi E). Elektrische Heizstufen und Landstrom-Hinweise werden bei reinen Gas/Diesel-Modellen automatisch ausgeblendet.

💾 Installation & Update

  • Web-OTA (Empfohlen): Im Browser http://<IP-des-Displays>/update aufrufen und die Datei CamperUI-V1.7.0.bin hochladen.
  • USB-Erstinstallation: CamperUI-V1.7.0-merged.bin mit dem ESP Flash Tool, Web-Flasher oder Arduino IDE ab Offset 0x0 flashen.
  • GitHub Pages Web-Flasher: Direkt im Browser flashen.

CamperUI_v1.6.0

Choose a tag to compare

@NiklasJester NiklasJester released this 13 Oct 19:14

🚐 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.
  • Synchronisation im Webinterface:
    • Das Web-Dashboard (/settings) unterstützt die neuen Optionen direkt im Dropdown und schaltet die Tab-Zuweisung synchron um.

💾 Installation & Update

  • Web-OTA (Empfohlen): Im Browser http://<IP-des-Displays>/update aufrufen und die Datei CamperUI-v1.6.0.bin hochladen.
  • USB-Erstinstallation: CamperUI-v1.6.0-merged.bin mit dem ESP Flash Tool, Web-Flasher oder Arduino IDE ab Offset 0x0 flashen.
  • GitHub Pages Web-Flasher: Direkt im Browser flashen.

CamperUI_V1.6.1

Choose a tag to compare

@NiklasJester NiklasJester released this 13 Oct 19:23

🚐 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.
  • Synchronisation im Webinterface:
    • Das Web-Dashboard (/settings) unterstützt die neuen Optionen direkt im Dropdown und schaltet die Tab-Zuweisung synchron um.

💾 Installation & Update

  • Web-OTA (Empfohlen): Im Browser http://<IP-des-Displays>/update aufrufen und die Datei CamperUI-V1.6.1.bin hochladen.
  • USB-Erstinstallation: CamperUI-V1.6.1-merged.bin mit dem ESP Flash Tool, Web-Flasher oder Arduino IDE ab Offset 0x0 flashen.
  • GitHub Pages Web-Flasher: Direkt im Browser flashen.

CamperUI_V1.5.0

Choose a tag to compare

@NiklasJester NiklasJester released this 13 Oct 18:06

🚐 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.
  • Energiequelle & Energiemix:
    • Reine Brennstoffnutzung (Gas / Diesel).
    • Kombibetrieb mit 230V Elektro-Heizstab (Mix 1 (900W) und Mix 2 (1800W)).
    • Rein elektrischer Betrieb (Elektro 1 (900W) und Elektro 2 (1800W)).
    • Automatischer Warnhinweis, falls Elektro-/Mix-Modus ohne angeschlossenen 230V Landstrom gewählt wird.
  • 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.
  • 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.

⏱️ 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 der Truma-Tab sowie der Einstellungen-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>/update aufrufen und die Datei CamperUI-V1.5.0.bin hochladen.
  • USB-Erstinstallation: CamperUI-V1.5.0-merged.bin mit dem ESP Flash Tool, Web-Flasher oder Arduino IDE ab Offset 0x0 flashen.
  • GitHub Pages Web-Flasher: Direkt im Chrome-/Edge-Browser flashen ohne Installation von Treibern oder Tools.

CamperUI_V1.4.0

Choose a tag to compare

@NiklasJester NiklasJester released this 13 Oct 11:43

🚐 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 der Settings-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>/update aufrufen und die Datei CamperUI-V1.4.0.bin hochladen.
  • USB-Erstinstallation: CamperUI-V1.4.0-merged.bin mit dem ESP Flash Tool, Web-Flasher oder Arduino IDE ab Offset 0x0 flashen.

CamperUI_V1.3.0

Choose a tag to compare

@NiklasJester NiklasJester released this 12 Oct 16:44

🚐 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 (oder http://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>/update aufrufen und die Datei CamperUI-V1.3.0.bin hochladen.
  • USB-Erstinstallation: CamperUI-V1.3.0-merged.bin mit dem ESP Flash Tool, Web-Flasher oder Arduino IDE ab Offset 0x0 flashen.

CamperUI_V1.2.1

Choose a tag to compare

@NiklasJester NiklasJester released this 10 Oct 20:41
56e230d

🚐 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 (WifiRelay1 bis WifiRelay8) werden nun zuverlässig aus /wrelay gelesen 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>/update aufrufen und die Datei CamperUI-V1.2.1.bin hochladen.
  • USB-Erstinstallation: CamperUI-V1.2.1-merged.bin mit dem ESP Flash Tool oder Arduino IDE ab Offset 0x0 flashen.