TapHome ma jeden język skryptowy dla smart rules, powiadomień i integracji urządzeń. Składnia i funkcje są wszędzie takie same; od miejsca, w którym skrypt działa, zależą tylko dostępne zmienne, stałe i funkcje. Aplikacja na Androida, Windows i macOS podświetla składnię w edytorze skryptów; aplikacja na iOS wyświetla skrypt bez podświetlania.
Gdzie używa się skryptów
Ten sam język skryptowy działa w smart rules, powiadomieniach oraz w integracjach Modbus i Packet parser:
| Kontekst | Co robi skrypt | Specyficzne dla kontekstu |
|---|---|---|
| Smart rule Równanie | Jedno wyrażenie nad wartościami urządzeń. TRUE uruchamia akcje dla prawdy, FALSE akcje dla fałszu. | LastState, TriggerName |
| Smart rule Formuła | Oblicza wartość, która jest zapisywana do każdego urządzenia wyjściowego. | LastState, TriggerName |
| Smart rule Skrypt | Odczytuje wartości urządzeń i przypisuje nowe; każde przypisanie staje się akcją urządzenia. | Zmienne do odczytu i zapisu, TriggerName |
| Warunek ograniczający Formuła | Decyduje, czy smart rule może się uruchomić. | TRUE pozwala uruchomić regułę |
| Tytuł i treść powiadomienia | Tworzy tekst powiadomienia. | Musi zwrócić tekst; stałe powiadomień |
| Skrypt odczytu modułu Modbus | Odpytuje moduł, zwykle po to, by zgłosić błędy urządzeń. | Funkcje MODBUS* |
| Skrypty odczytu i zapisu urządzenia Modbus | Przekształcają rejestry w wartość urządzenia, a żądaną wartość z powrotem w rejestry. | Wynik odczytu staje się wartością urządzenia |
| Skrypt inicjalizacji Modbus | Uruchamia się raz po połączeniu modułu. | Zwykle MODBUSWNE |
| Skrypty odczytu i zapisu Packet parser | Wysyłają żądanie lub polecenie przez HTTP, FTP, TCP, UDP albo MQTT; dla HTTP i FTP przetwarzają też odpowiedź. | SENDHTTPREQUEST, SENDDATA, MQTTPUBLISH |
| Skrypt listener Packet parser | Obsługuje każdy przychodzący pakiet TCP lub UDP i każdą wiadomość MQTT. | RECEIVEDMSG |
| Atrybuty i akcje serwisowe (Modbus, Packet parser) | Wiersze diagnostyczne i przyciski z parametrami w aplikacji. | Parametry akcji według ich skrótu |
SLEEP jest odrzucany w smart rules i powiadomieniach (wyjątkiem jest warunek ograniczający Formuła). ADDERROR, ADDWARNING i ADDINFO działają tylko w skryptach urządzeń. Co każdy smart rule przekazuje swojemu skryptowi, opisuje strona Skrypty w smart rules i powiadomieniach; integracje mają własne strony, Funkcje Modbus i Funkcje Packet parser.
Wynik skryptu
Skrypt to lista instrukcji. Wartość ostatniej obliczonej instrukcji jest wynikiem skryptu. RETURN kończy skrypt wcześniej z podaną wartością.
VAR a := 1;
VAR b := 2;
a + b;
# Result: 3Wynik skryptu odczytu urządzenia musi pasować do wartości urządzenia, w przeciwnym razie skrypt kończy się błędem Return value 'X' does not match required return type constraint:
| Wartość urządzenia | Dozwolony wynik |
|---|---|
| Stan przełącznika, kontaktron | TRUE lub FALSE (liczby są akceptowane), NaN, Null |
| Stan przełącznika wielowartościowego | Liczba (liczba całkowita wybiera stan; wartość dziesiętna nie jest odrzucana), NaN, Null |
| Każda inna wartość | Liczba, NaN, Null |
NaN oznacza „wartość jest nieznana”, Null oznacza „wartości nie ma”. Jak obie zachowują się w wyrażeniach, opisuje Null i NaN.