RalfJoos IT-Systemadministrator
Projekt · Oktober 2026

Eine Lichtsteuerung im Browser

Damit schalte ich die Lampen in der Wohnung vom Rechner aus: ganze Räume an und aus, Helligkeit, Farbe und gespeicherte Lichtstimmungen. Die Oberfläche hat eine KI gebaut. Ich habe sie als Dienst auf meinem eigenen Server eingerichtet. Dort läuft sie ständig, und jeder Rechner im Haus öffnet sie im Browser, ohne dass vorher etwas gestartet werden muss.

Node.js Hue-Bridge systemd
Lichtsteuerung
Die Hue-Steuerung: Räume als Karten mit Schalter, Helligkeitsregler und Szenenauswahl

Was sie kann

Räume

Ganze Zimmer mit einem Klick, ein Helligkeitsregler für alle Lampen im Raum, Einzellampen zum Aufklappen.

Farben und Weißtöne

Ein Farbrad, das die Farbe in den Farbraum der Lampen umrechnet, und ein Regler für warmes bis kühles Weiß.

Eigene Szenen

Den aktuellen Zustand eines Raums speichern, benennen und später mit einem Klick zurückholen.

Dazu kommen die smarten Steckdosen mit eigenem Bereich. Bewegt man einen Schieberegler, schickt die Oberfläche nicht jede Zwischenstellung an die Bridge, sondern nur die letzte. Im Hintergrund gleicht sie regelmäßig ab, damit auch Änderungen vom Handy oder vom Wandschalter erscheinen.

Vom Programm auf dem PC zum Dienst auf dem Server

Am Anfang lief die Steuerung als kleiner Server auf meinem PC und musste vor jeder Benutzung gestartet werden. Jetzt läuft sie auf dem Raspberry Pi als systemd-Dienst: Er startet beim Booten und nach einem Absturz von selbst neu. Am Programm habe ich für den Umzug nichts geändert, es braucht nur Node.js und keine zusätzlichen Pakete. Von außen ist sie nicht erreichbar, nur im Heimnetz.

Das Fenster, das seine Größe vergaß

Auf dem PC öffnet eine Startdatei die Oberfläche als App-Fenster ohne Adressleiste. Nach dem Umzug auf den Server merkte sich dieses Fenster seine Größe nicht mehr. Der Browser legt die Fenstergröße je Adresse ab, zerlegt eine IP-Adresse mit ihren Punkten aber in mehrere Ebenen, anders als bei localhost. Jetzt merkt sich die Seite Größe und Position selbst, getrennt für jeden Rechner. Das Fenster erkennt sie an einem Zusatz in der Adresse, weil der Browser auch im App-Fenster meldet, es gebe eine Adressleiste. Die Position kam danach auf zwei Rechnern auf den Pixel genau wieder.

Was ich dabei beachte

Eigene Szenen liegen seit dem Umzug zweimal, auf dem PC und auf dem Server, und entwickeln sich getrennt. Beim Übertragen einer neuen Fassung kopiere ich diese Datei deshalb bewusst nicht mit, sonst überschreibt der PC-Stand die auf dem Server gespeicherten Szenen.

Was es nicht ist

Die Steuerung hat keinen eigenen Zugriffsschutz: Wer im Heimnetz ist, kann schalten. Für eine Wohnung ist das so gewollt, für ein Büro wäre es das nicht.

Technik

TeilWomit
ServerNode.js ohne zusätzliche Pakete, spricht die lokale Schnittstelle der Hue-Bridge
OberflächeHTML, CSS und JavaScript, Farbumrechnung in den CIE-Farbraum der Lampen
Betriebsystemd-Dienst auf dem Raspberry Pi 5, nur im Heimnetz

Fragen zum Projekt?

Schreiben Sie mir.