
Shelly UNI è un modulo I/O universale Wi-Fi compatto (20 × 33 × 13 mm) della piattaforma Shelly Gen1. Offre un ingresso di tensione ADC, due uscite open-collector a potenziale libero e due ingressi digitali — pensato per aggiornare apparecchi esistenti senza centrale.
TapHome comunica con il dispositivo tramite MQTT. Il template si sottoscrive all’albero dei topic shellies/<prefix>/... e pubblica comandi su .../relay/{0,1}/command. Il modulo espone 5 dispositivi: 1 ingresso analogico, 2 interruttori e 2 contatti reed.
Collegamento hardware
Alimentazione
Shelly UNI è un modulo a bassa tensione e non può essere alimentato direttamente dalla rete 230 V. Alimentalo con:
- 12–36 V DC tramite conduttore rosso (+) e nero (GND), oppure
- 12–24 V AC tramite conduttore rosso e nero (senza polarità)
È necessario un alimentatore esterno a bassa tensione. Il consumo del dispositivo è inferiore a 1 W.
Non collegare i conduttori rosso/nero alla tensione di rete. Sui morsetti IN_1 / IN_2 / OUT1 / OUT2 può essere presente tensione pericolosa in base al circuito esterno — l’installazione deve essere eseguita da un elettricista qualificato.
Legenda cavo pigtail
Il dispositivo è fornito con un cavo pigtail a colori:
| Conduttore | Morsetto | Funzione |
|---|---|---|
| Rosso | VCC | 12–36 V DC (o 12–24 V AC insieme al nero) |
| Nero | GND | Massa (o fase AC con il rosso) |
| Bianco | ADC_IN | Ingresso analogico (range 0–12 V o 0–30 V) |
| Giallo | VCC_SENSOR | Uscita 3,3 V DC per sensori one-wire |
| Blu | DATA_SENSOR | Dati one-wire (DS18B20 / DHT22) |
| Verde | GND_SENSOR | Massa del sensore |
| Marrone chiaro | IN_1 | Ingresso digitale 1 |
| Marrone scuro | IN_2 | Ingresso digitale 2 |
Le due uscite a potenziale libero sono contrassegnate con OUT1 e OUT2 sul corpo del modulo.
Ingressi digitali (IN_1, IN_2)
Ogni ingresso digitale è a potenziale libero e può essere pilotato da una sorgente DC o AC:
- DC: HIGH quando ≥ 2,2 V, LOW sotto 2,2 V, max 36 V DC
- AC: HIGH quando ≥ 12 V, LOW sotto 12 V, max 24 V AC
Casi d’uso tipici sono i contatti reed (sensori di finestre/porte, interruttori a galleggiante) e i pulsanti che cortocircuitano l’ingresso su GND tramite un’alimentazione esterna.




Uscite a potenziale libero (OUT1, OUT2)
Ogni uscita è un contatto open-collector a potenziale libero con i seguenti limiti assoluti:
- corrente massima 100 mA
- potenza massima 300 mW
- tensione massima commutata 24 V AC o 36 V DC
Questi valori sono troppo bassi per carichi di rete — per commutare carichi reali (luci, pompe, valvole) collega le uscite a un relè o contattore esterno e alimenta la bobina di quel relè da una sorgente a bassa tensione adeguata.

Ingresso analogico (ADC)
Un singolo canale ADC sul conduttore bianco (ADC_IN) supporta due intervalli di tensione, selezionabili nell’interfaccia web di Shelly:
- 0–12 V — risoluzione più alta per segnali a bassa tensione
- 0–30 V — intervallo più ampio per monitoraggio di batteria / DC-link
L’intervallo selezionato è memorizzato solo sul dispositivo — il template TapHome legge il valore grezzo pubblicato e non può rilevare quale intervallo sia attivo. Assicurati che l’intervallo ADC di Shelly corrisponda al segnale cablato al conduttore bianco.

