Benutzer-Werkzeuge

Webseiten-Werkzeuge


software:hecos-engine:tcl

HECoS//Engine Tcl


Bei jeder Statusänderung von HECoS//Engine kann ein Tcl-Script aufgerufen werden. Die Scripte liegen unter /opt/hecos/tcl.

/opt/hecos/tcl/*.engine: Diese Skripte werden bei Statusänderungen der Engine aufgerufen.
/opt/hecos/tcl/*.agent: Diese Skripte werden bei Statusänderungen der Agents aufgerufen.
/opt/hecos/tcl/*.ui: Diese Skripte werden bei Statusänderungen der User Interfaces aufgerufen.
/opt/hecos/tcl/*.device: Diese Skripte werden bei Statusänderungen der Devices aufgerufen.

Folgende Kommandos stehen innherhalb der Skripte zur Verfügung:

TIMESTAMP


Gibt den aktuellen Zeitstempel formatiert zurück

Beispiel:

% timestamp
"2016-08-09 12:13:14.123"

DEVICES


Gibt eine Liste mit allen Devices

Syntax: devices

Beispiel:

% devices
{"GA/1/ambient EG/5/ambient-links" "EG/5/ambient-rechts" "DG/1/temperatur DG/2/temperatur" "GA/2/lampe-kugeln" "GA/3/lampe-seite" "GA/3/lampe-eingang" "GA/2/lampe-sprudelstein" "GA/2/pumpe-sprudelstein" "GA/6/steckdose-links-1" "GA/6/steckdose-links-2" "GA/6/steckdose-links-3" "GA/6/steckdose-rechts-1" "GA/6/steckdose-rechts-2" "GA/6/steckdose-rechts-3"}

DEVICE


Abfragen von Parametern eines Devices

Syntax:
device <fid>/<rid>/<did> get type
device <fid>/<rid>/<did> get group
device <fid>/<rid>/<did> get fid
device <fid>/<rid>/<did> get rid
device <fid>/<rid>/<did> get did
device <fid>/<rid>/<did> get title
device <fid>/<rid>/<did> get description
device <fid>/<rid>/<did> get lastupdate
device <fid>/<rid>/<did> get channels

Beispiel:

% device "UG/3/fenster-links" get "fid"
"UG"
% device "UG/3/fenster-links" get "rid"
"3"
% device "UG/3/fenster-links" get "did"
"fenster-links"
% device "UG/3/fenster-links" get "channels"
{"meta/rfaddress" "meta/device-type" "meta/room-id" "meta/firmware" "meta/test" "sensor/dst" "sensor/gateway" "sensor/panel" "sensor/link" "sensor/battery" "sensor/initialized" "sensor/error" "sensor/window"}

CHANNEL


Abfragen und Setzen von Parametern eines Kanals eines Devices

Syntax:
channel <fid>/<rid>/<did>/<ctype>/<name> get name
channel <fid>/<rid>/<did>/<ctype>/<name> get unit
channel <fid>/<rid>/<did>/<ctype>/<name> get|set value
channel <fid>/<rid>/<did>/<ctype>/<name> get lastupdate

Beispiel:

% channel "UG/3/fenster-links/sensors/window" get "value"
"OPEN"
% channel "DG/1/temperatur/sensors/temperature" get "value"
"26.1"
% channel "DG/1/temperatur/sensors/temperature" get "unit"
"°C"
% channel "EG/5/lampe-vitrine2/actor/state" get "value"
"OFF"
% channel "EG/5/lampe-vitrine2/actor/state" set "value" "ON"
software/hecos-engine/tcl.txt · Zuletzt geändert: 2016/09/02 13:32 von Frank Werner