
Lo Shelly DUO è una lampadina LED Wi-Fi con attacco E27 che supporta la regolazione della luminosità e la temperatura colore del bianco regolabile (CCT) nel range da 2700 K (bianco caldo) a 6500 K (luce diurna). TapHome si integra con la lampadina localmente via Wi-Fi utilizzando l’API REST HTTP o MQTT. Non è necessaria alcuna connessione cloud.
Sono disponibili due template TapHome: un template HTTP per una singola lampadina e un template MQTT che può controllare fino a 5 lampadine DUO tramite una singola connessione broker MQTT. Entrambi i template espongono gli stessi tipi di dispositivo per lampadina — un dispositivo luce con controllo luminosità e CCT e un contatore elettrico per il monitoraggio della potenza.
Configurazione
Template HTTP
Il template HTTP richiede l’indirizzo IP della lampadina (o l’hostname mDNS ShellyBulbDuo-{MAC}.local). TapHome interroga l’endpoint /status ogni 2,5 secondi e memorizza la risposta JSON nella variabile personalizzata jsonStatus. I singoli script dispositivo analizzano la risposta memorizzata senza effettuare chiamate HTTP ridondanti.
Il template accetta due parametri di importazione:
- Indirizzo IP — l’IP locale della lampadina (predefinito
192.168.0.1) - Tempo di transizione — durata della transizione luminosa in millisecondi (predefinito 300 ms)
Template MQTT
Il template MQTT richiede l’IP del broker, la porta e il Device ID per ogni lampadina (formato: ShellyBulbDuo-DEVICEID). Il Device ID si trova nell’interfaccia web Shelly in Settings > Device Info, oppure tramite GET http://{bulb-ip}/settings nel campo mqtt.id.
Il template supporta fino a 5 lampadine DUO tramite un singolo modulo. Ogni lampadina è identificata dalla propria variabile topic (bulb1topic fino a bulb5topic). Gli slot lampadina non utilizzati possono essere lasciati al valore placeholder predefinito.
Il template accetta tre parametri di importazione:
- MQTT Broker IP — l’indirizzo del broker (predefinito
192.168.0.1) - MQTT Broker port — la porta del broker (predefinita
1883) - Tempo di transizione — durata della transizione luminosa in millisecondi (predefinito 300 ms)
Sui dispositivi Shelly Gen1, l’abilitazione di MQTT disabilita Shelly Cloud. Entrambi non possono funzionare simultaneamente.
Funzionalità del dispositivo
Controllo luce
Il template espone il DUO come dispositivo luce bianca con due parametri controllabili:
- Luminosità — letta da
lights[0].brightness(0–100, convertita internamente in 0,0–1,0) elights[0].ison; controllata tramite/light/0?turn=on|off&brightness=N(HTTP) o pubblicando JSON nel topiclight/0/set(MQTT) - Temperatura colore — letta da
lights[0].temp(2700–6500 K); controllata tramite/light/0?temp=K(HTTP) o il campotempnel payload JSON (MQTT)
Entrambi i parametri vengono inviati insieme in un singolo comando di scrittura. Il parametro tempo di transizione controlla la durata della dissolvenza per tutte le modifiche.
Quando la luce viene spenta (luminosità impostata a 0), il template invia turn=off (HTTP) o pubblica off nel topic light/0/command (MQTT).
Meccanismo di debounce
Il template HTTP include una protezione debounce per prevenire letture obsolete durante le transizioni luminose. Dopo ogni comando di scrittura, il template ignora le letture /status per la durata del tempo di transizione più 500 ms. Durante questo periodo, gli script di lettura restituiscono gli ultimi valori noti invece di interrogare il dispositivo. Questo previene la breve visualizzazione di stati intermedi nell’interfaccia mentre la lampadina sta transitando.
Il template MQTT non necessita di debounce — riceve aggiornamenti di stato direttamente dalla lampadina quando si verificano.
Misurazione potenza
Il contatore energetico integrato legge due valori:
- Potenza istantanea —
meters[0].powerin watt, convertita in kW (divisa per 1000) - Consumo totale —
meters[0].totalin watt-minuti, convertito in kWh (diviso per 60 000)
Il contatore è in sola lettura e si aggiorna automaticamente ad ogni ciclo di polling (HTTP) o ad ogni messaggio MQTT.
Per abilitare il monitoraggio della potenza, il modello del dispositivo deve essere configurato nell’app Shelly o nel browser web in Settings > Device Model. Se la lampadina è accesa ma la potenza mostra zero, il template visualizza un avviso su questo passaggio di configurazione.
Diagnostica di servizio (template HTTP)
Il template HTTP espone 10 attributi di servizio:
- Info rete — indirizzo IP, indirizzo MAC (formattato con separatori a due punti), intensità segnale Wi-Fi (dB)
- Connettività — cloud abilitato/connesso, MQTT connesso
- Info dispositivo — ora dispositivo, tempo di attività (formattato come giorni/ore/minuti), utilizzo RAM
- Firmware — aggiornamento firmware disponibile
Azioni di servizio (template HTTP)
Sono disponibili due azioni di servizio:
- Abilita cloud — abilita o disabilita la connettività Shelly Cloud
- Riavvio — avvia un riavvio del dispositivo
Funzionalità aggiuntive
Lo Shelly DUO espone anche un timer luce (flag attivo e secondi rimanenti), un timer di spegnimento automatico sull’endpoint luce, temperatura interna del dispositivo, intensità del segnale Wi-Fi come dispositivo sensore autonomo e un topic MQTT online/offline LWT per il rilevamento dello stato di connessione. Queste funzionalità potranno essere aggiunte in un futuro aggiornamento del template.
Risoluzione dei problemi
La lampadina non risponde (HTTP)
- Verificare che il DUO sia connesso al Wi-Fi e abbia un indirizzo IP valido
- Provare a usare l’hostname mDNS (
ShellyBulbDuo-AABBCCDDEE.local) invece dell’indirizzo IP — l’IP potrebbe essere cambiato dopo un rinnovo DHCP - Aprire
http://{bulb-ip}/shellynel browser — se risponde con un JSON contenente"type":"SHBDUO-1", la lampadina è raggiungibile - Verificare che TapHome CCU e DUO siano sulla stessa rete / VLAN
La potenza mostra zero
- Confermare che il modello dispositivo è configurato nell’app Shelly (Settings > Device Model)
- Verificare che la lampadina sia accesa — il contatore misura solo quando scorre corrente
- Interrogare
/statusmanualmente e verificare chemeters[0].powerrestituisca un valore diverso da zero
La lampadina MQTT non risponde
- Verificare che MQTT sia abilitato nell’interfaccia web Shelly (Internet & Security > Advanced — MQTT)
- Confermare che indirizzo broker e porta siano corretti sia nel dispositivo Shelly che nelle impostazioni modulo TapHome
- Verificare che la variabile personalizzata
bulbNtopiccorrisponda esattamente al Device ID della lampadina (es.ShellyBulbDuo-B929CC) - Utilizzare un client MQTT (es. MQTT Explorer) per iscriversi a
shellies/#e verificare che la lampadina pubblichi messaggi
Le transizioni luminose appaiono a scatti
- Aumentare il parametro tempo di transizione — i 300 ms predefiniti potrebbero essere troppo brevi per grandi variazioni di luminosità
- Se si usa HTTP, assicurarsi che nessun altro sistema interroghi la lampadina contemporaneamente — i dispositivi Gen1 supportano solo 2 connessioni simultanee
I dispositivi Shelly Gen1 supportano solo 2 connessioni HTTP simultanee. Se TapHome e un altro sistema (es. Home Assistant) interrogano lo stesso dispositivo contemporaneamente, la comunicazione potrebbe diventare inaffidabile. Considerare il passaggio al template MQTT per ambienti con più sistemi.