A TapHome egyetlen szkriptnyelvet használ a smart rule-okhoz, az értesítésekhez és az eszközintegrációkhoz. A szintaxis és a függvények mindenhol azonosak; csak az elérhető változók, konstansok és függvények függnek attól, hol fut a szkript. Az Android, Windows és macOS rendszerre készült alkalmazás a szkriptszerkesztőben kiemeli a szintaxist; az iOS rendszerre készült alkalmazás kiemelés nélkül jeleníti meg a szkriptet.
Hol használhatók a szkriptek
Ugyanaz a szkriptnyelv fut a smart rule-okban, az értesítésekben, valamint a Modbus és a Packet parser integrációban:
| Környezet | Mit csinál a szkript | Mi jellemző a környezetre |
|---|---|---|
| Egyenlet smart rule | Egyetlen kifejezés az eszközök értékei felett. TRUE esetén az igaz műveletek, FALSE esetén a hamis műveletek futnak le. | LastState, TriggerName |
| Képlet smart rule | Kiszámít egy értéket, amely minden kimeneti eszközbe beíródik. | LastState, TriggerName |
| Szkript smart rule | Beolvassa az eszközök értékeit és újakat rendel hozzájuk; minden értékadásból az eszköz egy művelete lesz. | Olvasható/írható változók, TriggerName |
| Képlet korlátozó feltétel | Eldönti, hogy a smart rule lefuthat-e. | TRUE engedi lefutni a szabályt |
| Értesítés címe és üzenete | Összeállítja az értesítés szövegét. | Szöveget kell visszaadnia; az értesítés konstansai |
| Modbus modul olvasó szkriptje | Lekérdezi a modult, jellemzően azért, hogy eszközhibákat jelezzen. | MODBUS* függvények |
| Modbus eszköz olvasó és író szkriptje | A regiszterekből az eszköz értékét állítja elő, a kért értéket pedig visszaalakítja regiszterekké. | Az olvasás eredményéből lesz az eszköz értéke |
| Modbus inicializáló szkript | Egyszer fut le, miután a modul csatlakozott. | Jellemzően MODBUSWNE |
| Packet parser olvasó és író szkriptek | Kérést vagy parancsot küld HTTP, FTP, TCP, UDP vagy MQTT protokollon; HTTP és FTP esetén a választ is feldolgozza. | SENDHTTPREQUEST, SENDDATA, MQTTPUBLISH |
| Packet parser listener szkript | Feldolgoz minden beérkező TCP- vagy UDP-csomagot és MQTT-üzenetet. | RECEIVEDMSG |
| Szolgáltatási attribútumok és szolgáltatási műveletek (Modbus, Packet parser) | Diagnosztikai sorok és paraméterezhető gombok az alkalmazásban. | A művelet paraméterei a rövidítésük alapján |
A SLEEP függvényt a smart rule-ok és az értesítések elutasítják (kivétel a Képlet korlátozó feltétel). Az ADDERROR, ADDWARNING és ADDINFO csak az eszközök szkriptjeiben működik. Hogy az egyes smart rule-ok mit adnak át a szkriptjüknek, azt a Szkriptek a smart rule-okban és az értesítésekben oldal írja le; az integrációknak saját oldaluk van: Modbus függvények és Packet parser függvények.
A szkript eredménye
A szkript utasítások listája. Az utoljára kiértékelt utasítás értéke a szkript eredménye. A RETURN a megadott értékkel idő előtt befejezi a szkriptet.
VAR a := 1;
VAR b := 2;
a + b;
# Result: 3Az eszköz olvasó szkriptjének eredménye illeszkedjen az eszköz értékéhez, különben a szkript a Return value 'X' does not match required return type constraint hibával leáll:
| Az eszköz értéke | Megengedett eredmény |
|---|---|
| Kapcsoló állapota, reed érintkező | TRUE vagy FALSE (számokat is elfogad), NaN, Null |
| Többállású kapcsoló állapota | Szám (az egész szám választja ki az állapotot; a tizedes értéket nem utasítja el), NaN, Null |
| Bármely más érték | Szám, NaN, Null |
A NaN jelentése „az érték ismeretlen”, a Null jelentése „nincs érték”. Hogy a kettő hogyan viselkedik a kifejezésekben, azt a Null és NaN szakasz írja le.