Zum Inhalt

TC100 AWTRIX Display Integration

Übersicht

Das SolarLog-System unterstützt die Integration eines Ulanzi TC100 Pixel Clocks als externes Warning Display. Mit der AWTRIX3 Firmware wird das Display zu einem visuellen Statusmonitor für Ihr Solar-System.

TC100 Display

Status: Produktiv

Die Display-Integration ist vollständig getestet und produktionsbereit.


Features

✅ Automatische Benachrichtigungen

Das Display informiert Sie automatisch über wichtige System-Events:

  • 🔴 Wechselrichter-Ausfälle - Sofortige rote Warnung mit Hold-Modus
  • 🟢 Wiederverbindungen - Grüne Info-Meldung
  • ⚡ Live Solar-Status - Aktuelle Leistung und Tagesertrag
  • 🚥 Status-Indikatoren - 3 farbige LEDs für jeden Wechselrichter

📊 Display-Modi

1. Notification Mode

⚠️ Wechselrichter 1 offline!
🔴 Farbe: Rot
⚡ Icon: Blitz
📍 Bleibt stehen bis Button-Druck

2. Live Status Mode

⚡3.2kW | ☀️8.5kWh heute
🟢 Farbe: Grün (alle online)
⚡ Icon: Blitz
🔄 Auto-Update bei Events

3. Status Indicators

🟢 Indicator 1 (oben rechts): WR 1 - Online
🟢 Indicator 2 (mitte rechts): WR 2 - Online  
⚫ Indicator 3 (unten rechts): Inaktiv

Hardware

Ulanzi TC100 Spezifikationen

Eigenschaft Details
Display 8×32 RGB LED Matrix (256 LEDs)
Mikrocontroller ESP32-WROOM
Konnektivität WiFi 2.4 GHz
Sensoren Lichtsensor, Temperatur, Luftfeuchtigkeit
Eingabe 3 physische Tasten
Ausgabe Buzzer für akustische Signale
Stromversorgung USB-C + interner Akku
Preis ~€50-70

AWTRIX3 Firmware

Die TC100-Integration nutzt die AWTRIX3 Open-Source Firmware:

  • ✅ HTTP REST API + MQTT Support
  • ✅ Keine Cloud, keine Telemetrie
  • ✅ Home Assistant Integration
  • ✅ 2000+ GitHub Stars
  • ✅ 5000+ Discord Community

Offizielle Dokumentation: blueforcer.github.io/awtrix3


Architektur

Event Flow

graph LR
    A[Wechselrichter] -->|Status Change| B[Backend WebSocket]
    B -->|Event| C[Display Bridge]
    C -->|HTTP API| D[TC100 Display]

    E[Production Data] -->|Update| B
    B -->|Event| C

    F[Error Service] -->|Critical Error| B
    B -->|Event| C

    style A fill:#90EE90
    style D fill:#87CEEB
    style C fill:#FFD700

Komponenten

Backend Services

# Display Service (HTTP Client)
display_service.py
├── send_notification()      # Temporäre Meldungen
├── update_solar_status()    # Live Daten
├── set_indicator()          # Status LEDs
└── send_warning()           # Severity-basiert

# Display Bridge (Event Integration)
display_bridge.py
├── handle_inverter_update() # WR Status-Änderungen
├── handle_production_data() # Solar-Daten Updates
└── handle_error()           # Kritische Fehler

WebSocket Integration

# websocket/manager.py
broadcast_inverter_update()
├── WebSocket Clients
└── Display Bridge (optional)

broadcast_production_data()
├── WebSocket Clients
└── Display Bridge (optional)

Vorteile

✅ Keine zusätzlichen Dependencies

  • Nutzt bestehendes httpx Package
  • Keine neuen Bibliotheken erforderlich

✅ Event-basiert

  • Kein Polling, kein Overhead
  • Updates nur bei Änderungen
  • Performance-Impact: <0.1%

✅ Graceful Degradation

  • System funktioniert auch bei Display-Ausfall
  • Alle Fehler werden geloggt
  • Keine Breaking Changes

✅ Einfache Verwaltung

  • Ein-/Ausschalten via .env
  • Keine Frontend-Änderungen
  • Komplett entfernbar

Einschränkungen

Temporäre Lösung

Diese Integration ist als temporäre Lösung konzipiert und kann jederzeit:

  • ✅ Deaktiviert werden (1 Zeile in .env)
  • ✅ Entfernt werden (3 Dateien löschen)
  • ✅ Ersetzt werden (durch professionelle Lösung)

Nicht geeignet für:

  • ❌ Langfristige Mission-Critical Infrastruktur
  • ❌ Detaillierte Datenvisualisierung (nur 8×32 Pixel)
  • ❌ Multi-User Environments
  • ❌ Audit-Trail Requirements
  • ❌ Fernzugriff (nur lokales Netzwerk)

Sicherheit

Netzwerk-Sicherheit

Wichtig: Lokales Netzwerk

Das Display sollte nur im privaten LAN betrieben werden:

  • ✅ Keine Authentifizierung erforderlich (AWTRIX3 Design)
  • ⚠️ Nicht über Internet erreichbar machen
  • ✅ Firewall-Regel für lokalen Zugriff empfohlen

Daten-Sicherheit

  • ✅ Keine sensitiven Daten ans Display
  • ✅ Nur Status-Informationen (Power, Online/Offline)
  • ✅ Keine User-Daten, Passwörter, etc.

Performance

Metrik Wert
Display deaktiviert 0% Overhead
Display aktiviert <0.1% Backend-Overhead
HTTP Requests Event-basiert (1-5/Min)
Request Latenz <100ms (lokales Netzwerk)
Batterieverbrauch Abhängig von Helligkeit

Nächste Schritte


Weitere Ressourcen