---
title: "Wyrażenia / Język skryptowy"
description: "Jeden język skryptowy TapHome dla smart rules, powiadomień, Modbus i Packet parser: konteksty, wynik skryptu, typy danych, operatory i 104 funkcje."
url: "https://taphome.com/pl/docs/script/"
language: pl
lastmod: 2026-11-06
generator: hugo
ai:
  topics: ["scripting-language","expressions","functions","data-types","smart-rules","parsing"]
  questions: ["Jak napisać skrypt wielowierszowy w TapHome?","Gdzie mogę używać języka skryptowego TapHome?","Jak używać instrukcji IF/ELSE w wyrażeniach TapHome?","Jak odczytać dane JSON w skrypcie TapHome?","Czym różnią się funkcje MIN i MINSTRICT?","Jak pracować z datą i czasem w skryptach TapHome?","Jak używać funkcji LINEAR do interpolacji wartości?","Jaką wartość zwraca skrypt TapHome?","Co może zwrócić skrypt odczytu urządzenia?"]
---

# Wyrażenia / Język skryptowy

Ostatnia aktualizacja: 2026-11-06

![TapHome Icon](https://taphome.com/documentation/script/script-icon.png)

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](https://taphome.com/pl/docs/script/smart-rules/); integracje mają własne strony, [Funkcje Modbus](https://taphome.com/pl/docs/script/modbus/) i [Funkcje Packet parser](https://taphome.com/pl/docs/script/packet-parser/).

## Wynik skryptu

Skrypt to lista instrukcji. Wartość ostatniej obliczonej instrukcji jest wynikiem skryptu. [`RETURN`](https://taphome.com/pl/docs/script/basics/#return) kończy skrypt wcześniej z podaną wartością.

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

Wynik 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](https://taphome.com/pl/docs/script/data-types/#null-and-nan).

## Strony referencyjne

### Podstawy języka

- [Składnia i sterowanie przebiegiem](https://taphome.com/pl/docs/script/basics/) — Instrukcje, komentarze, literały, `IF`, `SWITCH`, pętle `WHILE` i `DO`, `RETURN`
- [Typy danych](https://taphome.com/pl/docs/script/data-types/) — Liczby, tekst, typy strukturalne i wyliczeniowe, kolekcje, `.Type`, promocja typów, `Null` i `NaN`
- [Zmienne i stałe](https://taphome.com/pl/docs/script/variables/) — Zmienne urządzeń, wartości grup, zmienne modułu, `VAR` i deklaracje z typem, właściwości, stałe kontekstu
- [Operatory](https://taphome.com/pl/docs/script/operators/) — Lista operatorów, priorytet, skrócone obliczanie, odpowiedniki w Excelu

### Smart rules i diagnostyka

- [Smart rules i powiadomienia](https://taphome.com/pl/docs/script/smart-rules/) — Równanie, Formuła, Skrypt, warunek ograniczający Formuła i powiadomienia
- [Logika i diagnostyka](https://taphome.com/pl/docs/script/logic-and-diagnostics/) — `ISNULL`, `ISNAN`, `EQUALS`, `SLEEP`, `ADDERROR`, `ADDWARNING`, `ADDINFO`, `DEBOUNCE`
- [Błędy](https://taphome.com/pl/docs/script/errors/) — Komunikaty błędów parsowania i wykonania oraz sposób ich naprawy

### Liczby i czas

- [Statystyki i Info wartości](https://taphome.com/pl/docs/script/value-info/) — Statystyki urządzenia, Info wartości z czasem ostatniej zmiany, poprzednią wartością i wartościami zakończonych okresów
- [Funkcje matematyczne](https://taphome.com/pl/docs/script/mathematical-functions/) — `MIN`, `MAX`, `AVG` (pomijają nieznane wartości, warianty `…STRICT` nie), `ABS`, `SIGN`, `SQRT`, `POWER`, `MOD`, `LOG`, `LN`, `DEWPOINT`
- [Zaokrąglanie i liczby losowe](https://taphome.com/pl/docs/script/rounding-and-random/) — `ROUND`, `CEIL`, `FLOOR`, `RAND`, `RANDINT`
- [Interpolacja i progi](https://taphome.com/pl/docs/script/interpolation-and-thresholds/) — `LINEAR` przenosi wartość z jednego zakresu do drugiego (na przykład krzywa ściemniania), `HYSTERESIS`
- [Data i czas](https://taphome.com/pl/docs/script/date-and-time/) — `NOW`, `DATETIME`, `DATETIMEADD`, `TIMESPAN`, `LOCALTIMEZONE`

### Tekst, kolekcje i kolory

- [Tekst i kolekcje](https://taphome.com/pl/docs/script/text-string-and-byte-array/) — `LENGTH`, `GETAT`, `SETAT`, `APPEND`, `INSERT`, `REMOVEAT`, `COPY`, `INDEXOF`, `REPLACE`, `SPLIT`, `COMPARE`, `BYTECOLLECTION`, `UINT16COLLECTION`, `BOOLCOLLECTION`
- [Sortowanie](https://taphome.com/pl/docs/script/sorting/) — `ORDER`, `ORDERINDEX` oraz ich warianty malejące i ścisłe
- [Konwersje typów danych](https://taphome.com/pl/docs/script/data-type-conversions/) — `TOSTRING`, `TODOUBLE`, `TOBYTES`, `ENCODE`, `DECODE`
- [Kolory](https://taphome.com/pl/docs/script/colours/) — `HSVTORGB`, `RGBTOHSV`
- [Funkcje parsowania](https://taphome.com/pl/docs/script/parsing-functions/) — `PARSETEXT`, `PARSEJSON` (odczytuje wartość z JSON według jej ścieżki), `PARSEXML`

### Dane binarne i bezpieczeństwo

- [Operacje bitowe](https://taphome.com/pl/docs/script/bit-operations/) — `GETBIT`, `GETBITS`, `SETBIT`, `SETBITS`, `GETBYTE`, `SETBYTE`, `TOBCD`, `FROMBCD`
- [Dane binarne](https://taphome.com/pl/docs/script/binary-data/) — `PACKVALUE`, `UNPACKVALUE`
- [Szyfrowanie i skróty](https://taphome.com/pl/docs/script/encryption-and-hashes/) — `AESENCRYPT`, `AESDECRYPT`, `HASH`, `HMAC`, `RANDBYTES`
- [Kodowanie bajtów i sumy kontrolne](https://taphome.com/pl/docs/script/byte-encodings/) — `TOBASE64`, `FROMBASE64`, `TOHEX`, `FROMHEX`, `CRC16`, `CRC32`

### Integracje urządzeń

- [Funkcje Modbus](https://taphome.com/pl/docs/script/modbus/) — Typy rejestrów, `MODBUSR`, `MODBUSW`, `MODBUSWNE`, `MODBUSRBLOCK`, `MODBUSWBLOCK`, `MODBUSWBLOCKNE`
- [Skrypty Modbus](https://taphome.com/pl/docs/script/modbus-scripts/) — Jakie skrypty mają moduł i urządzenie Modbus, kiedy się uruchamiają, prefetch i pamięć podręczna
- [Typy danych Modbus](https://taphome.com/pl/docs/script/modbus-data-types/) — Typy danych funkcji Modbus, warianty kolejności bajtów, typy 64-bitowe, tekst
- [Funkcje Packet parser](https://taphome.com/pl/docs/script/packet-parser/) — `HTTPREQUEST`, `SENDHTTPREQUEST`, `SENDDATA`, `MQTTPUBLISH`, `FTPDOWNLOAD`, `FTPUPLOAD`, `COMPLETESERVICEATTRIBUTE`, `COMPLETESERVICEACTION`
- [Skrypty listener](https://taphome.com/pl/docs/script/listener-scripts/) — Skrypt listener modułu Packet parser, `RECEIVEDMSG` i `RECEIVEDBYTES`

### Przykłady i informacje referencyjne

- [Przykłady](https://taphome.com/pl/docs/script/examples/) — Kompletne skrypty z rzeczywistych szablonów urządzeń
- [Wymagania wersji](https://taphome.com/pl/docs/script/version-requirements/) — Kompilacja Core, której wymaga każda funkcja
- [Funkcje A–Z](https://taphome.com/pl/docs/script/functions-a-z/) — Każda funkcja z jednym zdaniem i odnośnikiem