Configurazione
Shelly-ID e prefisso MQTT
Ogni Shelly UNI ha uno Shelly-ID univoco pari agli ultimi 6 caratteri del suo MAC address (es. 35FA58). Il prefisso di topic MQTT risultante è shellyuni-<Shelly-ID> (es. shellyuni-35fa58).
Lo Shelly-ID si trova:
- Sull’etichetta del dispositivo (MAC address)
- Nell’interfaccia web Shelly: Settings → Device Info
- Tramite API:
GET http://<device-ip>/settings→ campodevice.hostname
I dispositivi Shelly Gen1 si annunciano via mDNS come
shellyuni-<Shelly-ID>.local. Puoi usare questo hostname al posto di un IP fisso per raggiungere l’interfaccia web.
Abilitare MQTT
Su un dispositivo nuovo MQTT è disabilitato. Abilitalo prima di importare il template TapHome:
- Connettiti all’access point del dispositivo
shellyuni-XXXXXX(la password è stampata sul dispositivo) o raggiungilo sulla LAN - Apri l’interfaccia web su
http://192.168.33.1/(modalità AP) o sull’IP LAN - Vai a Internet & Security → Advanced — Developer Settings
- Spunta Enable action execution via MQTT
- Imposta IP e porta del broker (default
1883), lascia vuoti username e password — TapHome non supporta l’autenticazione MQTT su Gen1 - Salva e riavvia il dispositivo
Abilitare MQTT disabilita la connessione a Shelly Cloud sui dispositivi Gen1. È voluto — il dispositivo non può mantenere entrambe le connessioni contemporaneamente. L’app mobile Shelly non controllerà più il dispositivo tramite cloud; usa MQTT o l’interfaccia web locale.
I dispositivi Shelly Gen1 non supportano MQTT su TLS. La comunicazione tra dispositivo e broker non è cifrata (MQTT semplice, porta 1883). Mantieni il broker su una rete locale fidata.
Configurazione del template
Durante l’import del template in TapHome fornisci:
- IpAddress — IP del broker MQTT
- Port — porta del broker (default
1883) - DeviceID — lo Shelly-ID di 6 caratteri dell’UNI specifico (es.
35fa58)
Il parametro di import DeviceID è usato per costruire la variabile custom MQTTprefix (default shellyuni-$[DeviceID]). Se hai impostato un mqtt_id personalizzato sul dispositivo Shelly (sovrascrivendo quello predefinito), modifica dopo l’import la variabile MQTTprefix del modulo in modo che corrisponda.
Disabilita l’autenticazione HTTP sul dispositivo Shelly (Internet & Security → Restrict Login). TapHome in questo template non usa HTTP, ma lasciarla attiva può complicare diagnostica e aggiornamenti firmware.
Capacità del dispositivo
Misurazione tensione analogica
Il dispositivo Analog Input legge la tensione ADC da shellies/<prefix>/adc/0 e la espone come valore numerico in volt. Lo script elabora il payload in ingresso con TODOUBLE(TOSTRING(PAYLOAD)) — senza alcuna scalatura.
L’intervallo di misura effettivo (0–12 V o 0–30 V) è configurato direttamente sul dispositivo Shelly e non viene trasmesso via MQTT. Il template TapHome non può verificare quale intervallo sia attivo.
Uscite di commutazione
Entrambe le uscite open-collector sono esposte come normali dispositivi Switch di TapHome:
- Switch 1 — OUT_1, topic
shellies/<prefix>/relay/0, topic comando.../relay/0/command - Switch 2 — OUT_2, topic
shellies/<prefix>/relay/1, topic comando.../relay/1/command
Il listener mappa il payload on → ON (St=1) e off → OFF (St=0). I comandi da TapHome vengono pubblicati come on / off sul rispettivo topic di comando.
Le uscite sono a potenziale libero e limitate a 100 mA / 300 mW. Non collegare carichi di rete direttamente — per qualsiasi cosa più pesante di dispositivi di segnalazione a bassa potenza, usa un relè o un contattore esterno.
Ingressi digitali (contatti reed)
Entrambi gli ingressi digitali sono esposti come dispositivi Reed Contact con logica invertita:
- Reed Contact 1 — IN_1, topic
shellies/<prefix>/input/0 - Reed Contact 2 — IN_2, topic
shellies/<prefix>/input/1
Il firmware Shelly pubblica 1 quando l’ingresso vede una tensione sopra la soglia e 0 quando l’ingresso è tirato a GND. Poiché i contatti reed e i pulsanti tipicamente cortocircuitano l’ingresso a GND nello stato chiuso / attivo, lo script TapHome inverte il payload:
| |
Questo significa che Rc=1 in TapHome = contatto chiuso (attivo, sensore finestra aperta scattato, pulsante premuto), Rc=0 = contatto aperto (inattivo).
Ulteriori capacità
L’hardware di Shelly UNI supporta inoltre fino a 3 × DS18B20 sensori di temperatura sul bus one-wire e — in alternativa — 1 × DHT22 sensore di umidità/temperatura. Questi sensori pubblicano su shellies/<prefix>/ext_temperature/{0,1,2} e shellies/<prefix>/ext_humidity/0. L’attuale template MQTT non collega questi topic a dispositivi TapHome; possono essere aggiunti in un futuro aggiornamento del template.
Analogamente, il dispositivo espone un topic online/offline LWT e eventi di input di pressione breve/lunga su input_event/{0,1} che non sono consumati da questo template.
Per trigger di scena basati su eventi dei pulsanti (pressione breve, lunga), il topic
input_eventpuò essere sottoscritto oggi da un client MQTT separato — il template TapHome traccia solo lo stato grezzo dell’ingresso.
Risoluzione dei problemi
Il dispositivo non risponde
- Verifica che Shelly UNI sia alimentato (rosso/nero su 12–36 V DC o 12–24 V AC) e connesso al Wi-Fi
- Apri l’interfaccia web Shelly tramite l’hostname mDNS
shellyuni-<Shelly-ID>.localo il suo IP DHCP - Conferma che MQTT sia abilitato (Internet & Security → Advanced) e che IP/porta del broker corrispondano ai parametri di import TapHome
- Usa un client MQTT (es. MQTT Explorer) per sottoscriverti a
shellies/#e verifica che il dispositivo pubblichi messaggi
Gli interruttori non commutano
- Controlla il percorso del topic di comando — deve essere
shellies/<prefix>/relay/0/command(non.../relay/0/set) - Verifica che la variabile
MQTTprefixdel modulo TapHome corrisponda al prefisso di topic su cui il dispositivo pubblica realmente - Ricorda che le uscite sono a potenziale libero — senza un circuito esterno che fornisca tensione, lo stato dell’uscita cambia ma nessun carico viene commutato
Lo stato del contatto reed è invertito
Il template si aspetta che payload=0 significhi „contatto chiuso". Se il tuo cablaggio esterno tira l’ingresso a HIGH quando il contatto è attivo (cablaggio inverso), lo stato in TapHome apparirà invertito. Ricabla in modo che il contatto cortocircuiti IN_1 / IN_2 su GND quando attivo, oppure modifica la logica in uno script personalizzato.
Valore ADC fuori dall’intervallo atteso
L’intervallo ADC (0–12 V o 0–30 V) è impostato sul dispositivo e non può essere riletto via MQTT. Se il valore numerico in TapHome sembra errato (es. 2× più alto o più basso del previsto), apri l’interfaccia web Shelly e controlla Settings → ADC range. Il template assume che il dispositivo pubblichi la tensione direttamente e non effettua alcuna conversione.