Skripte
Ein Skript führt eine Reihe von Eib-
Es wird gestartet durch die Anforderung /script/my-script-name.
Skripte befinden sich in /usr/local/etc/rleibd. Im Augenblick ist es möglich, den Pfad durch ../ zu erweitern aber das wird möglicherweise in Zukunft aus Sicherheitsgründen blockiert.
Wenn Sie Ihre Skripte woanders plaziert haben wollen müssen Sie das bei der Kompilierung angeben.
Das Script-
Ein Script wird als Pthread ausgeführt. Dadurch kann eine praktisch unbegrenzte Anzahl von Skripten parallel ausgeführt werden und ein einzelnes Skript kann beliebig lange laufen. Es besteht jedoch keine Möglichkeit, ein Skript abzubrechen. Bedenken Sie das bei Skripten mit langer Laufzeit. Die einzige Möglichkeit, ein Skript zu beenden, ist rleibd zu beenden.
Ein Skript besteht aus Zeilen des folgenden Aufbaus:
Kommentare sind möglich durch das #
-Zeichen. Jede Zeile, die mit
einem #
beginnt wird ebenfalls als Kommentar behandelt. Alles andere
wird an den Portserver geschickt.
Der Skriptprozessor fordert die <url> an und wartet für
<delay> Millisekunden.
Bei größeren Skripten sollten Sie die Übertragungszeit für jedes
Telegramm bedenken um einen Sendepuffer-
Die Größe des Sendepuffers ist im Eib-
Denken Sie an den besonderen Wert -1
für
Signalisierungszwecke.
/eib/grp/x.y.z?val=-1
invertiert den augenblicklichen Wert, d.h. wenn Ihr Licht aus ist wird
es eingeschaltet und wenn es an ist wird es ausgeschaltet. Das ist
sehr nützlich um z.B. bei
bestimmten Ereignissen Lichter blinken zu lassen. (crond, atd!).
Zukünftige Erweiterungen
- Möglichkeit, ein Skript durch bestimmte Telegramme zu stoppen
- Bedingungen (if group x.y.z = 0)
- Schleifen
- Parameter (z.B. MinimumDelayMilliseconds um die Verzögerung in jeder Zeile zu sparen)
- Sperren von .. und / aus Sicherheitsgründen