
Shelly DUO este un bec LED Wi-Fi cu soclu E27, care permite reglarea luminozității și a temperaturii de culoare a luminii albe (CCT) în intervalul de la 2700 K (alb cald) până la 6500 K (lumina zilei). TapHome se integrează local cu becul, prin Wi-Fi, folosind fie API-ul HTTP REST, fie MQTT. Nu este necesară conexiunea la cloud.
Sunt disponibile două șabloane TapHome: un șablon HTTP pentru un singur bec și un șablon MQTT care poate comanda până la 5 becuri DUO printr-o singură conexiune la brokerul MQTT. Ambele șabloane oferă pentru fiecare bec aceleași tipuri de dispozitive — un dispozitiv de lumină cu reglarea luminozității și a CCT și un contor electric pentru monitorizarea puterii.
Configurare
Șablonul HTTP
Șablonul HTTP necesită adresa IP a becului (sau numele de gazdă mDNS ShellyBulbDuo-{MAC}.local). TapHome interoghează endpointul /status la fiecare 2,5 secunde și salvează răspunsul JSON în variabila personalizată jsonStatus. Scripturile fiecărui dispozitiv analizează răspunsul salvat, fără apeluri HTTP redundante.
Șablonul are doi parametri de import:
- IP Address — adresa IP locală a becului (implicit
192.168.0.1) - Transition time — durata tranziției luminii în milisecunde (implicit 300 ms)
Șablonul MQTT
Șablonul MQTT necesită adresa IP și portul brokerului, precum și ID-ul dispozitivului pentru fiecare bec (format: ShellyBulbDuo-DEVICEID). ID-ul dispozitivului se găsește în interfața web Shelly, la Settings > Device Info, sau prin GET http://{bulb-ip}/settings, în câmpul mqtt.id.
Șablonul acceptă până la 5 becuri DUO într-un singur modul. Fiecare bec este identificat prin propria variabilă de topic (de la bulb1topic până la bulb5topic). Sloturile de becuri nefolosite pot rămâne la valoarea implicită.
Șablonul are trei parametri de import:
- MQTT Broker IP — adresa brokerului (implicit
192.168.0.1) - MQTT Broker port — portul brokerului (implicit
1883) - Transition time — durata tranziției luminii în milisecunde (implicit 300 ms)
La dispozitivele Shelly Gen1, activarea MQTT dezactivează Shelly Cloud. Cele două nu pot funcționa simultan.
Funcțiile dispozitivului
Comanda luminii
Șablonul integrează becul DUO ca dispozitiv de lumină albă cu doi parametri comandabili:
- Luminozitate — citită din
lights[0].brightness(0–100, convertită intern în 0,0–1,0) șilights[0].ison; comandată prin/light/0?turn=on|off&brightness=N(HTTP) sau prin publicarea unui JSON pe topicullight/0/set(MQTT) - Temperatura de culoare — citită din
lights[0].temp(2700–6500 K); comandată prin/light/0?temp=K(HTTP) sau prin câmpultempdin payloadul JSON (MQTT)
Ambii parametri se trimit împreună, într-o singură comandă de scriere. Parametrul timpului de tranziție stabilește durata tranziției graduale pentru toate modificările.
Când lumina se stinge (luminozitatea este setată la 0), șablonul trimite turn=off (HTTP) sau publică off pe topicul light/0/command (MQTT).
Mecanismul debounce
Șablonul HTTP conține o protecție debounce care previne citirile neactualizate în timpul tranzițiilor luminii. După fiecare comandă de scriere, șablonul ignoră citirile /status pe durata timpului de tranziție plus 500 ms. În această perioadă, scripturile de citire returnează ultimele valori cunoscute în loc să interogheze dispozitivul. Astfel, interfața nu afișează pentru scurt timp stări intermediare în timp ce becul trece de la o stare la alta.
Șablonul MQTT nu are nevoie de debounce — primește actualizările de stare direct de la bec, în momentul în care apar.
Măsurarea puterii
Contorul electric integrat citește două valori:
- Putere în timp real —
meters[0].powerîn wați, convertită în kW (împărțire la 1000) - Consum total —
meters[0].totalîn wați-minut, convertit în kWh (împărțire la 60 000)
Contorul este doar pentru citire și se actualizează automat la fiecare ciclu de interogare (HTTP) sau la fiecare mesaj MQTT.
Pentru a activa monitorizarea puterii, modelul dispozitivului trebuie configurat în aplicația Shelly sau în browserul web, la Settings > Device Model. Dacă becul este aprins, dar puterea citită este zero, șablonul afișează un avertisment referitor la acest pas de configurare.
Diagnosticare de service (șablonul HTTP)
Șablonul HTTP oferă 10 atribute de service:
- Informații despre rețea — adresa IP, adresa MAC (formatată cu două puncte ca separator), puterea semnalului Wi-Fi (dB)
- Conectivitate — cloud activat/conectat, MQTT conectat
- Informații despre dispozitiv — ora dispozitivului, timpul de funcționare (formatat în zile/ore/minute), utilizarea memoriei RAM
- Firmware — actualizare de firmware disponibilă
Acțiuni de service (șablonul HTTP)
Sunt disponibile două acțiuni de service:
- Activare cloud — activează sau dezactivează conectivitatea Shelly Cloud
- Repornire — declanșează repornirea dispozitivului
Funcții suplimentare
Shelly DUO oferă și un temporizator al luminii (starea activ/inactiv și secundele rămase), un temporizator de oprire automată pe endpointul luminii, temperatura internă a dispozitivului, puterea semnalului Wi-Fi ca dispozitiv senzor separat și un topic MQTT LWT online/offline pentru detectarea stării conexiunii. Aceste funcții pot fi adăugate într-o actualizare viitoare a șablonului.
Rezolvarea problemelor
Becul nu răspunde (HTTP)
- Verificați dacă DUO este conectat la Wi-Fi și are o adresă IP validă
- Încercați numele de gazdă mDNS (
ShellyBulbDuo-AABBCCDDEE.local) în locul adresei IP — adresa IP s-ar fi putut schimba după reînnoirea DHCP - Deschideți
http://{bulb-ip}/shellyîntr-un browser — dacă răspunde cu un JSON care conține"type":"SHBDUO-1", becul este accesibil - Verificați dacă unitatea de control TapHome (CCU) și DUO se află în aceeași rețea / VLAN
Puterea afișată este zero
- Verificați dacă modelul dispozitivului este configurat în aplicația Shelly (Settings > Device Model)
- Verificați dacă becul este aprins — contorul măsoară doar atunci când trece curent
- Interogați manual
/statusși verificați dacămeters[0].powerreturnează o valoare diferită de zero
Becul MQTT nu răspunde
- Verificați dacă MQTT este activat în interfața web Shelly (Internet & Security > Advanced — MQTT)
- Verificați dacă adresa și portul brokerului sunt corecte atât în dispozitivul Shelly, cât și în setările modulului TapHome
- Verificați dacă variabila personalizată
bulbNtopiccorespunde exact ID-ului dispozitivului becului (de ex.ShellyBulbDuo-B929CC) - Folosiți un client MQTT (de ex. MQTT Explorer) pentru a vă abona la
shellies/#și verificați dacă becul publică mesaje
Tranzițiile luminii sunt sacadate
- Măriți parametrul timpului de tranziție — valoarea implicită de 300 ms poate fi prea scurtă pentru schimbări mari ale luminozității
- Dacă folosiți HTTP, asigurați-vă că niciun alt sistem nu interoghează becul în același timp — dispozitivele Gen1 acceptă doar 2 conexiuni simultane
Dispozitivele Shelly Gen1 acceptă doar 2 conexiuni HTTP simultane. Dacă TapHome și un alt sistem (de ex. Home Assistant) interoghează același dispozitiv în același timp, comunicarea poate deveni instabilă. În mediile cu mai multe sisteme, luați în considerare trecerea la șablonul MQTT.