---
title: "Shelly i3"
description: "Shelly i3 Wi-Fi 3-bemenetes vezérlő. Egyszeri, dupla, hármas, hosszú és kombinált események detektálása HTTP-n a TapHome-ból — relék nélkül."
url: "https://taphome.com/hu/compatibility/shelly-i3/"
language: hu
lastmod: 2026-04-26
generator: hugo
ai:
  topics: ["http","i/o-module","wifi","digital-input","push-button","reed-contact","3-channel","mdns"]
  questions: ["Hogyan integráljam a Shelly i3-at a TapHome-mal?","Hogyan detektálható gombnyomás Shelly i3-mal a TapHome-ban?","Hogyan csatlakoztassam a Shelly i3-at HTTP-n keresztül a TapHome-hoz?","Mi a különbség a toggle és momentary mód között Shelly i3-on?","Miért nem érzékel a Shelly i3 dupla vagy hármas nyomásokat a TapHome-ban?","Tud a Shelly i3 közvetlenül relét vezérelni?","Hány műveletet tud kiváltani a Shelly i3?"]
---

# Shelly i3

Kommunikáció: Packet Parser → HTTP

- [Shelly i3 termékoldal](https://www.shelly.com/products/shop/shelly-i3)
- [Shelly i3 tudásbázis](https://kb.shelly.cloud/knowledge-base/shelly-i3)
- [Shelly Gen1 API hivatkozás](https://shelly-api-docs.shelly.cloud/gen1/#shelly-i3)

> Hálózati cím
> 
> A TapHome az importáláskor megadott címen éri el az eszközt. Adjon az eszköznek állandó címet — IP-foglalást a routerben, vagy az mDNS-nevét, ha támogatja —, különben az integráció leáll, amikor a router megváltoztatja a címet.
> 
> [A hálózat előkészítése](https://taphome.com/hu/docs/setup/network-preparation/)

## Integrációs útmutató

A Shelly i3 egy kompakt Wi-Fi 3-bemenetes művelet- és jelenetvezérlő (modell: `SHIX3-1`). Nincsenek reléi vagy kimenetei — kizárólag bemeneti eszközként működik, amely három, az SW1, SW2 és SW3 sorkapcsokra kötött külső kapcsolót vagy nyomógombot figyel. A 40 × 36 × 10 mm-es méret lehetővé teszi a beszerelést szabványos szerelvénydobozba egy meglévő fali kapcsoló mögé. Tápellátása 110–230 VAC (nullavezető szükséges) vagy 24–60 VDC, fogyasztása 1 W alatt van.

A TapHome HTTP-n keresztül kommunikál az eszközzel a helyi Wi-Fi hálózaton — felhőkapcsolat nem szükséges. A sablon minden bemenethez két eszközt hoz létre: egy multi-érték kapcsolót, amely dekódolja a multi-click eseményeket (egyszeri, dupla, hármas, hosszú és kombinált szekvenciák), valamint egy reed-kontaktust, amely a nyers 0/1 bemeneti állapotot, illetve a toggle és momentary mód közti váltáshoz szervizakciót biztosít.

## Beállítás

### Wi-Fi párosítás és IP-cím

Bekapcsolás után az i3 Access Point módban indul `shellyi3-XXXXXX` SSID-vel (ahol az `XXXXXX` a MAC utolsó 6 hex számjegye). Az otthoni hálózathoz párosításhoz:

1. Csatlakoztass egy telefont vagy laptopot az i3 hozzáférési ponthoz
2. Nyisd meg böngészőben a `http://192.168.33.1` címet (vagy használd a Shelly mobilalkalmazást)
3. A webes felületen menj a **Internet & Security → WIFI MODE - CLIENT** menüpontba, add meg az otthoni Wi-Fi hitelesítő adatait és mentsd
4. Az eszköz újraindul és DHCP-n keresztül csatlakozik az otthoni hálózathoz

A kiosztott IP-címet a router DHCP bérleti táblájából vagy a `shellyi3-XXXXXXXXXXXX.local` mDNS hostnévből (12 karakteres MAC-utótag, hirdetve mint `_http._tcp.local.`) lehet visszanyerni. A TapHome sablon importja során add meg ezt az IP-címet az egyetlen kötelező paraméterként.

### HTTP-hitelesítés letiltása

A TapHome nem tud hitelesíteni az eszköz felé. A Shelly webes felületén menj a **Internet & Security → RESTRICT LOGIN** menüpontba, és győződj meg róla, hogy ez az opció **letiltott** állapotban van a sablon importálása előtt — különben minden lekérdezés HTTP 401 hibával hiúsul meg.

### Gombtípus konfigurálása

A három bemenet bármelyike öt `btn_type` mód egyikében működhet. A TapHome számára csak kettő releváns, amelyek szervizakcióként vannak elérhetők az I1 / I2 / I3 eszközökön:

- **Momentary** — nyomógombokhoz. A firmware dekódolja az egyszeri rövid nyomást (`S`), hosszú nyomást (`L`), dupla rövid nyomást (`SS`), hármas rövid nyomást (`SSS`), rövid→hosszú (`SL`) és hosszú→rövid (`LS`) eseményeket. Szükséges ahhoz, hogy az **Events I{N}** eszközök a `None`-on kívül bármi mást generáljanak.
- **Toggle** — hagyományos billenő- vagy kapcsolókhoz. Csak a nyers 0/1 állapot kerül jelentésre; a multi-érték kapcsoló a 0 indexen marad.

A gombtípus bármikor megváltoztatható a TapHome-ból a **Button Type** szervizakcióval minden I1 / I2 / I3 eszközön, vagy közvetlenül a Shelly webes felületén a **Settings → Input/Output settings** menüpontban.

> [!NOTE]
> A firmware az `edge`, `detached` és `action` módokat is támogatja, de ezek nincsenek a TapHome sablonban kitéve. A Shelly webes felületéről továbbra is beállíthatók az integráció megtörése nélkül — csak a multi-click dekódolási viselkedés változik.

## Eszközfunkciók

### Multi-click eseménydekódolás (Events I1, Events I2, Events I3)

Minden bemenethez egy multi-érték kapcsoló dekódolja a firmware-szintű eseménykódot a hét érték egyikére:

| Index | Esemény | 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` |

A sablon 2,5 másodpercenként kérdezi le a `/input/{0,1,2}` végpontokat és olvassa az `event` mezőt. 6 esemény × 3 bemenet alapján a Shelly az i3-at **akár 18 különböző multi-click műveletet** támogató eszközként hirdeti (24, ha a nyers be/ki állapotváltozásokat külön triggernek számoljuk).

A hosszú nyomás küszöbértéke és a multi-push ablak globálisan konfigurált az eszközön (alapértelmezett: 800 ms hosszú nyomáshoz, 500 ms ablak a nyomások között). A Shelly webes felületén a **Settings → Long Push Duration** és **Multi Push Time** menüpontokban hangolhatók.

### Nyers bemeneti állapot és gombtípus-vezérlés (I1, I2, I3)

Minden bemenethez egy reed-kontaktus eszköz teszi elérhetővé a `/input/{N}` `input` mezőjéből olvasott nyers logikai állapotot (0 = nyitott, 1 = zárt, az opcionális `btn_reverse` inverzió után). Minden I1 / I2 / I3 eszköz tartalmaz továbbá:

- **Button Type** — szervizattribútum a jelenlegi `btn_type` értékkel (toggle / momentary / edge / detached / action)
- **Button Type** — szervizakció, amely a bemenetet Toggle és Momentary között kapcsolja a `POST /settings/input/{N}?btn_type=...` írásával

A nyers állapot alkalmas az SW sorkapcsokra kötött ajtó / ablak mágneses kontaktusokhoz vagy egy billenőkapcsoló valós idejű pozíciókövetéséhez.

### Szerviz diagnosztika

Egyetlen modulszintű szervizattribútum jeleníti meg a **Wi-Fi SSID**-t, amelyhez az i3 jelenleg csatlakozik (a `/status` → `wifi_sta.ssid` mezőből olvasva). Egyéb Gen1 diagnosztikai adatok (uptime, MAC, RSSI, firmware-frissítés jelző) elérhetők az eszköz REST API-ján, de ebben a sablonban nincsenek kitéve.

> [!TIP]
> A multi-click események csak **momentary** módban generálódnak. Ha egy fizikai bemenet hagyományos billenőkapcsolóra van kötve, állítsd ezt a bemenetet **Toggle** módra, és használd az I{N} reed-kontaktus eszközt a 0/1 állapot olvasásához — a megfelelő Events I{N} eszköz a 0 indexen marad.

## Hibaelhárítás

### A multi-click események nem észlelhetők

1. Ellenőrizd, hogy a bemenet **momentary** módban van-e — nyisd meg az I{N} eszközt a TapHome-ban, futtasd a **Button Type** szervizakciót és válaszd a Momentary opciót, vagy állítsd be közvetlenül a Shelly webes felületén a **Settings → Input/Output settings** menüpontban
2. Toggle módban a firmware csak állapotváltozásokat jelent; az Events I{N} multi-érték kapcsoló a 0 indexen marad
3. Ha a nyomások rossz eseményként kerülnek dekódolásra, állítsd be a **Long Push Duration** (alapértelmezett 800 ms) és **Multi Push Time** (alapértelmezett 500 ms) értékeket a Shelly webes felületén
4. A hosszú szekvenciák, mint `SSS`, `SL` vagy `LS`, igénylik, hogy a felhasználó minden nyomást a multi-push ablakon belül tartson — az ablakot meghaladó szünetek külön `S` eseményként kerülnek dekódolásra

### Ugyanaz az esemény ismétlődik / „beragadt" esemény

A `/input/{N}` által visszaadott `event` mező **az utoljára dekódolt esemény** — a firmware nem törli automatikusan. A TapHome ezt a mezőt minden lekérdezéskor olvassa, így a multi-érték kapcsoló továbbra is a korábbi eseményt jelenti, amíg új nem következik be. Ez normális viselkedés, és nem jelez hibát. Ha minden nyomásra elsülő egyedi logikát írsz, párosítsd az eseményt a monoton `event_cnt` számlálóval (szintén elérhető a `/input/{N}`-ben) a változás detektálásához, ahelyett hogy csak az `event` értékére hagyatkoznál.

### Az eszköz nem válaszol

1. Ellenőrizd, hogy az i3 csatlakozik-e a Wi-Fi-hez — nyisd meg böngészőben a `http://{device-ip}/shelly` címet; ha JSON objektumot ad vissza, az eszköz elérhető
2. Próbáld meg az IP-cím helyett a `shellyi3-XXXXXXXXXXXX.local` mDNS hostnevet — az IP DHCP megújítás után megváltozhatott
3. Győződj meg róla, hogy a HTTP-hitelesítés **letiltott** állapotú a **Internet & Security → Restrict login** menüpontban — a TapHome nem tud hitelesítő adatokat küldeni, és minden kérés HTTP 401-et ad vissza
4. Ellenőrizd, hogy a TapHome Core és a Shelly eszköz ugyanazon a hálózaton vagy VLAN-on van, engedélyezett mDNS / multicast mellett

> [!WARNING]
> A Gen1 Shelly eszközök **legfeljebb 2 egyidejű HTTP-kapcsolatot** fogadnak el. A szállított sablon minden bemenetet 2,5 s-os intervallumokkal kérdez le, ami már közel van a limithez. **Ne csökkentsd** a lekérdezési intervallumot, és kerüld el más rendszer (pl. Home Assistant, egyéni szkriptek) futtatását, amely ugyanazt az i3-at egyidejűleg lekérdezi — a kommunikáció megbízhatatlanná válhat.

> [!NOTE]
> Az XML sablon három fenntartott multi-érték indexet tartalmaz (7, 8, 9 a 71/72/73 nyers kódokkal és „7" / „8" / „9" általános címkékkel). A Gen1 firmware nem bocsát ki eseményeket az `S`, `L`, `SS`, `SSS`, `SL` és `LS`-en kívül, így ezek az indexek nem használt helyőrzők, és az Events I{N} eszköz értékének a gyakorlatban soha nem szabad elérnie a 7-9 tartományt.

## Telepítés a TapHome-ban

### Előfeltételek

- Shelly eszköz telepítve és bekapcsolva
- Helyi Wi-Fi hálózat (2,4 GHz)
- TapHome CCU ugyanazon a hálózaton

### 1. lépés — Shelly csatlakoztatása a Wi-Fi-hez

**A lehetőség — Shelly alkalmazás (ajánlott):**

1. Töltse le a [Shelly alkalmazást](https://www.shelly.com/en/support/shelly-app) (iOS / Android)
2. Érintse meg a **+** → **Add Device** gombot, és kövesse a Bluetooth párosítási varázslót
3. Adja meg Wi-Fi hitelesítő adatait, amikor a rendszer kéri

**B lehetőség — AP mód (alkalmazás nélkül):**

1. Első bekapcsoláskor az eszköz létrehoz egy hotspotot: `ShellyXXX-AABBCCDDEE`
2. Csatlakoztassa telefonját/PC-jét ehhez a hotspothoz
3. Nyissa meg a `http://192.168.33.1` címet → **Internet & Security** → **Wi-Fi Mode - Client**
4. Adja meg az SSID-t és a jelszót → **Save**

> [!NOTE]
> A Shelly csak **2,4 GHz**-es hálózatokat támogat. Az 5 GHz-es hálózatok nem jelennek meg a keresésben.

### 2. lépés — IP-cím megkeresése

A Wi-Fi-hez való csatlakozás után az alábbi módszerek egyikével keresse meg a hozzárendelt IP-címet:

- **Shelly alkalmazás:** Eszköz részletei → **Device info** → IP-cím
- **Shelly webes felület:** Csatlakozzon az eszköz AP-jához a Wi-Fi beállítás előtt — az IP a mentés után jelenik meg
- **Router DHCP tábla:** Keressen egy hasonló hosztnevet: `shelly1pm-AABBCCDDEE`
- **mDNS:** Pingelje a `shelly<model>-<mac>.local` címet (pl. `shelly1pm-AABBCCDDEE.local`) ugyanarról a hálózatról

> [!TIP]
> Rendeljen **statikus IP**-t (DHCP foglalást) a Shelly eszközhöz a routerben, hogy a cím ne változzon a router újraindítása után.

### 3. lépés — Konfigurálás a TapHome-ban

1. A TapHome-ban adjon hozzá egy új **Packet Parser (HTTP)** modult
2. **IP Address:** adja meg a 2. lépésben kapott IP-t (pl. `192.168.1.50`)
3. **Port:** `80` (alapértelmezett, nem kell módosítani)
4. Importálja a sablont — a TapHome rendszeresen lekérdezi a `/status` végpontot az eszköz állapotának olvasásához

> [!NOTE]
> A HTTP hitelesítés a Shelly eszközökön alapértelmezetten ki van kapcsolva. Ha engedélyezte a bejelentkezésvédelmet, a TapHome jelenleg nem támogatja a HTTP Basic Auth-ot — a TapHome integrációhoz hagyja kikapcsolva a hitelesítést.

## Elérhető eszközök 6

Ezek az eszközök az importálás után jelennek meg a TapHome-ban.

Shelly i3 Modul

Szerviz attribútumok

|       |                                                                              |
|-------|------------------------------------------------------------------------------|
| Wi-Fi | Annak a Wi-Fi hálózatnak az SSID-je, amelyhez az eszköz jelenleg csatlakozik |

Szerviz attribútumok

Wifi

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

Events I1 Többértékű kapcsoló Csak olvasható

Dekódolt multi-click esemény az I1 bemenethez — None, Shortpush, Longpush, Double Shortpush, Triple Shortpush, Shortpush + Longpush, Longpush + Shortpush (csak akkor aktiválódik, ha a Button Type Momentary)

string (decoded to UInt8 via SWITCH) json\_path

Értékek / Állapotok: None · Shortpush · Longpush · Double Shortpush · Triple Shortpush · Shortpush + Longpush · Longpush + Shortpush

Kapcsoló állapot olvasása

```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 Többértékű kapcsoló Csak olvasható

Dekódolt multi-click esemény az I2 bemenethez — None, Shortpush, Longpush, Double Shortpush, Triple Shortpush, Shortpush + Longpush, Longpush + Shortpush (csak akkor aktiválódik, ha a Button Type Momentary)

string (decoded to UInt8 via SWITCH) json\_path

Értékek / Állapotok: None · Shortpush · Longpush · Double Shortpush · Triple Shortpush · Shortpush + Longpush · Longpush + Shortpush

Kapcsoló állapot olvasása

```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
```

Kapcsoló állapot írása

```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 Többértékű kapcsoló Csak olvasható

Dekódolt multi-click esemény az I3 bemenethez — None, Shortpush, Longpush, Double Shortpush, Triple Shortpush, Shortpush + Longpush, Longpush + Shortpush (csak akkor aktiválódik, ha a Button Type Momentary)

string (decoded to UInt8 via SWITCH) json\_path

Értékek / Állapotok: None · Shortpush · Longpush · Double Shortpush · Triple Shortpush · Shortpush + Longpush · Longpush + Shortpush

Kapcsoló állapot olvasása

```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
```

Kapcsoló állapot írása

```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
```

I1 bemenet Reed kontaktus Csak olvasható

Az I1 bemenet nyers logikai állapota — 0 (nyitott) vagy 1 (zárt), tükrözi az SW1 sorkapocsra kötött kapcsoló valós pozícióját

boolean json\_path

Szerviz attribútumok

|           |                                                                                                                                         |
|-----------|-----------------------------------------------------------------------------------------------------------------------------------------|
| Gombtípus | Az I1 bemenet aktuális viselkedési módja — Toggle (hagyományos kapcsoló) vagy Momentary (nyomógomb, multi-click dekódoláshoz szükséges) |

Szerviz műveletek

|           |                                                                                                                                                           |
|-----------|-----------------------------------------------------------------------------------------------------------------------------------------------------------|
| Gombtípus | Az I1 bemenetet Toggle (hagyományos kapcsoló) és Momentary (nyomógomb — szükséges, hogy az Events I1 multi-click dekódolás aktiválódjon) között kapcsolja |

Olvasás

```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
```

Olvasás (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");
```

Szerviz attribútumok

Button Type

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

Szerviz műveletek

Button Type

Paraméterek: Button Type

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

I2 bemenet Reed kontaktus Csak olvasható

Az I2 bemenet nyers logikai állapota — 0 (nyitott) vagy 1 (zárt), tükrözi az SW2 sorkapocsra kötött kapcsoló valós pozícióját

boolean json\_path

Szerviz attribútumok

|           |                                                                                                                                         |
|-----------|-----------------------------------------------------------------------------------------------------------------------------------------|
| Gombtípus | Az I2 bemenet aktuális viselkedési módja — Toggle (hagyományos kapcsoló) vagy Momentary (nyomógomb, multi-click dekódoláshoz szükséges) |

Szerviz műveletek

|           |                                                                                                                                                           |
|-----------|-----------------------------------------------------------------------------------------------------------------------------------------------------------|
| Gombtípus | Az I2 bemenetet Toggle (hagyományos kapcsoló) és Momentary (nyomógomb — szükséges, hogy az Events I2 multi-click dekódolás aktiválódjon) között kapcsolja |

Olvasás

```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
```

Szerviz attribútumok

Button Type

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

Szerviz műveletek

Button Type

Paraméterek: Button Type

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

I3 bemenet Reed kontaktus Csak olvasható

Az I3 bemenet nyers logikai állapota — 0 (nyitott) vagy 1 (zárt), tükrözi az SW3 sorkapocsra kötött kapcsoló valós pozícióját

boolean json\_path

Szerviz attribútumok

|           |                                                                                                                                         |
|-----------|-----------------------------------------------------------------------------------------------------------------------------------------|
| Gombtípus | Az I3 bemenet aktuális viselkedési módja — Toggle (hagyományos kapcsoló) vagy Momentary (nyomógomb, multi-click dekódoláshoz szükséges) |

Szerviz műveletek

|           |                                                                                                                                                           |
|-----------|-----------------------------------------------------------------------------------------------------------------------------------------------------------|
| Gombtípus | Az I3 bemenetet Toggle (hagyományos kapcsoló) és Momentary (nyomógomb — szükséges, hogy az Events I3 multi-click dekódolás aktiválódjon) között kapcsolja |

Olvasás

```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
```

Olvasás (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");
```

Szerviz attribútumok

Button Type

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

Szerviz műveletek

Button Type

Paraméterek: Button Type

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

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

Lehetséges fejlesztések (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.

## Importálási paraméterek

Ezeket az értékeket az XML importálásakor adja meg.

| Az alkalmazás kéri | Alapérték     |
|--------------------|---------------|
| IP-cím             | `192.168.0.1` |

## Források

- 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

## Kapcsolódó dokumentáció

- [Packet Parser integráció](https://taphome.com/hu/compatibility/packet-parser-guide/)
- [Packet Parser (HTTP, TCP, UDP, FTP, MQTT)](https://taphome.com/hu/docs/integration/packet-parser/)
- [Packet parser függvények](https://taphome.com/hu/docs/script/packet-parser/)
- [Elemző függvények](https://taphome.com/hu/docs/script/parsing-functions/)

