MATRIX-1: 3-Zonen-Statusdisplay auf WLED-Matrix via ESPHome #1

Open
opened 2026-07-03 20:40:20 +02:00 by martin · 1 comment
Owner

User Story

Als Bewohner möchte ich auf der WLED-Matrix (8×32, ESPHome) ein 3-Zonen-Statusdisplay sehen, damit ich relevante Smart-Home-Zustände (Wetter, Geräte-Restlaufzeiten, Luftqualität, Ladestatus) auf einen Blick erfasse, ohne die HA-App zu öffnen.

Layout

Spalten Inhalt
0–9 Laufband-Text (5x7-Font): Außentemp/Regenwahrscheinlichkeit im festen Zyklus, Restlaufzeit aktiver Geräte (Waschmaschine/Trockner) bevorzugt eingeblendet
10–11 CO2-Ampel: 4×2px-Segmente, von unten gefüllt
12–31 Statusbereich: Fortschrittsbalken/Icons (Wallbox-Ladestatus, Trockner-Restzeit)

Acceptance Criteria

Szenario: Laufband-Zone zeigt fixen Zyklus

  • Gegeben kein Gerät läuft
  • Wenn die Anzeige rotiert
  • Dann wechseln Außentemperatur und Regenwahrscheinlichkeit im festen Zyklus, mit Scroll-Effekt bei zu langem Text

Szenario: Laufband-Zone zeigt aktives Gerät bevorzugt

  • Gegeben Waschmaschine oder Trockner läuft
  • Wenn die Anzeige rotiert
  • Dann wird die Restlaufzeit des aktiven Geräts zusätzlich in den Zyklus aufgenommen

Szenario: CO2-Ampel korrekt eingefärbt

  • Gegeben sensor.indoor_kohlendioxid liefert einen Wert
  • Wenn der Wert <800 / 800-1199 / 1200-1599 / ≥1600 ppm ist
  • Dann zeigt der 4-Segment-Balken grün / hell-orange / rot-orange / tief-rot, von unten nach oben gefüllt

Szenario: Statusbereich rechts zeigt priorisierten Status

  • Gegeben Wallbox lädt/angeschlossen/inaktiv, Trockner läuft/nicht
  • Wenn mehrere Zustände gleichzeitig aktiv sind
  • Dann wird nach Priorität Wallbox > Trockner angezeigt (Annahme, ggf. anpassen bei Umsetzung)

Szenario: Sensor nicht verfügbar

  • Gegeben ein Sensor liefert unavailable/unknown
  • Wenn die entsprechende Zone gerendert wird
  • Dann wird die Zone übersprungen statt einen Fehlerwert anzuzeigen

Technische Eckdaten (bestätigt via WLED-Config-Export)

  • MCU: ESP32-C3 Super Mini
  • LED: SK6812 RGBW, 256 LEDs total, Daten-Pin GPIO4
  • Verkabelung: Serpentine, Start oben links, spaltenweise (b:false, r:false, v:true, s:true aus WLED cfg.json)
  • ESPHome-Komponente: display: platform: addressable_light (Font-Rendering + filled_rectangle für Balken)
// pixel_mapper
int idx_in_col = (x % 2 == 0) ? y : (7 - y);
return x * 8 + idx_in_col;

Dependencies

  • Blocker: Gehäuse-Design (Fusion 360) und Verkabelung müssen vom Nutzer abgeschlossen sein (nicht in Forgejo getrackt)
  • Lizenz: MIT (Code) / CERN-OHL-S (Hardware, sobald 3D-Modell im Repo liegt)
