---
title: "Výrazy / Skriptovací jazyk"
description: "Referencia skriptovacieho jazyka TapHome: kontexty v smart rules, notifikáciách, Modbus a Packet parser, výsledok skriptu, dátové typy, operátory a všetkých 104 funkcií."
url: "https://taphome.com/sk/docs/script/"
language: sk
lastmod: 2026-11-06
generator: hugo
ai:
  topics: ["scripting-language","expressions","functions","data-types","smart-rules","parsing"]
  questions: ["Ako písať viacriadkové skripty v TapHome?","Kde môžem použiť skriptovací jazyk TapHome?","Ako použiť podmienky IF/ELSE vo výrazoch TapHome?","Ako parsovať JSON dáta v TapHome skripte?","Aký je rozdiel medzi funkciami MIN a MINSTRICT?","Ako pracovať s dátumom a časom v TapHome skriptoch?","Ako použiť funkciu LINEAR na interpoláciu hodnoty?","Akú hodnotu vracia TapHome skript?","Čo smie vrátiť skript na čítanie zariadenia?"]
---

# Výrazy / Skriptovací jazyk

Posledná aktualizácia: 2026-11-06

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

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](https://taphome.com/sk/docs/script/smart-rules/); integrácie majú vlastné stránky, [Funkcie Modbus](https://taphome.com/sk/docs/script/modbus/) a [Funkcie Packet parsera](https://taphome.com/sk/docs/script/packet-parser/).

## Výsledok skriptu

Skript je zoznam príkazov. Výsledkom skriptu je hodnota posledného vyhodnoteného príkazu. [`RETURN`](https://taphome.com/sk/docs/script/basics/#return) ukončí skript predčasne so zadanou hodnotou.

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

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

## Referenčné stránky

### Základy jazyka

- [Syntax a riadenie toku](https://taphome.com/sk/docs/script/basics/) — Príkazy, komentáre, literály, `IF`, `SWITCH`, cykly `WHILE` a `DO`, `RETURN`
- [Dátové typy](https://taphome.com/sk/docs/script/data-types/) — Čísla, text, štruktúrované a enum typy, kolekcie, `.Type`, povýšenie typov, `Null` a `NaN`
- [Premenné a konštanty](https://taphome.com/sk/docs/script/variables/) — Premenné zariadení, hodnoty skupín, premenné modulu, `VAR` a typované deklarácie, vlastnosti, kontextové konštanty
- [Operátory](https://taphome.com/sk/docs/script/operators/) — Zoznam operátorov, priorita, skrátené vyhodnocovanie, ekvivalenty v Exceli

### Smart rules a diagnostika

- [Smart rules a notifikácie](https://taphome.com/sk/docs/script/smart-rules/) — Rovnica, Vzorec, Skript, obmedzujúca podmienka typu Vzorec a notifikácie
- [Logika a diagnostika](https://taphome.com/sk/docs/script/logic-and-diagnostics/) — `ISNULL`, `ISNAN`, `EQUALS`, `SLEEP`, `ADDERROR`, `ADDWARNING`, `ADDINFO`, `DEBOUNCE`
- [Chyby](https://taphome.com/sk/docs/script/errors/) — Chybové hlásenia pri parsovaní a počas behu a ako ich opraviť

### Čísla a čas

- [Štatistiky a Info o hodnote](https://taphome.com/sk/docs/script/value-info/) — Štatistiky zariadenia, Info o hodnote s časom poslednej zmeny, predchádzajúcou hodnotou a hodnotami ukončených období
- [Matematické funkcie](https://taphome.com/sk/docs/script/mathematical-functions/) — `MIN`, `MAX`, `AVG` (preskakujú neznáme hodnoty, varianty `…STRICT` nie), `ABS`, `SIGN`, `SQRT`, `POWER`, `MOD`, `LOG`, `LN`, `DEWPOINT`
- [Zaokrúhľovanie a náhodné čísla](https://taphome.com/sk/docs/script/rounding-and-random/) — `ROUND`, `CEIL`, `FLOOR`, `RAND`, `RANDINT`
- [Interpolácia a prahy](https://taphome.com/sk/docs/script/interpolation-and-thresholds/) — `LINEAR` prevedie hodnotu z jedného rozsahu do druhého (napríklad krivka stmievania), `HYSTERESIS`
- [Dátum a čas](https://taphome.com/sk/docs/script/date-and-time/) — `NOW`, `DATETIME`, `DATETIMEADD`, `TIMESPAN`, `LOCALTIMEZONE`

### Text, kolekcie a farby

- [Text a kolekcie](https://taphome.com/sk/docs/script/text-string-and-byte-array/) — `LENGTH`, `GETAT`, `SETAT`, `APPEND`, `INSERT`, `REMOVEAT`, `COPY`, `INDEXOF`, `REPLACE`, `SPLIT`, `COMPARE`, `BYTECOLLECTION`, `UINT16COLLECTION`, `BOOLCOLLECTION`
- [Triedenie](https://taphome.com/sk/docs/script/sorting/) — `ORDER`, `ORDERINDEX` a ich zostupné a striktné varianty
- [Konverzie dátových typov](https://taphome.com/sk/docs/script/data-type-conversions/) — `TOSTRING`, `TODOUBLE`, `TOBYTES`, `ENCODE`, `DECODE`
- [Farby](https://taphome.com/sk/docs/script/colours/) — `HSVTORGB`, `RGBTOHSV`
- [Parsovacie funkcie](https://taphome.com/sk/docs/script/parsing-functions/) — `PARSETEXT`, `PARSEJSON` (prečíta hodnotu z JSON podľa jej cesty), `PARSEXML`

### Binárne dáta a bezpečnosť

- [Bitové operácie](https://taphome.com/sk/docs/script/bit-operations/) — `GETBIT`, `GETBITS`, `SETBIT`, `SETBITS`, `GETBYTE`, `SETBYTE`, `TOBCD`, `FROMBCD`
- [Binárne dáta](https://taphome.com/sk/docs/script/binary-data/) — `PACKVALUE`, `UNPACKVALUE`
- [Šifrovanie a haše](https://taphome.com/sk/docs/script/encryption-and-hashes/) — `AESENCRYPT`, `AESDECRYPT`, `HASH`, `HMAC`, `RANDBYTES`
- [Kódovanie bajtov a kontrolné súčty](https://taphome.com/sk/docs/script/byte-encodings/) — `TOBASE64`, `FROMBASE64`, `TOHEX`, `FROMHEX`, `CRC16`, `CRC32`

### Integrácie zariadení

- [Funkcie Modbus](https://taphome.com/sk/docs/script/modbus/) — Typy registrov, `MODBUSR`, `MODBUSW`, `MODBUSWNE`, `MODBUSRBLOCK`, `MODBUSWBLOCK`, `MODBUSWBLOCKNE`
- [Skripty Modbus](https://taphome.com/sk/docs/script/modbus-scripts/) — Aké skripty má Modbus modul a zariadenie, kedy bežia, prefetch a cache
- [Dátové typy Modbus](https://taphome.com/sk/docs/script/modbus-data-types/) — Dátové typy funkcií Modbus, varianty poradia bajtov, 64-bitové typy, text
- [Funkcie Packet parsera](https://taphome.com/sk/docs/script/packet-parser/) — `HTTPREQUEST`, `SENDHTTPREQUEST`, `SENDDATA`, `MQTTPUBLISH`, `FTPDOWNLOAD`, `FTPUPLOAD`, `COMPLETESERVICEATTRIBUTE`, `COMPLETESERVICEACTION`
- [Listener skripty](https://taphome.com/sk/docs/script/listener-scripts/) — Listener skript modulu Packet parser, `RECEIVEDMSG` a `RECEIVEDBYTES`

### Príklady a referencia

- [Príklady](https://taphome.com/sk/docs/script/examples/) — Kompletné skripty zo skutočných šablón zariadení
- [Požiadavky na verziu](https://taphome.com/sk/docs/script/version-requirements/) — Build Core, ktorý potrebuje každá funkcia
- [Funkcie A–Z](https://taphome.com/sk/docs/script/functions-a-z/) — Každá funkcia s jednou vetou a odkazom

