Treppenhausbeleuchtung

Mit ein paar Tricks wird es ratzfatz hell auf der Treppe

Mit meiner Treppenhausbeleuchtung wurstele ich schon seit vielen Jahren herum. Das Problem war, dass ich regelmäßig wild mit den Armen wedelnd im ersten Stock auf dem Flur stand, weil das Licht ewig zum Einschalten brauchte. Zum Glück hat das nicht so gut funktioniert, so dass es dunkel blieb, denn es sah bestimmt albern aus.

Was ich auf der Treppe veranstaltet habe, mag ich hier nicht mal beschreiben.

Mit einigen wohlplatzierten Klicks in der WebUI ließ sich die Situation deutlich verbessern.

Benennung von Systemvariablen

Prinzipiell kann man Systemvariablen – so wie allen Objekten in der CCU – beliebige Namen geben, also z. B. auch Umlaute und Sonderzeichen verwenden. Ich empfehle jedoch, sich auf reguläre Buchstaben (a-z, A-Z) zu beschränken: Bei Umlauten und Sonderzeichen besteht die Gefahr, dass Systemvariablen in Scripten nicht überall gefunden werden.

Früher

Ich habe drei Bewegungsmelder in meinem Treppenhaus verteilt: einen für den Flur im ersten Stock und je einen für die beiden Treppen nach oben und unten.

Die Beleuchtung wird mit vier Schaltaktoren geschaltet: einer für die Treppe unten, einer für die Treppe oben, zwei für den Flur, welcher zwar klein ist, aber verwinkelt, und außerdem steht mein Bücherregal … egal, vier Aktoren.

Die Bewegungsmelder haben bei Bewegung das Licht über Zentralenprogramme im jeweils zugehörigen Bereich eingeschaltet. Es gab noch zusätzliche Bedingungen, damit z. B. bei offenen Fenstern und Türen das Licht ausgeschaltet blieb – wegen der Insekten im Sommer.

Diese Implementierung hatte zwei große Nachteile.

Zeitverzögerung

Auf dem Schaubild sieht man, dass zum Schalten des Lichts eine Menge Befehle gesendet werden mussten. Das kostete viel Zeit.

Wenn ich den Flur betrat, musste der Bewegungsmelder mich erst mal erkennen – das geringste Problem, denn ich bin groß und warm und damit ideal für Infrarot-Sensoren. Dann musste er die erkannte Bewegung an die CCU senden und die musste dann jedem einzelnen Aktor seine Einschaltdauer zusenden und ihn einschalten.

Beim Flur sind das fünf Befehle, wobei die CCU den jeweils nächsten Befehl erst sendet, wenn der vorherige durch den Empfänger quittiert wurde. Bidirektionale Kommunikation ist super für Betriebssicherheit, aber Gift, wenn man auf dem Weg ins Schlafzimmer nicht die Treppe runterfallen möchte.

LED-Alterung

Ich habe mein Treppenhaus mit eleganten LED-Spots ausgestattet – richtig aufwendig, jede Stufe ein Strahler, total schick. Leider weiß man immer erst hinterher, ob LED-Leuchten brauchbare Qualität haben oder nicht.

In diesem Fall: „oder nicht“.

Schon nach ein oder zwei Jahren wurden die Spots auf der unteren Treppe, die häufig eingeschaltet werden, deutlich dunkler. Ersatz ist schwer zu beschaffen, sofern ich nicht die Brandschutzwand zum Nachbarn noch mal aufstemmen möchte.

Der Workaround sieht so aus, dass ich nicht mehr nur den unteren Beleuchtungsteil schalte, wenn unten Bewegung erkannt wird, sondern den Flur gleich mit. Das zusätzliche Licht erhellt dann auch der unteren Treppe oberste Stufen. Wieder mehr Befehle. Wieder mehr Zeitverzögerung. Kein guter Workaround.

Das neue Programm

Der neue Plan sieht so aus: Ich schalte die Beleuchtung des gesamten Treppenhauses mit einer virtuellen Fernbedienung, so dass immer alle Leuchten gleichzeitig eingeschaltet werden. Das reduziert massiv den Kommunikationsaufwand und damit die Reaktionszeit:

