TapHome má jeden skriptovací jazyk pre smart rules, notifikácie a integrácie zariadení. Syntax a funkcie sú všade rovnaké; od miesta, kde skript beží, závisia iba dostupné premenné, konštanty a funkcie. Aplikácia pre Android, Windows a macOS v editore skriptu zvýrazňuje syntax; aplikácia pre iOS ukazuje skript bez zvýraznenia.
Kde sa skripty používajú
Ten istý skriptovací jazyk beží v smart rules, notifikáciách a v integráciách Modbus a Packet parser:
| Kontext | Čo skript robí | Špecifické pre kontext |
|---|---|---|
| Smart rule typu Rovnica | Jeden výraz nad hodnotami zariadení. TRUE spustí akcie pre pravdu, FALSE akcie pre nepravdu. | LastState, TriggerName |
| Smart rule typu Vzorec | Vypočíta hodnotu, ktorá sa zapíše do každého výstupného zariadenia. | LastState, TriggerName |
| Smart rule typu Skript | Číta hodnoty zariadení a priraďuje nové; z každého priradenia sa stane akcia na zariadení. | Premenné na čítanie a zápis, TriggerName |
| Obmedzujúca podmienka typu Vzorec | Rozhoduje, či smart rule smie bežať. | TRUE dovolí smart rule bežať |
| Názov a text notifikácie | Zostavuje text notifikácie. | Musí vrátiť text; konštanty notifikácií |
| Modbus skript na čítanie modulu | Dopytuje modul, typicky kvôli chybám zariadení. | Funkcie MODBUS* |
| Modbus skripty na čítanie a zápis zariadenia | Prevedie registre na hodnotu zariadenia a požadovanú hodnotu späť na registre. | Výsledok skriptu na čítanie sa stane hodnotou zariadenia |
| Modbus inicializačný skript | Spustí sa raz po pripojení modulu. | Typicky MODBUSWNE |
| Packet parser skripty na čítanie a zápis | Pošle požiadavku alebo príkaz cez HTTP, FTP, TCP, UDP alebo MQTT; pri HTTP a FTP spracuje aj odpoveď. | SENDHTTPREQUEST, SENDDATA, MQTTPUBLISH |
| Packet parser listener skript | Spracuje každý prichádzajúci TCP alebo UDP paket a každú MQTT správu. | RECEIVEDMSG |
| Servisné atribúty a akcie (Modbus, Packet parser) | Diagnostické riadky a tlačidlá s parametrami v aplikácii. | Parametre akcie podľa ich skratky |
SLEEP je v smart rules a notifikáciách odmietnutý (výnimkou je obmedzujúca podmienka typu Vzorec). ADDERROR, ADDWARNING a ADDINFO fungujú iba v skriptoch zariadení. Čo jednotlivé smart rules odovzdávajú svojmu skriptu, popisuje stránka Skripty v smart rules a notifikáciách; integrácie majú vlastné stránky, Funkcie Modbus a Funkcie Packet parsera.
Výsledok skriptu
Skript je zoznam príkazov. Výsledkom skriptu je hodnota posledného vyhodnoteného príkazu. RETURN ukončí skript predčasne so zadanou hodnotou.
VAR a := 1;
VAR b := 2;
a + b;
# Result: 3Výsledok skriptu na čítanie zariadenia musí zodpovedať hodnote zariadenia, inak skript skončí chybou Return value 'X' does not match required return type constraint:
| Hodnota zariadenia | Povolený výsledok |
|---|---|
| Stav spínača, stavový kontakt | TRUE alebo FALSE (akceptujú sa aj čísla), NaN, Null |
| Stav viachodnotového prepínača | Číslo (stav vyberá celé číslo; desatinná hodnota sa neodmietne), NaN, Null |
| Akákoľvek iná hodnota | Číslo, NaN, Null |
NaN znamená „hodnota je neznáma“, Null znamená „hodnota neexistuje“. Ako sa obe správajú vo výrazoch, popisuje časť Null a NaN.