HomeMatic Script
HomeMatic Script ist eine Programmiersprache, die innerhalb der HomeMatic Zentrale den Zugriff auf die Logikschicht ermöglicht. Mit Hilfe von HomeMatic Script kann man die Zustände von HomeMatic Geräten auslesen und manipulieren. Darüber hinaus erhält man Zugriff auf Systemvariablen sowie Räume, Gewerke, Favoriten und Programme.
Inhaltsverzeichnis
Dokumentation
Auf der HomeMatic Homepage wurde vom Hersteller die offzielle Dokumentation von HomeMatic Script in vier Teilen veröffentlicht.
- Teil 1: Sprachbeschreibung
- Teil 2: Objektmodell
- Teil 3: Beispiele
- Teil 4: Datenpunkte
- 5: Beschreibung der XML-RPC Schnittstelle
Die offizielle HomeMati Script Dokumentation bildet einen guten Ausgangspunkt für diejenigen, die sich mit der Sprache vertraut machen wollen. Allerdings beleuchtet die offzielle Dokumentation nicht alle Möglichkeiten von HomeMatic Script. Für alle, die mehr mit HomeMatic Script machen wollen, wurden hier im HomeMatic Wiki verschiedene undokumentierte Funktionen zusammengetragen:
Einsatzgebiete
Innerhalb von Programmen
Das wichtigste Anwendungsgebiet von HomeMatic Script ist der Einsatz als Scriptsprache innerhalb von Programmen. Dazu kann ein Script als Aktion auf ein Ereignis definiert werden. Gewisse Aufgaben lassen wie der Einsatz von arithmetischen Operatoren oder das Versenden von E-Mails lassen sich erst durch den Einsatz von Homematic-Script lösen.
Innerhalb von Tcl-Scripten
load tclrega.so array set result [rega_script { Write("Hallo Welt!"); }] puts $result(STDOUT)
Innerhalb der HomeMatic Zentrale wird häufig Gebrauch von Tcl-Scripten gemacht. Mit dem Laden von tclrega.so wird der Zugriff auf den HomeMatic Script Interpreter ermöglicht. Einzelne Scripte können dann über das Kommando rega_script ausgeführt werden. Als Ergebnis wird ein Tcl-Array zurückgeliefert, welches die Werte von den verwendeten Variablen sowie die Standardausgabe enthält. Letztere wird über das Element STDOUT angesprochen.
Remote HomeMatic Script
Zur Fernsteuerung der HomeMatic Zentrale kann die Remote HomeMatic Script Schnittstelle eingesetzt werden. Dabei wird das HomeMatic Script per HTTP-POST an die HomeMatic Zentrale gesendet. Diese verarbeitet das Script und überträgt die Standardausgabe sowie die Werte der verwendeten Variablen in der HTTP-Antwort zurück an den aufrufenden Prozess.
Der HomeMatic Script-Interpreter verbrigt sich hinter folgender URL auf der Homematic Zentrale:
http://<ip_der_ccu>:8181/Test.exe
Beispiel
Anfrage:
var i = 1; WriteLine("Hallo Welt");
Antwort:
Hallo Welt <xml><i>1</i></xml>
Hinweise zur Firewall
Der Zugriff auf die Remote HomeMatic Script Schnittstelle kann über die Firewalleinstellungen der HomeMatic Zentrale innerhalb der Systemsteuerung begrenzt werden. Die Standardeinstellung lässt nur Zugriffe aus dem lokalen Netzwerk zu. Über die Firewalleinstellungen ist es jedoch möglich, Remote HomeMatic Script global zuzulassen oder auch komplett zu blocken.