TapHome

Shelly i3

Packet Parser → HTTP
Autor
Posljednje ažuriranje: 04. 2026

Ovaj uređaj podržava mDNS

Umjesto IP adrese uređaju možete pristupiti na adresi:

shellyi3-{MAC}.local

Zamijenite {MAC} MAC adresom svog uređaja (velika slova, bez dvotočaka).

TapHome podržava mDNS. Naziv računala (hostname) pouzdaniji je od statične IP adrese.

Shelly i3

Shelly i3 je kompaktni Wi-Fi upravljač radnji i scena s 3 ulaza (model SHIX3-1). Nema releje ni izlaze: radi isključivo kao ulazni uređaj koji prati tri vanjska prekidača ili tipkala spojena na stezaljke SW1, SW2 i SW3. Zahvaljujući dimenzijama 40 × 36 × 10 mm može se ugraditi u standardnu podžbuknu kutiju iza postojećeg zidnog prekidača. Napaja se naponom 110–230 V AC (potreban je neutralni vodič) ili 24–60 V DC i troši manje od 1 W.

TapHome s uređajem komunicira preko HTTP-a u lokalnoj Wi-Fi mreži, veza s oblakom nije potrebna. Za svaki ulaz predložak stvara dva uređaja: prekidač s više vrijednosti koji dekodira događaje višestrukog klika (jednostruke, dvostruke, trostruke, duge i kombinirane nizove) i magnetski kontakt koji prikazuje neobrađeno stanje ulaza 0/1, uz servisnu radnju za prebacivanje između načina toggle i momentary.

Postavljanje

Uparivanje s Wi-Fi mrežom i IP adresa

Nakon uključivanja i3 se pokreće u načinu pristupne točke sa SSID-om shellyi3-XXXXXX (gdje je XXXXXX zadnjih 6 heksadecimalnih znamenki MAC adrese). Za uparivanje s kućnom mrežom:

  1. Spojite telefon ili prijenosno računalo na pristupnu točku uređaja i3
  2. U pregledniku otvorite http://192.168.33.1 (ili koristite mobilnu aplikaciju Shelly)
  3. U web-sučelju idite na Internet & Security → WIFI MODE - CLIENT, unesite podatke za prijavu na kućnu Wi-Fi mrežu i spremite
  4. Uređaj se ponovno pokreće i spaja na kućnu mrežu preko DHCP-a

Dodijeljenu IP adresu pronađite u tablici DHCP zakupa usmjerivača ili preko mDNS naziva hosta shellyi3-XXXXXXXXXXXX.local (sufiks MAC adrese od 12 znakova, oglašava se kao _http._tcp.local.). Pri uvozu predloška u TapHome unesite tu IP adresu kao jedini obvezni parametar.

Isključivanje HTTP autentifikacije

TapHome se ne može autentificirati na uređaju. U web-sučelju Shelly idite na Internet & Security → RESTRICT LOGIN i prije uvoza predloška provjerite je li ta opcija isključena, inače će svako očitavanje završiti pogreškom HTTP 401.

Postavljanje vrste tipke

Svaki od tri ulaza može raditi u jednom od pet načina btn_type. Za TapHome su važna samo dva, koja su dostupna kao servisna radnja na uređajima I1 / I2 / I3:

  • Momentary: za tipkala. Firmver dekodira jednostruki klik (S), dugi pritisak (L), dvostruki klik (SS), trostruki klik (SSS), kratki→dugi (SL) i dugi→kratki (LS). Potreban je da bi uređaji Events I{N} javljali vrijednosti različite od None.
  • Toggle: za klasične preklopne prekidače. Javlja se samo neobrađeno stanje 0/1, a prekidač s više vrijednosti ostaje na indeksu 0.

Vrsta tipke može se u bilo kojem trenutku promijeniti iz sustava TapHome servisnom radnjom Vrsta tipke na svakom uređaju I1 / I2 / I3 ili izravno u web-sučelju Shelly pod Settings → Input/Output settings.

