TapHome

Shelly i3

Packet Parser → HTTP
Inviato da
Ultimo aggiornamento: 06. 2026
Shelly i3

Shelly i3 è un compatto controller Wi-Fi a 3 ingressi per azioni e scene (modello SHIX3-1). Non ha relè né uscite — funziona puramente come dispositivo di ingresso che monitora tre interruttori o pulsanti esterni collegati ai morsetti SW1, SW2 e SW3. Le dimensioni 40 × 36 × 10 mm permettono l’installazione all’interno di una scatola da incasso standard dietro un interruttore a parete esistente. È alimentato da 110–230 VAC (richiesto neutro) o 24–60 VDC e consuma meno di 1 W.

TapHome comunica con il dispositivo tramite HTTP sulla rete Wi-Fi locale — non è richiesta alcuna connessione cloud. Per ogni ingresso il template crea due dispositivi: un commutatore multi-valore che decodifica gli eventi multi-click (sequenze singole, doppie, triple, lunghe e combinate) e un contatto reed che espone lo stato grezzo 0/1 dell’ingresso più un’azione di servizio per commutare tra modalità toggle e momentary.

Configurazione

Accoppiamento Wi-Fi e indirizzo IP

All’accensione, l’i3 si avvia in modalità Access Point con SSID shellyi3-XXXXXX (dove XXXXXX sono le ultime 6 cifre esadecimali del MAC). Per accoppiarlo alla rete domestica:

  1. Connetti un telefono o laptop all’access point dell’i3
  2. Apri http://192.168.33.1 in un browser (o usa l’app mobile Shelly)
  3. Nell’interfaccia web vai a Internet & Security → WIFI MODE - CLIENT, inserisci le credenziali della Wi-Fi domestica e salva
  4. Il dispositivo si riavvia e si unisce alla rete domestica via DHCP

Per recuperare l’indirizzo IP assegnato usa la tabella DHCP del router o l’hostname mDNS shellyi3-XXXXXXXXXXXX.local (suffisso MAC di 12 caratteri, annunciato come _http._tcp.local.). Durante l’importazione del template TapHome, inserisci questo indirizzo IP come unico parametro richiesto.

Disabilitare l’autenticazione HTTP

TapHome non può autenticarsi verso il dispositivo. Nell’interfaccia web Shelly vai a Internet & Security → RESTRICT LOGIN e assicurati che questa opzione sia disabilitata prima di importare il template — altrimenti ogni polling fallirà con HTTP 401.

Configurazione del tipo di pulsante

Ciascuno dei tre ingressi può funzionare in una delle cinque modalità btn_type. Solo due sono rilevanti per TapHome ed esposte come azione di servizio sui dispositivi I1 / I2 / I3:

  • Momentary — per pulsanti. Il firmware decodifica pressione singola breve (S), pressione lunga (L), doppia pressione breve (SS), tripla pressione breve (SSS), breve→lunga (SL) e lunga→breve (LS). Necessario affinché i dispositivi Events I{N} restituiscano qualcosa di diverso da None.
  • Toggle — per interruttori a bilanciere o a leva tradizionali. Viene riportato solo lo stato grezzo 0/1; il commutatore multi-valore rimane all’indice 0.

Il tipo di pulsante può essere modificato in qualsiasi momento da TapHome tramite l’azione di servizio Button Type su ogni dispositivo I1 / I2 / I3, o direttamente nell’interfaccia web Shelly in Settings → Input/Output settings.

Il firmware supporta anche le modalità edge, detached e action, ma queste non sono esposte nel template TapHome. Possono comunque essere impostate dall’interfaccia web Shelly senza compromettere l’integrazione — cambia solo il comportamento di decodifica multi-click.

Funzionalità del dispositivo

Decodifica eventi multi-click (Events I1, Events I2, Events I3)

Per ogni ingresso, un commutatore multi-valore decodifica il codice evento del firmware in uno dei sette valori:

IndiceEventoCodice Shelly
0None"" (idle)
1ShortpushS
2LongpushL
3Double ShortpushSS
4Triple ShortpushSSS
5Shortpush + LongpushSL
6Longpush + ShortpushLS

Il template effettua il polling di /input/{0,1,2} ogni 2,5 secondi e legge il campo event. Con 6 eventi × 3 ingressi Shelly commercializza l’i3 come supporto per fino a 18 distinte azioni multi-click (24 se i cambi grezzi di stato on/off vengono contati come trigger separati).

