HomeMatic Script

Aus Wikimatic
Version vom 6. Oktober 2017, 20:04 Uhr von Regelfritze (Diskussion | Beiträge) (Rezepte)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

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.

Dokumentation

Auf der HomeMatic Homepage wurde vom Hersteller die offzielle Dokumentation von HomeMatic Script in vier Teilen veröffentlicht.

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.

Rezepte