TapHome

Shelly i3

Packet Parser → HTTP
Beküldő
Utoljára frissítve: 06. 2026
Shelly i3

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.

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:

IndexEseményShelly kód
0None"" (idle)
1ShortpushS
2LongpushL
3Double ShortpushSS
4Triple ShortpushSSS
5Shortpush + LongpushSL
6Longpush + ShortpushLS

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 /statuswifi_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.

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

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.

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 (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 & SecurityWi-Fi Mode - Client
  4. Adja meg az SSID-t és a jelszót → Save

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

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

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

Shelly i3 Modul
Szerviz attribútumok
Wi-FiAnnak a Wi-Fi hálózatnak az SSID-je, amelyhez az eszköz jelenleg csatlakozik

Shelly i3

Szerviz attribútumok
Wifi
 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

Events I1

Kapcsoló állapot olvasása
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

Events I2

Kapcsoló állapot olvasása
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
# 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

Events I3

Kapcsoló állapot olvasása
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
# 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ípusAz 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ípusAz 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

I1 bemenet

Olvasás
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)
# 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
 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
 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ípusAz 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ípusAz 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

I2 bemenet

Olvasás
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
 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
 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ípusAz 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ípusAz 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

I3 bemenet

Olvasás
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)
# 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
 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
 var Ru := SWITCH(Bu, 0, "toggle","momentary") ;
 VAR response := SENDHTTPREQUEST("/settings/input/2?btn_type=" + Ru);
Kapcsolat: Packet Parser → HTTP
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.

Források

Talált problémát ezzel az eszközsablonnal?

Írja meg, mi nem működik, mi hiányzik, vagy hogyan kellene a sablonnak viselkednie. Visszajelzése segít, hogy a katalógus pontos maradjon.

TapHome által hitelesítve

Használni szeretnéd ezt a TapHome Core-odban?

Nyisd meg ezt a sablont az ügyfélportálon, hogy alkalmazd az otthonaid egyikére, vagy készíts egy módosítást és küldd vissza a katalógusba.

Megnyitás a portálon