Automatic Light Controller

Automatische Lichtsteuerung basierend auf Umgebungshelligkeit. MQTT Telemetrie via HiveMQ, Auswertung und Visualisierung in Datacake.

Ziel

Ziel des Projekts ist eine einfache, robuste Automatisierung für Raumlicht. Ein LDR misst die Umgebungshelligkeit. Bei niedriger Helligkeit schaltet das System das Licht ein, bei hoher Helligkeit wieder aus. Zusätzlich wird ein Sunrise und Sunset Use Case abgebildet, mit schrittweisem Dimmen bis aus oder bis volle Helligkeit.

Mein Beitrag

  • Sensoranbindung und Auslesen der Helligkeitswerte mit LDR am Arduino Nano
  • Implementierung eines MQTT Clients und Versand strukturierter Payloads an einen HiveMQ Broker
  • Schwellwertlogik, Dimmen für Sunrise und Sunset sowie einfache Fehlerfälle wie ungültige Messwerte

Tech Stack

Arduino Nano MicroPython LDR Sensor MQTT HiveMQ Broker Datacake Dashboard

Umsetzung

Der Ablauf ist klar getrennt. Zuerst werden die Sensorwerte ausgelesen und plausibilisiert. Danach werden die Werte geprüft und als Payload per MQTT an den Broker gesendet. In Datacake wird die Payload decodiert und als Dashboard dargestellt. Auf Basis der Helligkeit wird der Lichtzustand gesetzt, inklusive Dimmverlauf für Sunrise und Sunset.

  • Read and handle values: Messwertaufnahme und einfache Plausibilisierung
  • Check values and send: Schwellwertprüfung, Payload erzeugen, MQTT Publish an HiveMQ
  • Datacake decode: Payload decoding und Visualisierung als Dashboard

Use Case

  • Sunrise: Licht schrittweise dimmen, bis es komplett aus ist
  • Sunset: Licht einschalten und schrittweise auf volle Helligkeit dimmen

Herausforderungen

  • Integration in ein Smart Home Setup mit mehreren Lampen war unerwartet aufwendig
  • Viele mögliche Komponenten und Ansätze. Zwei volle Tage gingen für Integrationsthemen verloren

Lessons Learned

  • Systemintegration kostet oft mehr Zeit als die reine Sensorlogik. Eine klare Architektur spart Debugging
  • Gute Dokumentation und eindeutige Schnittstellen sind entscheidend, wenn mehrere Tools zusammenspielen

Ausblick

  • Integration in ioBroker weiterverfolgen
  • Licht automatisch deaktivieren, wenn niemand zu Hause ist. Aktivieren bei Heimkehr
  • Optionaler Weckmodus, z.B. sanftes Aufdimmen am Morgen

Links