Mein erstes Skript

In diesem Beispiel wird von Anfang bis Ende gezeigt, wie ein Skript in der HomeKit Brücke für KNX erstellt wird. Die Logik, die in diesem Skript abgebildet wird, ist ganz einfach.

Das Skript synchronisiert die Werte von der Gruppenadresse 0/0/1 mit der Gruppenadresse 0/0/2. Das heißt, wird über den KNX Bus der Wert 1 (oder 0) an 0/0/1 gesendet, dann sendet das Skript den Wert auch an 0/0/2.

Im folgenden Ablaufdiagramm ist die Logik nochmal grafisch dargestellt.

Nach dem Start des Skripts wird einen For-Schleife erstellt. Innerhalb der Schleife wird gewartet bis Werte von der Gruppenadresse 0/0/1 empfangen werden. Daraufhin wird der empfangene Wert an die Gruppenadresse 0/0/2 gesendet. Nach dem Senden wird wieder an den Anfang der Schleife zurückgesprungen.

Wie du siehst ist für das Skript kein Ende ersichtlich. Das heißt, das Skript läuft solange bis die HomeKit Brücke für KNX beendet wird. Wie das Skript gestartet wird, erfährst du weiter unten.

1. Skript erstellen

Um ein neues Skript zu erstellen, wird in der Weboberfläche auf den Reiter Skript gewechselt und auf Neues Skript geklickt. Es öffnet sich eine neue Seite. Jetzt kann im vorgesehenen Eingabefeld ein Name für das Skript eingegeben werden - zB Erstes Skript.

2. Logik programmieren

Unter dem Eingabefeld für den Namen befindet sich ein Textfeld. Hier wird folgender Skriptcode eingegeben.

 1// Importiere das hkknx-Package.
 2var hkknx = import("hkknx")
 3
 4// Definiere die Variable *ch*. Diese Variable liefert 
 5// boolesche Werte, die an die Gruppenadresse 0/0/1 mit
 6// einem Group-Write-Telegramm gesendet werden.
 7ch = hkknx.GroupWriteBoolNotify("0/0/1")
 8
 9for {
10    // Warte bis *ch* einen Wert liefert. Der Wert wird
11    // in der Variable *value* zwischengespeichert.
12    value = <-ch
13    
14    // Gib den empfangenen Wert über das Systemprotokoll aus.
15    println(value)
16    
17    // Sende den empfangene Wert mit einem 
18    // Group-Write-Telegramm an 0/0/2.
19    hkknx.GroupWrite(value, "0/0/2")
20}

Speichere nun das Skript.

3. Skript testen

Wenn das Skript gespeichert wurde, ist es erstmal inaktiv und wird noch nicht ausgeführt. Um das Skript zu testen, klicke auf Ausführen. Das Skript wird nun gestartet und läuft solange bist es wieder beendet wird. Du kannst das Script beenden indem du auf Beenden klickst oder das Browserfenster schließt.

Warte nun bis ein Wert an 0/0/1 gesendet wird. Wenn das passiert, wird entweder True oder False ausgegeben. Somit hast du erfolgreich einen Wert empfangen.

4. Skript aktivieren

Damit das Skript automatisch ausgeführt wird, wenn die HomeKit Brücke für KNX startet, muss es aktiviert werden. Klicke dazu auf den Reiter Skripte um alle Skripte zu sehen. Wähle dann das Kontrollkästen in der Spalte Aktiv für dein Skript aus. Sobald das Skript läuft wird in der Spalte Status die Aktivitätsanzeige sichtbar.



© Matthias Hochgatterer – MastodonGithubRésumé