Anwendungen

Licht zentral steuern

Möchten Sie alle Lampen auf Knopfdruck ausschalten, wenn Sie morgens das Haus verlassen, oder abends zu Bett gehen? Dafür benötigen Sie

So geht's:

Stellen Sie den Tastsender, der die Zentralfunktion auslöst, auf eine eigene Adresse ein – sodass er im Standalone-Betrieb zunächst keine Empfänger steuert, etwa Adresse 79. Notieren Sie sich die Adressen der zentral zu steuernden Empfänger, in diesem Beispiel die Adressen 2 bis 5.

Öffnen Sie die Z-Bus Home App, und rufen Sie den Menüpunkt Script auf – oder besuchen Sie einfach https://home.z-bus.com/script

Im Editor geben Sie diesen Code ein (passen Sie einfach die Adressen an):

Wenn Sie den Code mit dem Pfeil am rechten, oberen Bildschirmrand ausführen (oder aktualisieren), dann ist Ihre Automation auch schon einsatzbereit.

Beim Druck des Tasters werden alle Lampen ausgeschaltet – auch ohne Anschluss ans Internet. Und schon ist die Automation fertig!

Weiter unten erkläre ich Ihnen, wie Sie das Ganze noch kürzer fassen können.

Schritt für Schritt erklärt

Die Methode zBus.receive führt eine beliebige Funktion jedesmal aus, wenn ein Datentelegramm mit einer bestimmten Adresse auf dem Bus empfangen wird (in unserem Beispiel ist das Adresse 79):

Diese Funktion () => {} ist als sogenannte Pfeilfunktion notiert:

Die Methode zBus.transmit ist das passende Gegenstück – damit können Sie ein aus Adresse und Befehl bestehendes Datenpaket auf dem Bus absetzen, beispielsweise die erste Lampe auf Adresse 2 mit 'on' ein- oder 'off' ausschalten. Dieser Code schaltet diese Lampe bei Empfang der Adresse 79 aus:

Damit hätten wir bereits das nötige Handwerkszeug beisammen, um alle vier Lampen in unserer Anwendung zentral auszuschalten:

In der Praxis werden Sie jedoch viele weitere Lampen zentral steuern, sodass die Automation schnell unübersichtlich werden kann. Deshalb können Sie alle Adressen ganz einfach mit [2, 3, 4, 5] in einem Array zusammenfassen und dann mit einer for … of Schleife über dessen Inhalt iterieren:

Zusammengebaut sieht die Automation dann so aus:

Bei jedem Empfang von Adresse 79 wird nun der Befehl Aus, 'off', nacheinander an alle vier Adressen 2, 3, 4, und 5 weitergeleitet.

Da sie das Konzept der Callback-Funktion mit der Pfeilnotation nun bereits kennen, zeige ich Ihnen zum Schluss noch eine alternative, kürzere Variante mit der forEach-Methode, die denselben Zweck erfüllt:

…und es geht sogar noch kürzer, in einer Zeile 😅

Kurz zusammengefasst

Mit einem Z-Bus Interface und einem einfachen Script können Sie mehrere Lampen von einem Taster aus zentral ein- oder ausschalten.