La soglia di pressione lunga e la finestra multi-push sono configurate globalmente sul dispositivo (valori predefiniti: 800 ms per pressione lunga, 500 ms come finestra tra pressioni). Possono essere regolate dall’interfaccia web Shelly in Settings → Long Push Duration e Multi Push Time.

Stato grezzo dell’ingresso e controllo del tipo di pulsante (I1, I2, I3)

Per ogni ingresso un dispositivo reed-contact espone lo stato logico grezzo letto dal campo input di /input/{N} (0 = aperto, 1 = chiuso, dopo l’inversione opzionale btn_reverse). Ogni dispositivo I1 / I2 / I3 contiene anche:

  • Button Type — attributo di servizio con il valore corrente di btn_type (toggle / momentary / edge / detached / action)
  • Button Type — azione di servizio che commuta l’ingresso tra Toggle e Momentary scrivendo POST /settings/input/{N}?btn_type=...

Lo stato grezzo è adatto per contatti magnetici di porte / finestre cablati ai morsetti SW o per tracciare in tempo reale la posizione di un interruttore a leva.

Diagnostica di servizio

Un singolo attributo di servizio a livello di modulo espone il Wi-Fi SSID a cui l’i3 è attualmente connesso (letto da /statuswifi_sta.ssid). Altre diagnostiche Gen1 (uptime, MAC, RSSI, flag di aggiornamento firmware) sono disponibili sull’API REST del dispositivo ma non esposte in questo template.

Gli eventi multi-click si attivano solo in modalità momentary. Se un ingresso fisico è cablato attraverso un interruttore a leva tradizionale, configura quell’ingresso come Toggle e usa il dispositivo reed-contact I{N} per leggere il suo stato 0/1 — il dispositivo Events I{N} corrispondente rimarrà all’indice 0.

Risoluzione dei problemi

Eventi multi-click non rilevati
  1. Verifica che l’ingresso sia in modalità momentary — apri il dispositivo I{N} in TapHome, esegui l’azione di servizio Button Type e seleziona Momentary, oppure impostalo direttamente nell’interfaccia web Shelly in Settings → Input/Output settings
  2. In modalità toggle il firmware riporta solo cambi di stato; il commutatore multi-valore Events I{N} rimane all’indice 0
  3. Regola Long Push Duration (predefinito 800 ms) e Multi Push Time (predefinito 500 ms) nell’interfaccia web Shelly se le pressioni vengono decodificate come evento errato
  4. Sequenze lunghe come SSS, SL o LS richiedono che l’utente mantenga tutte le pressioni all’interno della finestra multi-push — pause più lunghe di tale finestra vengono decodificate come eventi S separati
Lo stesso evento si ripete all’infinito / evento „bloccato"

Il campo event restituito da /input/{N} è l’ultimo evento decodificato — il firmware non lo cancella automaticamente. TapHome legge questo campo a ogni polling, quindi il commutatore multi-valore continuerà a riportare l’evento precedente fino a quando non se ne verifica uno nuovo. Questo è un comportamento normale e non indica un guasto. Quando si scrive logica personalizzata che si attiva ad ogni pressione, abbina l’evento al contatore monotono event_cnt (anch’esso esposto in /input/{N}) per rilevare un cambiamento invece di affidarsi solo al valore di event.

Il dispositivo non risponde
  1. Verifica che l’i3 sia connesso al Wi-Fi — apri http://{device-ip}/shelly in un browser; se restituisce un oggetto JSON, il dispositivo è raggiungibile
  2. Prova l’hostname mDNS shellyi3-XXXXXXXXXXXX.local invece dell’indirizzo IP — l’IP potrebbe essere cambiato dopo un rinnovo DHCP
  3. Assicurati che l’autenticazione HTTP sia disabilitata in Internet & Security → Restrict login — TapHome non può inviare credenziali e ogni richiesta restituirà HTTP 401
  4. Controlla che il TapHome Core e il dispositivo Shelly siano sulla stessa rete o VLAN con mDNS / multicast consentiti

I dispositivi Shelly Gen1 accettano un massimo di 2 connessioni HTTP simultanee. Il template fornito interroga ogni ingresso a intervalli di 2,5 s, già vicino al limite. Non abbassare l’intervallo di polling ed evita di eseguire un altro sistema (es. Home Assistant, script personalizzati) che interroga lo stesso i3 simultaneamente — la comunicazione potrebbe diventare inaffidabile.