Direkte Verknüpfungen mit den Bewegungsmeldern kommen für mich nicht in Frage, denn das wären 12 Stück – extrem nervig zu programmieren. Außerdem möchte ich weiterhin die Möglichkeit haben, Aktoren über Taster direkt einzuschalten, auch wenn die Automatik aus irgendeinem Grund deaktiviert ist – damit fällt dann auch die Sperre der Aktoren als Option weg.

Auch wenn die Logik jetzt etwas länger ist, steigt die Ausführungsgeschwindigkeit signifikant. Es kommt nicht auf die Länge an, sondern auf das viele Hin und Her. Wie beim Auto.

Virtuelle Fernbedienung einrichten

Zunächst suche ich mir einen freien virtuellen Kanal auf meiner CCU und gebe ihm einen passenden Namen. Ich nenne ihn mal Treppenhausbeleuchtung, wie es meiner generell spröden Art entspricht.

Unter Programme und Verknüpfungen / Direkte Verknüpfungen erstelle ich dann für meine vier Aktoren direkte Verknüpfungen. Die Vorgehensweise habe ich schon an anderer Stelle detailliert beschrieben.

Um virtuelle Kanäle in der Geräteliste auswählen zu können, muss der Button Virtuelle Kanäle anzeigen betätigt werden.

Dies gilt auch bei der Erstellung von WebUI-Programmen.

Wichtig ist, beim jeweils zweiten Schritt auf Erstellen und bearbeiten zu klicken. Als Standard ist der Ein-/Ausschalter vorbelegt – ich brauche das Treppenhauslicht mit fünf Minuten Einschaltdauer.

Danach auf OK, das Ganze für alle Aktoren wiederholen und die virtuelle Fernbedienung ist fertig.

Wer die Fernbedienung einem Raum oder Gewerk zugewiesen hat, der kann jetzt über Status und Bedienung direkt in der WebUI ausprobieren, ob die direkte Verknüpfung funktioniert.

Systemvariablen erstellen

Meine Treppenhausbeleuchtung soll unter bestimmten Bedingungen nicht automatisch eingeschaltet werden. Deshalb lege ich noch eine Systemvariable an, mit der festgelegt werden kann, ob sie aktiv ist oder nicht.

Die Systemvariable heißt Treppenhaus automatisch. Ich weise sie dem (neuen, virtuellen) Kanal Treppenhausbeleuchtung zu, damit ich den Status in der WebUI direkt beim Gerät angezeigt bekomme.

Eine zweite Systemvariable mit dem Namen Treppenhaus Zeitsperre wird später dafür sorgen, dass die Automatik für kurze Zeiträume gesperrt werden kann.

Was es damit auf sich hat, wird weiter unten deutlich.

Unter Status und Bedienung werden nun die Systemvariablen angezeigt.

Automatik aktivieren

Wenn irgendwo Fenster und Türen offen sind, dann soll das Licht nicht automatisch eingeschaltet werden. Ich lege daher ein kleines WebUI-Programm an, das die Systemvariable Treppenhaus automatisch setzt.

Das Programm ist ellenlang, weil jeder Raum aufgeführt ist, der ans Treppenhaus grenzt  – der Screenshot zeigt nur einen Ausschnitt. Der Aufbau ist allerdings einfach: Wenn bei irgendeinem Raum Fenster und Tür offen sind, dann wird die Automatik deaktiviert, sonst aktiviert.

Im Wohnzimmer habe ich keine Tür zum Treppenhaus, weil ich eine liberale Weltsicht habe, für eine offene Gesellschaft eintrete und in meinem Treppenhaus ein Zeichen gegen Ausgrenzung setze. Außerdem hat der Bauunternehmer da vor 30 Jahren keine Tür eingesetzt. Darum gibt es für das Wohnzimmerfenster keinen zugehörigen Türkontakt im Programm.

Zu beachten ist, dass Treppenhaus automatisch nicht über Systemvariable ausgewählt wird, sondern über den Kanal Treppenhausbeleuchtung, dem die Variable zugeordnet ist.

Licht schalten

Der große Moment: Mit einem weiteren kleinen WebUI-Programm wird das Licht geschaltet.

