---
title: "Shelly i3"
description: "Shelly i3 Wi-Fi 3-vstupový ovládač akcií a scén. Detekcia jednoduchých, dvojitých, trojitých, dlhých a kombinovaných udalostí cez HTTP z TapHome."
url: "https://taphome.com/sk/compatibility/shelly-i3/"
language: sk
lastmod: 2026-04-26
generator: hugo
ai:
  topics: ["http","i/o-module","wifi","digital-input","push-button","reed-contact","3-channel","mdns"]
  questions: ["Ako integrovať Shelly i3 s TapHome?","Ako detegovať stlačenia tlačidiel pomocou Shelly i3 v TapHome?","Ako pripojiť Shelly i3 cez HTTP do TapHome?","Aký je rozdiel medzi režimom toggle a momentary na Shelly i3?","Prečo Shelly i3 v TapHome nedeteguje dvojité alebo trojité stlačenia?","Vie Shelly i3 priamo ovládať relé?","Koľko akcií dokáže Shelly i3 spustiť?"]
---

# Shelly i3

Komunikácia: Packet Parser → HTTP

- [Stránka produktu Shelly i3](https://www.shelly.com/products/shop/shelly-i3)
- [Shelly i3 — znalostná báza](https://kb.shelly.cloud/knowledge-base/shelly-i3)
- [Shelly Gen1 — API referencia](https://shelly-api-docs.shelly.cloud/gen1/#shelly-i3)

> Adresa v sieti
> 
> TapHome komunikuje so zariadením na adrese zadanej pri importe. Dajte zariadeniu stálu adresu — rezerváciu IP v routeri, alebo jeho mDNS meno, ak ho podporuje —, inak integrácia prestane fungovať, keď router adresu zmení.
> 
> [Príprava siete](https://taphome.com/sk/docs/setup/network-preparation/)

## Návod na integráciu

Shelly i3 je kompaktný Wi-Fi 3-vstupový ovládač akcií a scén (model `SHIX3-1`). Nemá žiadne relé ani výstupy — funguje výhradne ako vstupné zariadenie, ktoré monitoruje tri externé prepínače alebo tlačidlá pripojené ku svorkám SW1, SW2 a SW3. Rozmery 40 × 36 × 10 mm umožňujú inštaláciu do štandardnej inštalačnej krabice za existujúci nástenný spínač. Napája sa z 110–230 VAC (potrebný neutrálny vodič) alebo 24–60 VDC a spotrebúva menej ako 1 W.

TapHome komunikuje so zariadením cez HTTP v lokálnej Wi-Fi sieti — cloudové pripojenie nie je potrebné. Pre každý vstup šablóna vytvorí dve zariadenia: viacstavový spínač, ktorý dekóduje multi-click udalosti (jednoduché, dvojité, trojité, dlhé a kombinované sekvencie), a reed kontakt, ktorý zverejňuje surový stav vstupu 0/1 plus servisnú akciu na prepínanie medzi režimom toggle a momentary.

## Inštalácia

### Wi-Fi párovanie a IP adresa

Po pripojení napájania sa i3 spustí v režime Access Point so SSID `shellyi3-XXXXXX` (kde `XXXXXX` je posledných 6 hex číslic MAC adresy). Pre spárovanie s domácou sieťou:

1. Pripoj telefón alebo notebook k prístupovému bodu i3
2. Otvor `http://192.168.33.1` v prehliadači (alebo použi mobilnú aplikáciu Shelly)
3. Vo webovom rozhraní prejdi na **Internet & Security → WIFI MODE - CLIENT**, zadaj prihlasovacie údaje domácej Wi-Fi a ulož
4. Zariadenie sa reštartuje a pripojí k domácej sieti cez DHCP

Pridelenú IP adresu zistíš z DHCP tabuľky routera alebo cez mDNS hostname `shellyi3-XXXXXXXXXXXX.local` (12-znakový MAC suffix, oznamovaný ako `_http._tcp.local.`). Pri importe TapHome šablóny zadaj túto IP adresu ako jediný povinný parameter.

### Vypnutie HTTP autentifikácie

TapHome sa nedokáže autentifikovať voči zariadeniu. Vo webovom rozhraní Shelly prejdi na **Internet & Security → RESTRICT LOGIN** a uisti sa, že táto možnosť je **vypnutá** ešte pred importom šablóny — inak každý poll zlyhá s HTTP 401.

### Konfigurácia typu tlačidla

Každý z troch vstupov môže pracovať v jednom z piatich `btn_type` režimov. Pre TapHome sú relevantné len dva, ktoré sú zverejnené ako servisná akcia na zariadeniach I1 / I2 / I3:

- **Momentary** — pre tlačidlá. Firmware dekóduje jedno krátke stlačenie (`S`), dlhé stlačenie (`L`), dvojité krátke stlačenie (`SS`), trojité krátke stlačenie (`SSS`), krátke→dlhé (`SL`) a dlhé→krátke (`LS`). Vyžadované, aby zariadenia **Events I{N}** vrátili niečo iné ako `None`.
- **Toggle** — pre klasické kolískové alebo páčkové prepínače. Hlási sa len surový stav 0/1; viacstavový spínač zostáva na indexe 0.

Typ tlačidla možno kedykoľvek zmeniť z TapHome cez servisnú akciu **Button Type** na každom zariadení I1 / I2 / I3, alebo priamo vo webovom rozhraní Shelly v **Settings → Input/Output settings**.

> [!NOTE]
> Firmware podporuje aj režimy `edge`, `detached` a `action`, ale tie nie sú zverejnené v TapHome šablóne. Možno ich nastaviť cez webové rozhranie Shelly bez narušenia integrácie — zmení sa len správanie dekódovania multi-click udalostí.

## Schopnosti zariadenia

### Dekódovanie multi-click udalostí (Events I1, Events I2, Events I3)

Pre každý vstup viacstavový spínač dekóduje firmvérový kód udalosti na jednu zo siedmich hodnôt:

| Index | Udalosť | Shelly kód |
|-------|---------|------------|
| 0 | None | `""` (idle) |
| 1 | Shortpush | `S` |
| 2 | Longpush | `L` |
| 3 | Double Shortpush | `SS` |
| 4 | Triple Shortpush | `SSS` |
| 5 | Shortpush + Longpush | `SL` |
| 6 | Longpush + Shortpush | `LS` |

Šablóna pollne `/input/{0,1,2}` každých 2,5 sekundy a číta pole `event`. Pri 6 udalostiach × 3 vstupy Shelly i3 marketingovo uvádza ako podporujúci **až 18 odlišných multi-click akcií** (24, ak sa zmeny surového on/off stavu počítajú ako samostatné spúšťače).

Prah dlhého stlačenia a okno pre multi-push sú konfigurované globálne na zariadení (predvolené hodnoty: 800 ms pre dlhé stlačenie, 500 ms okno medzi stlačeniami). Možno ich doladiť vo webovom rozhraní Shelly v **Settings → Long Push Duration** a **Multi Push Time**.

### Surový stav vstupu a ovládanie typu tlačidla (I1, I2, I3)

Pre každý vstup reed-contact zariadenie zverejňuje surový logický stav prečítaný z poľa `input` v `/input/{N}` (0 = otvorený, 1 = zatvorený, po voliteľnej inverzii `btn_reverse`). Každé zariadenie I1 / I2 / I3 obsahuje aj:

- **Button Type** — servisný atribút s aktuálnou hodnotou `btn_type` (toggle / momentary / edge / detached / action)
- **Button Type** — servisná akcia, ktorá prepína vstup medzi Toggle a Momentary zápisom `POST /settings/input/{N}?btn_type=...`

Surový stav je vhodný pre magnetické kontakty dverí / okien zapojené na svorky SW alebo na sledovanie polohy páčkového prepínača v reálnom čase.

### Servisná diagnostika

Jeden servisný atribút na úrovni modulu zverejňuje **Wi-Fi SSID**, ku ktorému je i3 aktuálne pripojený (čítaný z `/status` → `wifi_sta.ssid`). Ďalšie Gen1 diagnostiky (uptime, MAC, RSSI, príznak aktualizácie firmvéru) sú dostupné cez REST API zariadenia, ale v tejto šablóne nie sú zverejnené.

> [!TIP]
> Multi-click udalosti sa generujú len v režime **momentary**. Ak je fyzický vstup zapojený cez klasický páčkový prepínač, nakonfiguruj tento vstup ako **Toggle** a použi reed-contact zariadenie I{N} na čítanie jeho stavu 0/1 — zodpovedajúce zariadenie Events I{N} zostane na indexe 0.

## Riešenie problémov

### Multi-click udalosti sa nedetegujú

1. Over, že vstup je v režime **momentary** — otvor zariadenie I{N} v TapHome, spusti servisnú akciu **Button Type** a vyber Momentary, alebo nastav priamo vo webovom rozhraní Shelly v **Settings → Input/Output settings**
2. V režime toggle firmware hlási len zmeny stavu; viacstavový spínač Events I{N} zostáva na indexe 0
3. Ak sú stlačenia dekódované ako nesprávna udalosť, uprav **Long Push Duration** (predvolene 800 ms) a **Multi Push Time** (predvolene 500 ms) vo webovom rozhraní Shelly
4. Dlhé sekvencie ako `SSS`, `SL` alebo `LS` vyžadujú, aby používateľ udržal všetky stlačenia v rámci multi-push okna — pauzy dlhšie ako toto okno sú dekódované ako samostatné `S` udalosti

### Tá istá udalosť sa opakuje stále / „uviaznutá" udalosť

Pole `event` vrátené z `/input/{N}` je **posledná dekódovaná udalosť** — firmware ju automaticky neresetuje. TapHome toto pole číta pri každom polle, takže viacstavový spínač bude naďalej hlásiť predchádzajúcu udalosť, kým nenastane nová. Toto je normálne správanie a neindikuje chybu. Pri písaní vlastnej logiky, ktorá sa spúšťa pri každom stlačení, sparuj udalosť s monotónnym čítačom `event_cnt` (tiež dostupný v `/input/{N}`) na detekciu zmeny namiesto spoliehania sa len na hodnotu `event`.

### Zariadenie neodpovedá

1. Over, že i3 je pripojený k Wi-Fi — otvor `http://{device-ip}/shelly` v prehliadači; ak vráti JSON objekt, zariadenie je dostupné
2. Skús mDNS hostname `shellyi3-XXXXXXXXXXXX.local` namiesto IP adresy — IP sa mohla zmeniť po obnove DHCP
3. Uisti sa, že HTTP autentifikácia je **vypnutá** v **Internet & Security → Restrict login** — TapHome nedokáže odoslať prihlasovacie údaje a každá požiadavka vráti HTTP 401
4. Skontroluj, že TapHome Core a zariadenie Shelly sú v rovnakej sieti alebo VLAN s povoleným mDNS / multicastom

> [!WARNING]
> Gen1 Shelly zariadenia akceptujú **maximálne 2 súčasné HTTP spojenia**. Dodaná šablóna pollne každý vstup v 2,5 s intervaloch, čo je už blízko limitu. **Nezni**žuj poll interval a vyhni sa spúšťaniu iného systému (napr. Home Assistant, vlastné skripty), ktorý pollne ten istý i3 súčasne — komunikácia sa môže stať nespoľahlivou.

> [!NOTE]
> XML šablóna obsahuje tri rezervované multi-value indexy (7, 8, 9 so surovými kódmi 71/72/73 a generickými označeniami „7" / „8" / „9"). Gen1 firmware nevysiela žiadne udalosti okrem `S`, `L`, `SS`, `SSS`, `SL` a `LS`, takže tieto indexy sú nepoužité placeholdery a hodnota zariadenia Events I{N} by v praxi nemala dosiahnuť 7-9.

## Ako nainštalovať v TapHome

### Predpoklady

- Zariadenie Shelly nainštalované a zapnuté
- Lokálna Wi-Fi sieť (2,4 GHz)
- TapHome CCU v rovnakej sieti

### Krok 1 — Pripojte Shelly k Wi-Fi

**Možnosť A — Aplikácia Shelly (odporúčané):**

1. Stiahnite si [aplikáciu Shelly](https://www.shelly.com/en/support/shelly-app) (iOS / Android)
2. Klepnite na **+** → **Add Device** a postupujte podľa sprievodcu Bluetooth párovaním
3. Po výzve zadajte svoje Wi-Fi prihlasovacie údaje

**Možnosť B — AP režim (bez aplikácie):**

1. Pri prvom zapnutí zariadenie vytvorí hotspot: `ShellyXXX-AABBCCDDEE`
2. Pripojte telefón/PC k tomuto hotspotu
3. Otvorte `http://192.168.33.1` → **Internet & Security** → **Wi-Fi Mode - Client**
4. Zadajte SSID a heslo → **Save**

> [!NOTE]
> Shelly podporuje iba **2,4 GHz** siete. 5 GHz siete sa pri skenovaní nezobrazia.

### Krok 2 — Zistite IP adresu

Po pripojení k Wi-Fi zistite priradenú IP adresu jedným z nasledujúcich spôsobov:

- **Aplikácia Shelly:** Detail zariadenia → **Device info** → IP adresa
- **Webové rozhranie Shelly:** Pripojte sa k AP zariadenia pred nastavením Wi-Fi — IP sa zobrazí po uložení
- **DHCP tabuľka routera:** Hľadajte hostname ako `shelly1pm-AABBCCDDEE`
- **mDNS:** Pingnite `shelly<model>-<mac>.local` (napr. `shelly1pm-AABBCCDDEE.local`) z rovnakej siete

> [!TIP]
> Priraďte zariadeniu Shelly **statickú IP** (DHCP rezerváciu) vo vašom routeri, aby sa adresa nezmenila po reštarte routera.

### Krok 3 — Konfigurácia v TapHome

1. V TapHome pridajte nový modul **Packet Parser (HTTP)**
2. **IP Address:** zadajte IP z kroku 2 (napr. `192.168.1.50`)
3. **Port:** `80` (predvolený, nie je potrebné meniť)
4. Importujte šablónu — TapHome bude pravidelne čítať `/status` pre zistenie stavu zariadenia

> [!NOTE]
> HTTP autentifikácia je na zariadeniach Shelly štandardne vypnutá. Ak ste povolili ochranu prihlásením, TapHome momentálne nepodporuje HTTP Basic Auth — pre integráciu s TapHome ponechajte autentifikáciu vypnutú.

## Dostupné zariadenia 6

Tieto zariadenia sa po importe zobrazia v TapHome.

Shelly i3 Modul

Servisné atribúty

|       |                                                              |
|-------|--------------------------------------------------------------|
| Wi-Fi | SSID Wi-Fi siete, ku ktorej je zariadenie aktuálne pripojené |

Servisné atribúty

Wifi

```taphome
 VAR response := SENDHTTPREQUEST("/status");
 IF response.IsSuccess
  VAR content := response.Content;
  RETURN(PARSEJSON(content, "$.wifi_sta.ssid"));
  End
```

Events I1 Viacstavový prepínač Len na čítanie

Dekódovaná multi-click udalosť pre vstup I1 — None, Shortpush, Longpush, Double Shortpush, Triple Shortpush, Shortpush + Longpush, Longpush + Shortpush (spustí sa len keď je Button Type nastavený na Momentary)

string (decoded to UInt8 via SWITCH) json\_path

Hodnoty / Stavy: None · Shortpush · Longpush · Double Shortpush · Triple Shortpush · Shortpush + Longpush · Longpush + Shortpush

Čítanie stavu prepínača

```taphome
VAR response := SENDHTTPREQUEST("/input/0");
 IF response.IsSuccess
  VAR content := response.Content;
  RETURN(SWITCH(PARSEJSON(content, "event"),"S", 1, "L", 2, "SS", 3, "SSS", 4, "SL", 5, "LS", 6, 0));
 ELSE
  ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
  RETURN(NaN);
 END
```

Events I2 Viacstavový prepínač Len na čítanie

Dekódovaná multi-click udalosť pre vstup I2 — None, Shortpush, Longpush, Double Shortpush, Triple Shortpush, Shortpush + Longpush, Longpush + Shortpush (spustí sa len keď je Button Type nastavený na Momentary)

string (decoded to UInt8 via SWITCH) json\_path

Hodnoty / Stavy: None · Shortpush · Longpush · Double Shortpush · Triple Shortpush · Shortpush + Longpush · Longpush + Shortpush

Čítanie stavu prepínača

```taphome
VAR response := SENDHTTPREQUEST("/input/1");
 IF response.IsSuccess
  VAR content := response.Content;
  RETURN(SWITCH(PARSEJSON(content, "event"),"S", 1, "L", 2, "SS", 3, "SSS", 4, "SL", 5, "LS", 6, 0));
 ELSE
  ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
  RETURN(NaN);
 END
```

Zápis stavu prepínača

```taphome
# Simple HTTP Request:
# VAR response := SENDHTTPREQUEST("/example/set/value=" + Mu);
# IF response.IsSuccess = false
#  ADDERROR(response.StatusCode);
# END
#
# Set Http request method, body and headers
# VAR response := SENDHTTPREQUEST("/example/setValue", "GET", "value=" + Mu, "header1:value1", "header2:value2", ...);\r
# Or VAR request := HTTPREQUEST("/example/setValue");
# request.Method := "PUT";
# VAR response := SENDHTTPREQUEST(request);
#r
#
# Send TCP, UDP data:
# VAR data1 := "{\"name\":\"John\", \"age\":" + Mu + "}";
# SENDDATA(data1);
# VAR data2 := TOBYTES("{\"name\":\"John\", \"age\":" + Mu + "}", "iso-8859-1");
# SENDDATA(data2);
# You can process received TCP or UDP data in the Listener script
#
#
# Upload data to FTP:
# FTPUPLOAD("filePath", "somedata=" + Mu, "write"); # use "append" mode to append data to existing file
```

Events I3 Viacstavový prepínač Len na čítanie

Dekódovaná multi-click udalosť pre vstup I3 — None, Shortpush, Longpush, Double Shortpush, Triple Shortpush, Shortpush + Longpush, Longpush + Shortpush (spustí sa len keď je Button Type nastavený na Momentary)

string (decoded to UInt8 via SWITCH) json\_path

Hodnoty / Stavy: None · Shortpush · Longpush · Double Shortpush · Triple Shortpush · Shortpush + Longpush · Longpush + Shortpush

Čítanie stavu prepínača

```taphome
VAR response := SENDHTTPREQUEST("/input/2");
 IF response.IsSuccess
  VAR content := response.Content;
  RETURN(SWITCH(PARSEJSON(content, "event"),"S", 1, "L", 2, "SS", 3, "SSS", 4, "SL", 5, "LS", 6, 0));
 ELSE
  ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
  RETURN(NaN);
 END
```

Zápis stavu prepínača

```taphome
# Simple HTTP Request:
# VAR response := SENDHTTPREQUEST("/example/set/value=" + Mu);
# IF response.IsSuccess = false
#  ADDERROR(response.StatusCode);
# END
#
# Set Http request method, body and headers
# VAR response := SENDHTTPREQUEST("/example/setValue", "GET", "value=" + Mu, "header1:value1", "header2:value2", ...);\r
# Or VAR request := HTTPREQUEST("/example/setValue");
# request.Method := "PUT";
# VAR response := SENDHTTPREQUEST(request);
#r
#
# Send TCP, UDP data:
# VAR data1 := "{\"name\":\"John\", \"age\":" + Mu + "}";
# SENDDATA(data1);
# VAR data2 := TOBYTES("{\"name\":\"John\", \"age\":" + Mu + "}", "iso-8859-1");
# SENDDATA(data2);
# You can process received TCP or UDP data in the Listener script
#
#
# Upload data to FTP:
# FTPUPLOAD("filePath", "somedata=" + Mu, "write"); # use "append" mode to append data to existing file
```

Vstup I1 Jazýčkový kontakt Len na čítanie

Surový logický stav vstupu I1 — 0 (otvorený) alebo 1 (zatvorený), odrážajúci aktuálnu polohu prepínača zapojeného na svorku SW1

boolean json\_path

Servisné atribúty

|              |                                                                                                                                    |
|--------------|------------------------------------------------------------------------------------------------------------------------------------|
| Typ tlačidla | Aktuálny režim správania vstupu I1 — Toggle (klasický prepínač) alebo Momentary (tlačidlo, vyžadované pre dekódovanie multi-click) |

Servisné akcie

|              |                                                                                                                                          |
|--------------|------------------------------------------------------------------------------------------------------------------------------------------|
| Typ tlačidla | Prepína vstup I1 medzi Toggle (klasický prepínač) a Momentary (tlačidlo — vyžadované, aby sa multi-click dekódovanie Events I1 spustilo) |

Čítanie

```taphome
VAR response := SENDHTTPREQUEST("/input/0");
 IF response.IsSuccess
  VAR content := response.Content;
  RETURN(PARSEJSON(content, "input"));
 ELSE
  ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
  RETURN(NaN);
 END
```

Čítanie (modul)

```taphome
# Simple HTTP Request:
# VAR response := SENDHTTPREQUEST("/example/getValue");
# IF response.IsSuccess
#  VAR content := response.Content;
#  VAR responseHeaders := response.Headers;
#  RETURN(PARSEXML(content, "//element1/value1"));
# ELSE
#  ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
#  RETURN(NaN);
# END
#
# Set Http request method, body and headers
# VAR response := SENDHTTPREQUEST("/example/getValue", "GET", "some data", "header1:value1", "header2:value2", ...);
# OR
# VAR request := HTTPREQUEST("/example/getValue", "POST", "some data");
# request.headers := { "header1:value1", "header2:value2", ...};
# request.method := "GET";
# request.data := null;
# VAR response := SENDHTTPREQUEST(request);
#
#
# Send TCP, UDP data:
# VAR data1 := BYTECOLLECTION("0a bb ea df 01");
# SENDDATA(data1);
# VAR data2 := "{\"name\":\"John\", \"age\":32}";
# SENDDATA(data2);
# VAR data3 := TOBYTES("{\"name\":\"John\", \"age\":32}", "iso-8859-1");
# SENDDATA(data3);
# Process received TCP or UDP data and set device values in the Listener script
#
#
# Download data from FTP:
# FTPDOWNLOAD("filePath");
```

Servisné atribúty

Button Type

```taphome
 VAR response := SENDHTTPREQUEST("/settings/input/0");
 IF response.IsSuccess
  VAR content := response.Content;
  RETURN(PARSEJSON(content, "btn_type"));
 END
```

Servisné akcie

Button Type

Parametre: Button Type

```taphome
 var Ru := SWITCH(Bu, 0, "toggle","momentary") ;
 VAR response := SENDHTTPREQUEST("/settings/input/0?btn_type=" + Ru);
```

Vstup I2 Jazýčkový kontakt Len na čítanie

Surový logický stav vstupu I2 — 0 (otvorený) alebo 1 (zatvorený), odrážajúci aktuálnu polohu prepínača zapojeného na svorku SW2

boolean json\_path

Servisné atribúty

|              |                                                                                                                                    |
|--------------|------------------------------------------------------------------------------------------------------------------------------------|
| Typ tlačidla | Aktuálny režim správania vstupu I2 — Toggle (klasický prepínač) alebo Momentary (tlačidlo, vyžadované pre dekódovanie multi-click) |

Servisné akcie

|              |                                                                                                                                          |
|--------------|------------------------------------------------------------------------------------------------------------------------------------------|
| Typ tlačidla | Prepína vstup I2 medzi Toggle (klasický prepínač) a Momentary (tlačidlo — vyžadované, aby sa multi-click dekódovanie Events I2 spustilo) |

Čítanie

```taphome
VAR response := SENDHTTPREQUEST("/input/1");
 IF response.IsSuccess
  VAR content := response.Content;
  RETURN(PARSEJSON(content, "input"));
 ELSE
  ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
  RETURN(NaN);
 END
```

Servisné atribúty

Button Type

```taphome
 VAR response := SENDHTTPREQUEST("/settings/input/1");
 IF response.IsSuccess
  VAR content := response.Content;
  RETURN(PARSEJSON(content, "btn_type"));
 END
```

Servisné akcie

Button Type

Parametre: Button Type

```taphome
 var Ru := SWITCH(Bu, 0, "toggle","momentary") ;
 VAR response := SENDHTTPREQUEST("/settings/input/1?btn_type=" + Ru);
```

Vstup I3 Jazýčkový kontakt Len na čítanie

Surový logický stav vstupu I3 — 0 (otvorený) alebo 1 (zatvorený), odrážajúci aktuálnu polohu prepínača zapojeného na svorku SW3

boolean json\_path

Servisné atribúty

|              |                                                                                                                                    |
|--------------|------------------------------------------------------------------------------------------------------------------------------------|
| Typ tlačidla | Aktuálny režim správania vstupu I3 — Toggle (klasický prepínač) alebo Momentary (tlačidlo, vyžadované pre dekódovanie multi-click) |

Servisné akcie

|              |                                                                                                                                          |
|--------------|------------------------------------------------------------------------------------------------------------------------------------------|
| Typ tlačidla | Prepína vstup I3 medzi Toggle (klasický prepínač) a Momentary (tlačidlo — vyžadované, aby sa multi-click dekódovanie Events I3 spustilo) |

Čítanie

```taphome
VAR response := SENDHTTPREQUEST("/input/2");
 IF response.IsSuccess
  VAR content := response.Content;
  RETURN(PARSEJSON(content, "input"));
 ELSE
  ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
  RETURN(NaN);
 END
```

Čítanie (modul)

```taphome
# Simple HTTP Request:
# VAR response := SENDHTTPREQUEST("/example/getValue");
# IF response.IsSuccess
#  VAR content := response.Content;
#  VAR responseHeaders := response.Headers;
#  RETURN(PARSEXML(content, "//element1/value1"));
# ELSE
#  ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
#  RETURN(NaN);
# END
#
# Set Http request method, body and headers
# VAR response := SENDHTTPREQUEST("/example/getValue", "GET", "some data", "header1:value1", "header2:value2", ...);
# OR
# VAR request := HTTPREQUEST("/example/getValue", "POST", "some data");
# request.headers := { "header1:value1", "header2:value2", ...};
# request.method := "GET";
# request.data := null;
# VAR response := SENDHTTPREQUEST(request);
#
#
# Send TCP, UDP data:
# VAR data1 := BYTECOLLECTION("0a bb ea df 01");
# SENDDATA(data1);
# VAR data2 := "{\"name\":\"John\", \"age\":32}";
# SENDDATA(data2);
# VAR data3 := TOBYTES("{\"name\":\"John\", \"age\":32}", "iso-8859-1");
# SENDDATA(data3);
# Process received TCP or UDP data and set device values in the Listener script
#
#
# Download data from FTP:
# FTPDOWNLOAD("filePath");
```

Servisné atribúty

Button Type

```taphome
 VAR response := SENDHTTPREQUEST("/settings/input/2");
 IF response.IsSuccess
  VAR content := response.Content;
  RETURN(PARSEJSON(content, "btn_type"));
 END
```

Servisné akcie

Button Type

Parametre: Button Type

```taphome
 var Ru := SWITCH(Bu, 0, "toggle","momentary") ;
 VAR response := SENDHTTPREQUEST("/settings/input/2?btn_type=" + Ru);
```

**Pripojenie:** Packet Parser → HTTP • Hostname: `shellyi3-{MAC}.local`

Možné vylepšenia (14)

- Input Event Counter — Monotonic UInt16 counter incrementing on every decoded event — required to reliably detect rapid repeats since the event field is sticky. Could be exposed as a Variable per input.
- Extended Button Type modes — Template's Button Type service action only exposes Toggle/Momentary; firmware also supports edge, detached and action modes.
- Input Logic Reverse — Inverts logical state of an input. Could be added as bool service action per input.
- Long-push Minimum Duration — Default 800 ms, range 1–5000 ms. Global parameter applied to all three inputs.
- Long-push Maximum Duration — Default 800 ms, range 1–5000 ms.
- Multi-push Window — Default 500 ms, range 1–1000 ms. Window for joining short pushes into SS/SSS sequences.
- Action / Webhook Table — Per-event HTTP webhook URLs (btn\_on\_url, btn\_off\_url, shortpush\_url, longpush\_url, double\_shortpush\_url, triple\_shortpush\_url, shortpush\_longpush\_url, longpush\_shortpush\_url). Out of scope for TapHome which polls inputs directly.
- Wi-Fi Signal Strength — RSSI in dBm, available in /status. Could be added as a module-level service attribute.
- Firmware Update Available — Boolean from /status. Other Shelly Gen1 templates expose this as 'FW update' service attribute.
- Uptime — Seconds since boot. Diagnostic value commonly exposed by other Shelly Gen1 templates.
- MAC Address — Diagnostic identifier, commonly exposed by other Shelly Gen1 templates as a service attribute.
- Cloud Status — Shelly Cloud enable + connection booleans.
- MQTT Connection Status — MQTT broker connection state.
- While-pressed Long-push Pulse — MQTT-only feature: stays at 1 for the duration of a long press, useful for 'while-pressed' actions. Not available via HTTP polling.

## Parametre importu

Tieto hodnoty zadáte pri importe XML.

| Pýta sa v aplikácii | Predvolené    |
|---------------------|---------------|
| IP adresa           | `192.168.0.1` |

## Zdroje

- Shelly Gen1 API Reference
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen1/) 2026-03-12
- Home Assistant Shelly Integration
  
  [www.home-assistant.io](https://www.home-assistant.io/integrations/shelly/) 2026-03-12
- Shelly i3 Knowledge Base
  
  [kb.shelly.cloud](https://kb.shelly.cloud/knowledge-base/shelly-i3) 2026-04-26
- Shelly i3 Gen1 API (i3-specific)
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen1/#shelly-i3) 2026-04-26

## Súvisiaca dokumentácia

- [Integrácia Packet Parser](https://taphome.com/sk/compatibility/packet-parser-guide/)
- [Packet Parser (HTTP, TCP, UDP, FTP, MQTT)](https://taphome.com/sk/docs/integration/packet-parser/)
- [Funkcie Packet parsera](https://taphome.com/sk/docs/script/packet-parser/)
- [Parsovacie funkcie](https://taphome.com/sk/docs/script/parsing-functions/)

