
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:
- Connetti un telefono o laptop all’access point dell’i3
- Apri
http://192.168.33.1in un browser (o usa l’app mobile Shelly) - Nell’interfaccia web vai a Internet & Security → WIFI MODE - CLIENT, inserisci le credenziali della Wi-Fi domestica e salva
- 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 daNone. - 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,detachedeaction, 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:
| Indice | Evento | Codice Shelly |
|---|---|---|
| 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 |
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 /status → wifi_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
- 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
- In modalità toggle il firmware riporta solo cambi di stato; il commutatore multi-valore Events I{N} rimane all’indice 0
- 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
- Sequenze lunghe come
SSS,SLoLSrichiedono che l’utente mantenga tutte le pressioni all’interno della finestra multi-push — pause più lunghe di tale finestra vengono decodificate come eventiSseparati
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
- Verifica che l’i3 sia connesso al Wi-Fi — apri
http://{device-ip}/shellyin un browser; se restituisce un oggetto JSON, il dispositivo è raggiungibile - Prova l’hostname mDNS
shellyi3-XXXXXXXXXXXX.localinvece dell’indirizzo IP — l’IP potrebbe essere cambiato dopo un rinnovo DHCP - Assicurati che l’autenticazione HTTP sia disabilitata in Internet & Security → Restrict login — TapHome non può inviare credenziali e ogni richiesta restituirà HTTP 401
- 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,SLeLS, quindi questi indici sono segnaposto inutilizzati e il valore del dispositivo Events I{N} non dovrebbe mai raggiungere 7-9 nella pratica.