Firmver podržava i načine edge, detached i action, ali oni nisu dostupni u predlošku TapHome. I dalje se mogu postaviti u web-sučelju Shelly bez narušavanja integracije, mijenja se samo način dekodiranja događaja višestrukog klika.

Mogućnosti uređaja

Dekodiranje događaja višestrukog klika (Events I1, Events I2, Events I3)

Za svaki ulaz prekidač s više vrijednosti dekodira kod događaja iz firmvera u jednu od sedam vrijednosti:

IndeksDogađajKod Shelly
0None"" (mirovanje)
1ShortpushS
2LongpushL
3Double ShortpushSS
4Triple ShortpushSSS
5Shortpush + LongpushSL
6Longpush + ShortpushLS

Predložak svakih 2,5 sekunde očitava /input/{0,1,2} i čita polje event. Sa 6 događaja × 3 ulaza Shelly navodi da i3 podržava do 18 različitih radnji višestrukog klika (24 ako se promjene neobrađenog stanja uključeno/isključeno računaju kao zasebni okidači).

Prag dugog pritiska i vremenski prozor za višestruki klik postavljaju se globalno na uređaju (zadano: 800 ms za dugi pritisak, 500 ms između pritisaka). Mogu se podesiti u web-sučelju Shelly pod Settings → Long Push Duration i Multi Push Time.

Neobrađeno stanje ulaza i upravljanje vrstom tipke (I1, I2, I3)

Za svaki ulaz uređaj magnetski kontakt prikazuje neobrađeno logičko stanje pročitano iz polja input u /input/{N} (0 = otvoreno, 1 = zatvoreno, nakon moguće inverzije btn_reverse). Svaki uređaj I1 / I2 / I3 ima i:

  • servisni atribut Vrsta tipke: trenutačna vrijednost btn_type (toggle / momentary / edge / detached / action)
  • servisnu radnju Vrsta tipke: prebacuje ulaz između načina Toggle i Momentary upisom POST /settings/input/{N}?btn_type=...

Neobrađeno stanje prikladno je za magnetske kontakte vrata / prozora spojene na stezaljke SW ili za praćenje položaja preklopnog prekidača u stvarnom vremenu.

Servisna dijagnostika

Jedan servisni atribut na razini modula prikazuje Wi-Fi SSID mreže na koju je i3 trenutačno spojen (čita se iz /status → wifi_sta.ssid). Ostala dijagnostika Gen1 (vrijeme rada, MAC, RSSI, oznaka ažuriranja firmvera) dostupna je preko REST API-ja uređaja, ali nije uključena u ovaj predložak.

Događaji višestrukog klika aktiviraju se samo u načinu momentary. Ako je fizički ulaz spojen preko klasičnog preklopnog prekidača, postavite taj ulaz na Toggle i za čitanje stanja 0/1 koristite uređaj magnetski kontakt I{N}: odgovarajući uređaj Events I{N} ostat će na indeksu 0.

Rješavanje problema

Događaji višestrukog klika se ne prepoznaju
  1. Provjerite je li ulaz u načinu momentary: u sustavu TapHome otvorite uređaj I{N}, pokrenite servisnu radnju Vrsta tipke i odaberite Momentary ili to postavite izravno u web-sučelju Shelly pod Settings → Input/Output settings
  2. U načinu toggle firmver javlja samo promjene stanja, a prekidač s više vrijednosti Events I{N} ostaje na indeksu 0
  3. Ako se pritisci dekodiraju kao pogrešan događaj, u web-sučelju Shelly podesite Long Push Duration (zadano 800 ms) i Multi Push Time (zadano 500 ms)
  4. Kod dužih nizova kao što su SSS, SL ili LS korisnik mora sve pritiske izvesti unutar vremenskog prozora za višestruki klik: stanke između pritisaka dulje od tog prozora dekodiraju se kao zasebni događaji S
Isti se događaj stalno ponavlja / „zaglavljeni” događaj