Das Programm ist recht simpel gestrickt: Wenn irgendwo Bewegung erkannt wird, die Automatik aktiv und die Zeitsperre inaktiv ist, dann wird der virtuelle Taster Treppenhausbeleuchtung betätigt – und das Licht geht an.

Zeitsperre für die gute Nacht

Was hat es nun mit der Zeitsperre auf sich? Wenn ein Bewegungsmelder eine Bewegung erkennt, dann sendet er diesen Status an die CCU. Wenn der interne Timer des Bewegungsmelders abgelaufen ist, sendet er den neuen Status keine Bewegung.

Wurde bei zwei Bewegungsmeldern Bewegung erkannt und der erste meldet danach wieder keine Bewegung zurück, dann wird das Programm erneut ausgelöst. Aufgrund der Logik von WebUI-Programmen wird erneut der virtuelle Tastendruck gesendet – der andere Bewegungsmelder hat ja noch eine offene Bewegungserkennung – und das Licht wird noch einmal für fünf Minuten eingeschaltet.

Hatte ich zwischenzeitlich das Licht im ganzen Haus ausgeschaltet, so schalten die Bewegungsmelder es im Treppenhaus wieder ein, bis keiner mehr eine Bewegung erkennt.

Mit Treppenhaus Zeitsperre kann ich dafür sorgen, dass die Automatik für kurze Zeit deaktiviert wird. Ich setze einfach in den fraglichen Programmen, also z. B. meinem Licht-aus-Script, die Zeitsperre auf aktiv und die Bewegungsmelder können ungestört ihr Ding machen.

Auch hier wird die Systemvariable wieder über das zugeordnete Gerät ausgewählt.

Um die Deaktivierung der Zeitsperre kümmert sich dann ein weiteres WebUI-Programm.

Das separate Programm erleichtert die Nutzung der Zeitsperre: Ich muss nur in einem beliebigen Programm Treppenhaus Zeitsperre aktivieren und ganz von selbst wird sie nach fünf Minuten wieder deaktiviert.

Wichtig ist die Auslösung bei Aktualisierung: Falls mehrere Programme die Automatik sperren wollen, soll jedes Mal die Verzögerung zurückgesetzt werden. Dafür ist auch der Haken bei alle laufenden Verzögerungen für diese Aktivitäten beenden notwendig.

Weitere Auslöser zum Einschalten

Manchmal möchte ich garantiert Licht im Flur haben, auch wenn ich noch keinen Bewegungsmelder ausgelöst habe. Ein Beispiel ist das Arbeitszimmer: Wenn ich dieses verlasse und das Licht ausschalte, dann ist es auch auf dem Flur dunkel. Erschwerend kommt hinzu, dass die Tür zum Arbeitszimmer den Bewegungsmelder auf dem Flur verdeckt, dieser also erst relativ spät reagieren kann. So warm, dass ich durch eine Holztür einen Infrarot-Sensor auslöse, bin ich selten.

Zum Glück kann die CCU auf „Licht ausschalten“ reagieren. Klingt einfach: Wenn ich die Beleuchtung in Arbeitszimmer oder Bad ausschalte, wird die Treppenhausbeleuchtung ausgelöst.

Eine wesentliche Änderung ist jedoch bei den Systemvariablen zu beachten: diese sind nun auf nur prüfen gesetzt.

Der Grund: Wenn ich das Licht im ganzen Haus ausschalte und Treppenhaus Zeitsperre aktiviert wird, geht auch das Treppenhauslicht aus – logisch. Nach fünf Minuten wird Treppenhaus Zeitsperre wieder deaktiviert. Ist diese Bedingung nicht auf nur prüfen gesetzt, dann löst die Systemvariable selbst das Programm wieder aus.

Bei den Bewegungsmeldern war das kein Problem, denn die sind nach spätestens fünf Minuten wieder auf keine Bewegung zurückgefallen. Die Beleuchtung in Bad und/oder Arbeitszimmer ist jedoch auf jeden Fall aus; damit ist die Bedingung erfüllt und das Licht geht wieder an. Klingt komisch, ist aber so.

Die ausführliche Erklärung findet sich auch hier in der Logik von WebUI-Programmen.

Navigation