TapHome hat eine einzige Skriptsprache für smart rules, Benachrichtigungen und Geräteintegrationen. Syntax und Funktionen sind überall gleich; nur die verfügbaren Variablen, Konstanten und Funktionen hängen davon ab, wo das Skript läuft. Die App hebt die Syntax im Skripteditor farbig hervor.
Wo Skripte verwendet werden
Dieselbe Skriptsprache läuft in smart rules, Benachrichtigungen und in den Integrationen Modbus und Packet Parser:
| Kontext | Was das Skript tut | Kontextspezifisch |
|---|---|---|
| smart rule Gleichung | Ein Ausdruck über Gerätewerte. TRUE führt die Aktionen für „wahr“ aus, FALSE die Aktionen für „falsch“. | LastState, TriggerName |
| smart rule Formel | Berechnet einen Wert, der in jedes Ausgangsgerät geschrieben wird. | LastState, TriggerName |
| smart rule Skript | Liest Gerätewerte und weist neue zu; jede Zuweisung wird zu einer Geräteaktion. | Lese-/Schreibvariablen, TriggerName |
| Begrenzungsbedingung Formel | Entscheidet, ob eine smart rule ausgeführt werden darf. | TRUE lässt die smart rule laufen |
| Benachrichtigung — Titel und Nachricht | Erzeugt den Text einer Benachrichtigung. | Muss Text zurückgeben; Benachrichtigungskonstanten |
| Modbus — Leseskript des Moduls | Fragt das Modul ab, typischerweise um Gerätefehler zu melden. | Funktionen MODBUS* |
| Modbus — Lese- und Schreibskripte des Geräts | Wandelt Register in einen Gerätewert und einen angeforderten Wert zurück in Register um. | Das Leseergebnis wird zum Gerätewert |
| Modbus — Initialisierungsskript | Läuft einmal, nachdem sich das Modul verbunden hat. | Typischerweise MODBUSWNE |
| Packet Parser — Lese- und Schreibskripte | Sendet eine Anfrage oder einen Befehl über HTTP, FTP, TCP, UDP oder MQTT; bei HTTP und FTP verarbeitet es auch die Antwort. | SENDHTTPREQUEST, SENDDATA, MQTTPUBLISH |
| Packet Parser — Listener-Skript | Verarbeitet jedes eingehende TCP- oder UDP-Paket und jede MQTT-Nachricht. | RECEIVEDMSG |
| Service-Attribute und Service-Aktionen (Modbus, Packet Parser) | Diagnosezeilen und Schaltflächen mit Parametern in der App. | Aktionsparameter über ihre Abkürzung |
SLEEP wird in smart rules und Benachrichtigungen abgelehnt (die Ausnahme ist die Begrenzungsbedingung Formel). ADDERROR, ADDWARNING und ADDINFO funktionieren nur in Geräteskripten. Was jede smart rule an ihr Skript übergibt, steht auf Skripte in smart rules und Benachrichtigungen; die Integrationen haben eigene Seiten, Modbus-Funktionen und Packet-Parser-Funktionen.
Skriptergebnis
Ein Skript ist eine Liste von Anweisungen. Der Wert der zuletzt ausgewerteten Anweisung ist das Ergebnis des Skripts. RETURN beendet das Skript vorzeitig mit dem angegebenen Wert.
VAR a := 1;
VAR b := 2;
a + b;
# Result: 3Das Ergebnis eines Leseskripts eines Geräts muss zum Gerätewert passen, sonst schlägt das Skript mit Return value 'X' does not match required return type constraint fehl:
| Gerätewert | Zulässiges Ergebnis |
|---|---|
| Schaltzustand, Reedkontakt | TRUE oder FALSE (Zahlen werden akzeptiert), NaN, Null |
| Zustand des Mehrfachschalters | Zahl (eine ganze Zahl wählt den Zustand; ein Dezimalwert wird nicht abgelehnt), NaN, Null |
| Jeder andere Wert | Zahl, NaN, Null |
NaN bedeutet „der Wert ist unbekannt“, Null bedeutet „es gibt keinen Wert“. Wie sich beide in Ausdrücken verhalten, beschreibt Null und NaN.
Seiten in diesem Abschnitt
Die Referenz der Skriptsprache hat vier Seitengruppen: einen Leitfaden zur Sprache, die Funktionen nach Bereichen, die Integrationsfunktionen und Referenzlisten.
Leitfaden
- Syntax und Ablaufsteuerung — Anweisungen, Kommentare, Literale,
IF,SWITCH, SchleifenWHILEundDO,RETURN. - Datentypen — Zahlen, Text, strukturierte und Aufzählungstypen, Sammlungen,
.Type, Typerweiterung,NullundNaN. - Variablen und Konstanten — Gerätevariablen, Wertinfo, Modulvariablen,
VARund typisierte Deklarationen, Eigenschaften, Kontextkonstanten. - Operatoren — Liste der Operatoren, Rangfolge, Kurzschlussauswertung, Entsprechungen in Excel.
- Skripte in smart rules und Benachrichtigungen — Gleichung, Formel, Skript, die Begrenzungsbedingung Formel und Benachrichtigungen.
Funktionen
- Logik und Diagnose —
ISNULL,ISNAN,EQUALS,SLEEP,ADDERROR,ADDWARNING,ADDINFO,DEBOUNCE. - Mathematische Funktionen —
MIN,MAX,AVG(sie überspringen unbekannte Werte, die Varianten…STRICTnicht),ABS,SIGN,SQRT,POWER,MOD,LOG,LN,DEWPOINT. - Runden und Zufallszahlen —
ROUND,CEIL,FLOOR,RAND,RANDINT. - Interpolation und Schwellenwerte —
LINEARbildet einen Wert von einem Bereich auf einen anderen ab (zum Beispiel eine Dimmkurve),HYSTERESIS. - Bitoperationen —
GETBIT,GETBITS,SETBIT,SETBITS,GETBYTE,SETBYTE,TOBCD,FROMBCD. - Text und Sammlungen —
LENGTH,GETAT,SETAT,APPEND,INSERT,REMOVEAT,COPY,INDEXOF,REPLACE,SPLIT,COMPARE,BYTECOLLECTION,UINT16COLLECTION,BOOLCOLLECTION. - Sortieren —
ORDER,ORDERINDEXund ihre absteigenden und strikten Varianten. - Datum und Uhrzeit —
NOW,DATETIME,DATETIMEADD,TIMESPAN,LOCALTIMEZONE. - Datentypkonvertierungen —
TOSTRING,TODOUBLE,TOBYTES,ENCODE,DECODE. - Farben —
HSVTORGB,RGBTOHSV. - Parsing-Funktionen —
PARSETEXT,PARSEJSON(liest einen Wert aus JSON über seinen Pfad),PARSEXML. - Binärdaten —
PACKVALUE,UNPACKVALUE.
Integrationen
- Modbus-Funktionen — Registertypen,
MODBUSR,MODBUSW,MODBUSWNE,MODBUSRBLOCK,MODBUSWBLOCK,MODBUSWBLOCKNE. - Modbus-Datentypen — Datentypen der Modbus-Funktionen, Varianten der Bytereihenfolge, 64-Bit-Typen, Text.
- Modbus-Skripte und Prefetch — welche Skripte ein Modbus-Modul und ein Modbus-Gerät haben, wann sie laufen, Prefetch und Caching.
- Packet-Parser-Funktionen —
HTTPREQUEST,SENDHTTPREQUEST,SENDDATA,MQTTPUBLISH,FTPDOWNLOAD,FTPUPLOAD,COMPLETESERVICEATTRIBUTE,COMPLETESERVICEACTION. - Listener-Skripte — das Listener-Skript eines Packet-Parser-Moduls,
RECEIVEDMSGundRECEIVEDBYTES.
Referenz
- Skriptbeispiele — vollständige Skripte aus echten Gerätevorlagen.
- Skriptfehler und Fehlerbehebung — Fehlermeldungen beim Parsen und zur Laufzeit und wie man sie behebt.
- Versionsanforderungen der Skripte — welchen Build der Steuereinheit Core jede Funktion benötigt.
- Skriptfunktionen A–Z — jede Funktion mit einem Satz und einem Link.