Polje event koje vraća /input/{N} je zadnji dekodirani događaj: firmver ga ne briše sam. TapHome to polje čita pri svakom očitavanju, pa prekidač s više vrijednosti javlja prethodni događaj sve dok se ne dogodi novi. To je normalno ponašanje i ne znači kvar. Kada pišete vlastitu logiku koja treba reagirati na svaki pritisak, uz događaj koristite i rastući brojač event_cnt (također dostupan u /input/{N}) kako biste prepoznali promjenu, umjesto da se oslanjate samo na vrijednost event.

Uređaj ne odgovara
  1. Provjerite je li i3 spojen na Wi-Fi: u pregledniku otvorite http://{device-ip}/shelly; ako vrati JSON objekt, uređaj je dostupan
  2. Umjesto IP adrese pokušajte mDNS naziv hosta shellyi3-XXXXXXXXXXXX.local: IP adresa se možda promijenila nakon obnove DHCP zakupa
  3. Provjerite je li HTTP autentifikacija isključena pod Internet & Security → Restrict login: TapHome ne može poslati podatke za prijavu i svaki će zahtjev vratiti HTTP 401
  4. Provjerite jesu li TapHome Core i uređaj Shelly u istoj mreži ili VLAN-u s dopuštenim mDNS-om / multicastom

Uređaji Shelly Gen1 prihvaćaju najviše 2 istodobne HTTP veze. Isporučeni predložak očitava svaki ulaz u intervalima od 2,5 s, što je već blizu granice. Nemojte smanjivati interval očitavanja i izbjegavajte da drugi sustav (npr. Home Assistant, vlastite skripte) istodobno očitava isti i3, jer komunikacija može postati nepouzdana.

XML predložak sadrži tri rezervirana indeksa vrijednosti (7, 8, 9 s neobrađenim kodovima 71/72/73 i općenitim oznakama „7” / „8” / „9”). Firmver Gen1 ne šalje druge događaje osim S, L, SS, SSS, SL i LS, pa su ti indeksi neiskorištena rezervirana mjesta i vrijednost odgovarajućeg uređaja Events I{N} u praksi nikada ne bi trebala doseći 7–9.

Kako ga instalirati u TapHome

Preduvjeti

  • Uređaj Shelly ugrađen i uključen
  • Lokalna Wi-Fi mreža (2,4 GHz)
  • TapHome CCU u istoj mreži

Korak 1 — Spojite Shelly na Wi-Fi

Opcija A — aplikacija Shelly (preporučeno):

  1. Preuzmite aplikaciju Shelly (iOS / Android)
  2. Dodirnite + → Add Device i slijedite čarobnjak za uparivanje preko Bluetootha
  3. Kada se to zatraži, unesite podatke za prijavu na Wi-Fi

Opcija B — način rada AP (bez aplikacije):

  1. Pri prvom uključivanju uređaj stvara pristupnu točku: ShellyXXX-AABBCCDDEE
  2. Spojite telefon ili računalo na tu pristupnu točku
  3. Otvorite http://192.168.33.1 → Internet & Security → Wi-Fi Mode - Client
  4. Unesite SSID i lozinku → Save

Shelly podržava samo mreže od 2,4 GHz. Mreže od 5 GHz neće se prikazati pri skeniranju.

Korak 2 — Pronađite adresu uređaja

Uređaji Shelly Gen1 podržavaju mDNS (Zeroconf). Uređaju možete pristupiti preko naziva hosta umjesto IP adrese:

1
shelly<model>-<MAC>.local

Na primjer: shelly1pm-AABBCCDDEE.local (MAC adresa velikim slovima u heksadecimalnom zapisu, bez dvotočaka).

Preporučeno: koristite IP skener TapHome. Otvorite aplikaciju TapHome i pokrenite IP skener (Postavke → Mreža → Skeniranje). Skener pronalazi uređaje u vašoj mreži i prikazuje IP adresu i mDNS naziv hosta. Za pouzdaniju vezu koristite naziv hosta umjesto IP adrese, jer ostaje isti i kada se IP adresa uređaja promijeni nakon ponovnog pokretanja usmjerivača.