Il template XML contiene tre indici multi-valore riservati (7, 8, 9 con codici grezzi 71/72/73 ed etichette generiche „7" / „8" / „9"). Il firmware Gen1 non emette eventi oltre S, L, SS, SSS, SL e LS, quindi questi indici sono segnaposto inutilizzati e il valore del dispositivo Events I{N} non dovrebbe mai raggiungere 7-9 nella pratica.

Come installare in TapHome

Prerequisiti

  • Dispositivo Shelly installato e acceso
  • Rete Wi-Fi locale (2,4 GHz)
  • TapHome CCU sulla stessa rete

Passaggio 1 — Collegare Shelly al Wi-Fi

Opzione A — App Shelly (consigliata):

  1. Scarica l’app Shelly (iOS / Android)
  2. Tocca +Add Device e segui la procedura guidata di associazione Bluetooth
  3. Inserisci le credenziali Wi-Fi quando richiesto

Opzione B — Modalità AP (senza app):

  1. Al primo avvio il dispositivo crea un hotspot: ShellyXXX-AABBCCDDEE
  2. Collega il tuo telefono/PC a questo hotspot
  3. Apri http://192.168.33.1Internet & SecurityWi-Fi Mode - Client
  4. Inserisci SSID e password → Save

Shelly supporta solo reti a 2,4 GHz. Le reti a 5 GHz non appariranno nella scansione.

Passaggio 2 — Trovare l’indirizzo IP

Dopo la connessione al Wi-Fi, trova l’indirizzo IP assegnato tramite uno di questi metodi:

  • App Shelly: Dettaglio dispositivo → Device info → Indirizzo IP
  • Interfaccia web Shelly: Connettiti all’AP del dispositivo prima della configurazione Wi-Fi — l’IP viene mostrato dopo il salvataggio
  • Tabella DHCP del router: Cerca un hostname come shelly1pm-AABBCCDDEE
  • mDNS: Esegui il ping di shelly<model>-<mac>.local (es. shelly1pm-AABBCCDDEE.local) dalla stessa rete

Assegna un IP statico (prenotazione DHCP) nel tuo router per il dispositivo Shelly per evitare che l’indirizzo cambi dopo un riavvio del router.

Passaggio 3 — Configurazione in TapHome

  1. In TapHome, aggiungi un nuovo modulo Packet Parser (HTTP)
  2. IP Address: inserisci l’IP dal passaggio 2 (es. 192.168.1.50)
  3. Port: 80 (predefinito, nessuna modifica necessaria)
  4. Importa il template — TapHome interrogherà periodicamente /status per leggere lo stato del dispositivo

L’autenticazione HTTP è disabilitata per impostazione predefinita sui dispositivi Shelly. Se hai abilitato la protezione con accesso, TapHome attualmente non supporta HTTP Basic Auth — mantieni l’autenticazione disabilitata per l’integrazione con TapHome.

Dispositivi disponibili

Shelly i3 Modulo
Attributi di servizio
Wi-FiSSID della rete Wi-Fi a cui il dispositivo è attualmente connesso

Shelly i3

Attributi di servizio
Wifi
 VAR response := SENDHTTPREQUEST("/status");
 IF response.IsSuccess
  VAR content := response.Content;
  RETURN(PARSEJSON(content, "$.wifi_sta.ssid"));
  End
Events I1 Interruttore multivalore Solo lettura

Evento multi-click decodificato per l'ingresso I1 — None, Shortpush, Longpush, Double Shortpush, Triple Shortpush, Shortpush + Longpush, Longpush + Shortpush (si attiva solo quando Button Type è impostato su Momentary)

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

Events I1

Lettura stato interruttore
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 Interruttore multivalore Solo lettura

Evento multi-click decodificato per l'ingresso I2 — None, Shortpush, Longpush, Double Shortpush, Triple Shortpush, Shortpush + Longpush, Longpush + Shortpush (si attiva solo quando Button Type è impostato su Momentary)

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

Events I2

Lettura stato interruttore
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
Scrittura stato interruttore
# 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 Interruttore multivalore Solo lettura

Evento multi-click decodificato per l'ingresso I3 — None, Shortpush, Longpush, Double Shortpush, Triple Shortpush, Shortpush + Longpush, Longpush + Shortpush (si attiva solo quando Button Type è impostato su Momentary)

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

Events I3

Lettura stato interruttore
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
Scrittura stato interruttore
# 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
Ingresso I1 Contatto reed Solo lettura

Stato logico grezzo dell'ingresso I1 — 0 (aperto) o 1 (chiuso), riflette la posizione live dell'interruttore cablato al morsetto SW1

boolean json_path
Attributi di servizio
Tipo di pulsanteModalità di comportamento corrente dell'ingresso I1 — Toggle (interruttore tradizionale) o Momentary (pulsante, richiesto per la decodifica multi-click)
Azioni di servizio
Tipo di pulsanteCommuta l'ingresso I1 tra Toggle (interruttore tradizionale) e Momentary (pulsante — richiesto affinché la decodifica multi-click di Events I1 si attivi)

Ingresso I1

Lettura
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
Lettura (modulo)
# 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");
Attributi di servizio
Button Type
 VAR response := SENDHTTPREQUEST("/settings/input/0");
 IF response.IsSuccess
  VAR content := response.Content;
  RETURN(PARSEJSON(content, "btn_type"));
 END
Azioni di servizio
Button Type
Parametri: Button Type
 var Ru := SWITCH(Bu, 0, "toggle","momentary") ;
 VAR response := SENDHTTPREQUEST("/settings/input/0?btn_type=" + Ru);
Ingresso I2 Contatto reed Solo lettura

Stato logico grezzo dell'ingresso I2 — 0 (aperto) o 1 (chiuso), riflette la posizione live dell'interruttore cablato al morsetto SW2

boolean json_path
Attributi di servizio
Tipo di pulsanteModalità di comportamento corrente dell'ingresso I2 — Toggle (interruttore tradizionale) o Momentary (pulsante, richiesto per la decodifica multi-click)
Azioni di servizio
Tipo di pulsanteCommuta l'ingresso I2 tra Toggle (interruttore tradizionale) e Momentary (pulsante — richiesto affinché la decodifica multi-click di Events I2 si attivi)

Ingresso I2

Lettura
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
Attributi di servizio
Button Type
 VAR response := SENDHTTPREQUEST("/settings/input/1");
 IF response.IsSuccess
  VAR content := response.Content;
  RETURN(PARSEJSON(content, "btn_type"));
 END
Azioni di servizio
Button Type
Parametri: Button Type
 var Ru := SWITCH(Bu, 0, "toggle","momentary") ;
 VAR response := SENDHTTPREQUEST("/settings/input/1?btn_type=" + Ru);
Ingresso I3 Contatto reed Solo lettura

Stato logico grezzo dell'ingresso I3 — 0 (aperto) o 1 (chiuso), riflette la posizione live dell'interruttore cablato al morsetto SW3

boolean json_path
Attributi di servizio
Tipo di pulsanteModalità di comportamento corrente dell'ingresso I3 — Toggle (interruttore tradizionale) o Momentary (pulsante, richiesto per la decodifica multi-click)
Azioni di servizio
Tipo di pulsanteCommuta l'ingresso I3 tra Toggle (interruttore tradizionale) e Momentary (pulsante — richiesto affinché la decodifica multi-click di Events I3 si attivi)

Ingresso I3

Lettura
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
Lettura (modulo)
# 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");
Attributi di servizio
Button Type
 VAR response := SENDHTTPREQUEST("/settings/input/2");
 IF response.IsSuccess
  VAR content := response.Content;
  RETURN(PARSEJSON(content, "btn_type"));
 END
Azioni di servizio
Button Type
Parametri: Button Type
 var Ru := SWITCH(Bu, 0, "toggle","momentary") ;
 VAR response := SENDHTTPREQUEST("/settings/input/2?btn_type=" + Ru);
Connessione: Packet Parser → HTTP
Possibili miglioramenti (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.

Fonti

Hai trovato un problema con questo template?

Dicci cosa non funziona, cosa manca o come dovrebbe comportarsi il template. Il tuo feedback ci aiuta a mantenere il catalogo accurato.

Verificato da TapHome

Vuoi usarlo nel tuo TapHome Core?

Apri questo template nel Customer Portal per applicarlo a una delle tue case, o crea una proposta di modifica e inviala al catalogo.

Apri nel portale