## User Story Als Bewohner möchte ich auf der WLED-Matrix (8×32, ESPHome) ein 3-Zonen-Statusdisplay sehen, damit ich relevante Smart-Home-Zustände (Wetter, Geräte-Restlaufzeiten, Luftqualität, Ladestatus) auf einen Blick erfasse, ohne die HA-App zu öffnen. ## Layout | Spalten | Inhalt | |---|---| | 0–9 | Laufband-Text (5x7-Font): Außentemp/Regenwahrscheinlichkeit im festen Zyklus, Restlaufzeit aktiver Geräte (Waschmaschine/Trockner) bevorzugt eingeblendet | | 10–11 | CO2-Ampel: 4×2px-Segmente, von unten gefüllt | | 12–31 | Statusbereich: Fortschrittsbalken/Icons (Wallbox-Ladestatus, Trockner-Restzeit) | ## Acceptance Criteria **Szenario: Laufband-Zone zeigt fixen Zyklus** - Gegeben kein Gerät läuft - Wenn die Anzeige rotiert - Dann wechseln Außentemperatur und Regenwahrscheinlichkeit im festen Zyklus, mit Scroll-Effekt bei zu langem Text **Szenario: Laufband-Zone zeigt aktives Gerät bevorzugt** - Gegeben Waschmaschine oder Trockner läuft - Wenn die Anzeige rotiert - Dann wird die Restlaufzeit des aktiven Geräts zusätzlich in den Zyklus aufgenommen **Szenario: CO2-Ampel korrekt eingefärbt** - Gegeben `sensor.indoor_kohlendioxid` liefert einen Wert - Wenn der Wert <800 / 800-1199 / 1200-1599 / ≥1600 ppm ist - Dann zeigt der 4-Segment-Balken grün / hell-orange / rot-orange / tief-rot, von unten nach oben gefüllt **Szenario: Statusbereich rechts zeigt priorisierten Status** - Gegeben Wallbox lädt/angeschlossen/inaktiv, Trockner läuft/nicht - Wenn mehrere Zustände gleichzeitig aktiv sind - Dann wird nach Priorität Wallbox > Trockner angezeigt (Annahme, ggf. anpassen bei Umsetzung) **Szenario: Sensor nicht verfügbar** - Gegeben ein Sensor liefert `unavailable`/`unknown` - Wenn die entsprechende Zone gerendert wird - Dann wird die Zone übersprungen statt einen Fehlerwert anzuzeigen ## Technische Eckdaten (bestätigt via WLED-Config-Export) - MCU: ESP32-C3 Super Mini - LED: SK6812 RGBW, 256 LEDs total, Daten-Pin GPIO4 - Verkabelung: Serpentine, Start oben links, spaltenweise (`b:false, r:false, v:true, s:true` aus WLED cfg.json) - ESPHome-Komponente: `display: platform: addressable_light` (Font-Rendering + filled_rectangle für Balken) ```cpp // pixel_mapper int idx_in_col = (x % 2 == 0) ? y : (7 - y); return x * 8 + idx_in_col; ``` ## Dependencies - **Blocker:** Gehäuse-Design (Fusion 360) und Verkabelung müssen vom Nutzer abgeschlossen sein (nicht in Forgejo getrackt) - Lizenz: MIT (Code) / CERN-OHL-S (Hardware, sobald 3D-Modell im Repo liegt)
martin changed title from 3-Zonen-Statusdisplay auf WLED-Matrix via ESPHome to MATRIX-1: 3-Zonen-Statusdisplay auf WLED-Matrix via ESPHome 2026-07-03 20:40:24 +02:00
Author
Owner

⏸️ Projekt pausiert: Ulanzi TC001 (Pixel Smart Clock, 8x32) wurde stattdessen bestellt. Eigenbau-Ansatz (diese Matrix) wird vorerst nicht weiterverfolgt, ggf. später wieder aufgenommen. Repo/Issues bleiben offen für spätere Fortsetzung.

⏸️ Projekt pausiert: Ulanzi TC001 (Pixel Smart Clock, 8x32) wurde stattdessen bestellt. Eigenbau-Ansatz (diese Matrix) wird vorerst nicht weiterverfolgt, ggf. später wieder aufgenommen. Repo/Issues bleiben offen für spätere Fortsetzung.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
keineantwort.de/status-matrix#1
No description provided.