TapHome Icon

TapHome má jeden skriptovací jazyk pro smart rules, oznámení i integrace zařízení. Syntaxe a funkce jsou všude stejné; podle toho, kde skript běží, se liší jen dostupné proměnné, konstanty a funkce. Aplikace pro Android, Windows a macOS v editoru skriptu zvýrazňuje syntaxi; aplikace pro iOS zobrazuje skript bez zvýraznění.

Kde se skripty používají

Stejný skriptovací jazyk běží ve smart rules, v oznámeních a v integracích Modbus a Packet parser:

KontextCo skript děláSpecifické pro kontext
Smart rule RovniceJeden výraz nad hodnotami zařízení. TRUE spustí akce pro pravdu, FALSE akce pro nepravdu.LastState, TriggerName
Smart rule VzorecVypočítá hodnotu, která se zapíše do každého výstupního zařízení.LastState, TriggerName
Smart rule SkriptČte hodnoty zařízení a přiřazuje nové; z každého přiřazení se stane akce zařízení.Proměnné pro čtení / zápis, TriggerName
Omezující podmínka VzorecRozhoduje, zda smart rule smí běžet.TRUE pravidlo pustí
Oznámení — název a zprávaSestaví text oznámení.Musí vrátit text; konstanty oznámení
Modbus skript pro čtení moduluDotazuje modul, typicky kvůli vyvolání chyb zařízení.Funkce MODBUS*
Modbus skripty pro čtení a zápis zařízeníPřevádí registry na hodnotu zařízení a požadovanou hodnotu zpět na registry.Výsledek čtení se stane hodnotou zařízení
Modbus inicializační skriptBěží jednou po připojení modulu.Typicky MODBUSWNE
Packet parser skripty pro čtení a zápisPosílá požadavek nebo příkaz přes HTTP, FTP, TCP, UDP nebo MQTT; u HTTP a FTP zpracuje i odpověď.SENDHTTPREQUEST, SENDDATA, MQTTPUBLISH
Packet parser listener skriptZpracuje každý příchozí paket TCP nebo UDP a každou zprávu MQTT.RECEIVEDMSG
Servisní atributy a akce (Modbus, Packet parser)Diagnostické řádky a tlačítka s parametry v aplikaci.Parametry akce podle jejich zkratky

SLEEP je ve smart rules a oznámeních odmítnut (výjimkou je omezující podmínka Vzorec). ADDERROR, ADDWARNING a ADDINFO fungují jen ve skriptech zařízení. Co který smart rule předává svému skriptu, popisuje stránka Skripty ve smart rules a oznámeních; integrace mají vlastní stránky Funkce Modbus a Funkce Packet parser.

Výsledek skriptu

Skript je seznam příkazů. Hodnota posledního vyhodnoceného příkazu je výsledkem skriptu. RETURN ukončí skript předčasně se zadanou hodnotou.

VAR a := 1;
VAR b := 2;
a + b;
# Result: 3

Výsledek skriptu pro čtení zařízení musí odpovídat hodnotě zařízení, jinak skript selže s hlášením Return value 'X' does not match required return type constraint:

Hodnota zařízeníPovolený výsledek
Stav spínače, stavový kontaktTRUE nebo FALSE (čísla jsou přijata), NaN, Null
Stav vícehodnotového spínačeČíslo (celé číslo vybere stav; desetinná hodnota odmítnuta není), NaN, Null
Jakákoli jiná hodnotaČíslo, NaN, Null

NaN znamená „hodnota je neznámá“, Null znamená „hodnota neexistuje“. Jak se obě chovají ve výrazech, popisuje Null a NaN.