Drugi načini za pronalaženje IP adrese:

  • Aplikacija Shelly: detalji uređaja → Device info → IP adresa
  • Web-sučelje Shelly: spojite se na AP uređaja prije postavljanja Wi-Fi mreže — IP adresa prikazuje se nakon spremanja
  • DHCP tablica usmjerivača: potražite naziv hosta poput shelly1pm-AABBCCDDEE

Korak 3 — Konfiguracija u sustavu TapHome

  1. U sustavu TapHome dodajte novi modul Packet Parser (HTTP)
  2. Adresa: unesite mDNS naziv hosta (npr. shelly1pm-AABBCCDDEE.local) ili IP adresu iz koraka 2
  3. Port: 80 (zadano, nije potrebno mijenjati)
  4. Uvezite predložak — TapHome će čitati /status kako bi očitao stanje uređaja

HTTP autentifikacija na uređajima Shelly zadano je isključena. Ako ste uključili zaštitu prijavom, TapHome trenutačno ne podržava HTTP Basic Auth — za integraciju sa sustavom TapHome ostavite autentifikaciju isključenom.

Dostupni uređaji

Shelly i3 Modul
Servisni atributi
Wi-FiSSID Wi-Fi mreže na koju je uređaj trenutačno spojen

Shelly i3

Servisni atributi
Wifi
 VAR response := SENDHTTPREQUEST("/status");
 IF response.IsSuccess
  VAR content := response.Content;
  RETURN(PARSEJSON(content, "$.wifi_sta.ssid"));
  End
Events I1 Prekidač s više vrijednosti Samo za čitanje

Dekodirani događaj višestrukog klika za ulaz I1 — None, Shortpush, Longpush, Double Shortpush, Triple Shortpush, Shortpush + Longpush, Longpush + Shortpush (aktivira se samo kada je Vrsta tipke postavljena na Momentary)

string (decoded to UInt8 via SWITCH) json_path
Vrijednosti / stanja: None · Shortpush · Longpush · Double Shortpush · Triple Shortpush · Shortpush + Longpush · Longpush + Shortpush

Events I1

Čitanje stanja sklopke
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 Prekidač s više vrijednosti Samo za čitanje

Dekodirani događaj višestrukog klika za ulaz I2 — None, Shortpush, Longpush, Double Shortpush, Triple Shortpush, Shortpush + Longpush, Longpush + Shortpush (aktivira se samo kada je Vrsta tipke postavljena na Momentary)

string (decoded to UInt8 via SWITCH) json_path
Vrijednosti / stanja: None · Shortpush · Longpush · Double Shortpush · Triple Shortpush · Shortpush + Longpush · Longpush + Shortpush

Events I2

Čitanje stanja sklopke
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
Zapis stanja sklopke
# 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 Prekidač s više vrijednosti Samo za čitanje

Dekodirani događaj višestrukog klika za ulaz I3 — None, Shortpush, Longpush, Double Shortpush, Triple Shortpush, Shortpush + Longpush, Longpush + Shortpush (aktivira se samo kada je Vrsta tipke postavljena na Momentary)

string (decoded to UInt8 via SWITCH) json_path
Vrijednosti / stanja: None · Shortpush · Longpush · Double Shortpush · Triple Shortpush · Shortpush + Longpush · Longpush + Shortpush

Events I3

Čitanje stanja sklopke
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
Zapis stanja sklopke
# 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
Ulaz I1 Magnetski kontakt Samo za čitanje

Neobrađeno logičko stanje ulaza I1 — 0 (otvoreno) ili 1 (zatvoreno), prikazuje trenutačni položaj prekidača spojenog na stezaljku SW1

boolean json_path
Servisni atributi
Vrsta tipkeTrenutačni način rada ulaza I1 — Toggle (klasični prekidač) ili Momentary (tipkalo, potrebno za dekodiranje višestrukog klika)
Servisne radnje
Vrsta tipkePrebacuje ulaz I1 između načina Toggle (klasični prekidač) i Momentary (tipkalo — potrebno da bi se aktiviralo dekodiranje višestrukog klika u Events I1)

Ulaz I1

Čitanje
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
Čitanje (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");
Servisni atributi
Button Type
 VAR response := SENDHTTPREQUEST("/settings/input/0");
 IF response.IsSuccess
  VAR content := response.Content;
  RETURN(PARSEJSON(content, "btn_type"));
 END
Servisne radnje
Button Type
Parametri: Button Type
 var Ru := SWITCH(Bu, 0, "toggle","momentary") ;
 VAR response := SENDHTTPREQUEST("/settings/input/0?btn_type=" + Ru);
Ulaz I2 Magnetski kontakt Samo za čitanje

Neobrađeno logičko stanje ulaza I2 — 0 (otvoreno) ili 1 (zatvoreno), prikazuje trenutačni položaj prekidača spojenog na stezaljku SW2

boolean json_path
Servisni atributi
Vrsta tipkeTrenutačni način rada ulaza I2 — Toggle (klasični prekidač) ili Momentary (tipkalo, potrebno za dekodiranje višestrukog klika)
Servisne radnje
Vrsta tipkePrebacuje ulaz I2 između načina Toggle (klasični prekidač) i Momentary (tipkalo — potrebno da bi se aktiviralo dekodiranje višestrukog klika u Events I2)

Ulaz I2

Čitanje
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
Servisni atributi
Button Type
 VAR response := SENDHTTPREQUEST("/settings/input/1");
 IF response.IsSuccess
  VAR content := response.Content;
  RETURN(PARSEJSON(content, "btn_type"));
 END
Servisne radnje
Button Type
Parametri: Button Type
 var Ru := SWITCH(Bu, 0, "toggle","momentary") ;
 VAR response := SENDHTTPREQUEST("/settings/input/1?btn_type=" + Ru);
Ulaz I3 Magnetski kontakt Samo za čitanje

Neobrađeno logičko stanje ulaza I3 — 0 (otvoreno) ili 1 (zatvoreno), prikazuje trenutačni položaj prekidača spojenog na stezaljku SW3

boolean json_path
Servisni atributi
Vrsta tipkeTrenutačni način rada ulaza I3 — Toggle (klasični prekidač) ili Momentary (tipkalo, potrebno za dekodiranje višestrukog klika)
Servisne radnje
Vrsta tipkePrebacuje ulaz I3 između načina Toggle (klasični prekidač) i Momentary (tipkalo — potrebno da bi se aktiviralo dekodiranje višestrukog klika u Events I3)

Ulaz I3

Čitanje
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
Čitanje (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");
Servisni atributi
Button Type
 VAR response := SENDHTTPREQUEST("/settings/input/2");
 IF response.IsSuccess
  VAR content := response.Content;
  RETURN(PARSEJSON(content, "btn_type"));
 END
Servisne radnje
Button Type
Parametri: Button Type
 var Ru := SWITCH(Bu, 0, "toggle","momentary") ;
 VAR response := SENDHTTPREQUEST("/settings/input/2?btn_type=" + Ru);
Povezivanje: Packet Parser → HTTP • Naziv računala (hostname): shellyi3-{MAC}.local
Moguća poboljšanja (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.

Izvori

Pronašli ste problem s ovim predloškom uređaja?

Recite nam što ne radi, što nedostaje ili kako bi se predložak trebao ponašati. Vaše povratne informacije pomažu nam da katalog bude točan.

Provjerio TapHome

Želite ovo koristiti u svojoj centralnoj jedinici TapHome Core?

Otvorite ovaj predložak na portalu Customer Portal kako biste ga primijenili na jedan od svojih domova ili predložili poboljšanje i poslali ga natrag u katalog.

Otvorite na portalu