
Shelly DUO (model SHBDUO-1) je Gen1 Wi-Fi LED inteligentná žiarovka dostupná v prevedení E27 a GU10. Bežná verzia DUO je iba biela s laditeľnou teplotou farby a regulovateľným jasom — nemá žiadne RGB kanály (RGB-schopná verzia je DUO RGBW / shellycolorbulb- a používa samostatnú šablónu). Toto je MQTT variant integrácie do TapHome; pre jednu žiarovku je k dispozícii aj HTTP variant.
Šablóna podporuje až 5 žiaroviek DUO na jeden modul cez zdieľaný MQTT broker v lokálnej sieti. Každá žiarovka je identifikovaná premennou modulu bulbNtopic, ktorá ukazuje na MQTT Device ID žiarovky, a poskytuje zariadenie bieleho svetla aj elektromer — celkovo 10 zariadení.
Konfigurácia
MQTT broker
Šablóna potrebuje MQTT broker dostupný v lokálnej sieti — funguje akýkoľvek štandardný broker (Mosquitto, EMQX alebo broker zabudovaný v Home Assistant). Broker beží na porte 1883 bez TLS (Gen1 hardvér Shelly nepodporuje MQTT cez TLS), preto ho ponechajte v dôveryhodnom segmente.
Po importovaní šablóny nastavte pripojenie k brokeru v import parametroch modulu:
| Parameter | Predvolené | Popis |
|---|---|---|
MQTT Broker IP (IpAddress) | 192.168.0.1 | Adresa brokera v lokálnej sieti |
MQTT Broker port (Port) | 1883 | Štandardný MQTT port (bez TLS) |
Transition time (TransitionTime) | 300 | Predvolený čas prechodu jasu/CCT na každej žiarovke v milisekundách |
Zapnutie MQTT na žiarovke
Každá Shelly DUO musí byť nasmerovaná na broker, kým začne publikovať alebo prijímať príkazy:
- Otvorte webové rozhranie žiarovky na
http://<bulb-ip>(IP nájdete v DHCP tabuľke routera alebo v Shelly app) - Prejdite na Internet & Security → Advanced — MQTT a zapnite MQTT
- Zadajte server brokera (IP a port, napr.
192.168.0.10:1883) a username / password nechajte prázdne (TapHome šablóna autentifikáciu brokera nepodporuje) - Voliteľne upravte MQTT prefix, ak nechcete predvolený
shellies/ShellyBulbDuo-<MAC6> - Uložte a reštartujte žiarovku — po opätovnom pripojení začne publikovať na
shellies/ShellyBulbDuo-<id>/light/0/status
Device ID (bulbNtopic)
Každá Shelly DUO má unikátne MQTT Device ID vo formáte ShellyBulbDuo-<MAC6>, kde <MAC6> je posledných 6 hex znakov MAC adresy (napr. ShellyBulbDuo-B929CC). Rovnaká hodnota je aj mDNS hostname žiarovky (ShellyBulbDuo-<MAC6>.local).
Device ID nájdete:
- V Shelly web UI: Settings → Device Info → pole
mqtt.id - Cez HTTP:
GET http://<bulb-ip>/settings→mqtt.id - Na štítku zariadenia / obale (posledných 6 znakov MAC, malé hex)
- Ako mDNS hostname, napr.
ShellyBulbDuo-b929cc.local
Otvorte modul Shelly DUO MQTT v TapHome a vyplňte topic premenné pre každú žiarovku, ktorú chcete použiť:
| Premenná | Predvolené | Popis |
|---|---|---|
bulb1topic | ShellyBulbDuo-deviceid1 | MQTT Device ID prvej žiarovky DUO |
bulb2topic | ShellyBulbDuo-deviceid2 | MQTT Device ID druhej žiarovky DUO |
bulb3topic | ShellyBulbDuo-deviceid3 | MQTT Device ID tretej žiarovky DUO |
bulb4topic | ShellyBulbDuo-deviceid4 | MQTT Device ID štvrtej žiarovky DUO |
bulb5topic | ShellyBulbDuo-deviceid5 | MQTT Device ID piatej žiarovky DUO |
Nahraďte placeholder skutočným Device ID pre každú žiarovku, ktorú chcete ovládať (napr. ShellyBulbDuo-B929CC). Modul sa prihlási na shellies/# a listener skripty pre jednotlivé žiarovky filtrujú správy podľa prefixu topicu. Sloty, ktoré ostali na placeholder hodnote, vyhodia chybu v TapHome, kým ich neskonfigurujete alebo neodstránite zo šablóny.
Čas prechodu pre každú žiarovku
Každé Light zariadenie má premennú transitionTime (v milisekundách, rozsah 0-5000 ms), ktorá je predvolene odvodená z modulového import parametra TransitionTime. Prepíšte ju na jednotlivých žiarovkách, ak chcete iné časy prechodu — hodnota sa odošle pri každej zmene jasu alebo CCT ako pole transition v JSON payloade /light/0/set.
Zapnutie MQTT na Gen1 zariadení Shelly vypne Shelly Cloud — obe nemôžu bežať súčasne. HTTP REST a CoIoT zostávajú dostupné, takže žiarovka je naďalej dosiahnuteľná z lokálnej siete.
Schopnosti zariadenia
Šablóna poskytuje 10 zariadení na modul — 5 laditeľných bielych svetiel a 5 elektromerov, jeden pár na fyzickú žiarovku. Všetkých 5 párov je funkčne identických, líšia sa len bulbNtopic, na ktorý počúvajú.
Ovládanie svetla
Každé Light zariadenie je v TapHome mapované ako White Light s dvomi ovládacími vlastnosťami:
- Jas — čítaný z poľa
$.brightness(0-100) JSON správylight/0/status, škálovaný na rozsah 0.0-1.0 v TapHome; zapisovaný cezlight/0/sets"turn":"on", "brightness":N, "transition":<ms> - Teplota svetla — čítaná z
$.temp(3000-6500 K), zapisovaná cezlight/0/sets"temp":K, "transition":<ms>
Vypnutie svetla používa samostatný topic light/0/command s payloadom off, čo je rýchlejšie ako zostavovať JSON set správu. Aktualizácie jasu a CCT vždy obsahujú pole transition, takže žiarovka prechádza plynulo namiesto skoku.
Meranie spotreby
Každý Electric Meter sa prihlasuje na dva skalárne topicy, ktoré žiarovka publikuje približne raz za sekundu:
| Hodnota v TapHome | Zdrojový topic | Zdrojová jednotka | Konverzia | Zobrazená jednotka |
|---|---|---|---|---|
| Okamžitý výkon | shellies/ShellyBulbDuo-<id>/light/0/power | W | ÷ 1000 | kW |
| Celková spotreba | shellies/ShellyBulbDuo-<id>/light/0/energy | watt-minúty | ÷ 60000 | kWh |
Konverzia watt-minút na kWh je nutná, pretože firmvér Shelly Gen1 reportuje kumulatívnu energiu vo W·min, nie vo W·h.
Meranie spotreby tichom vracia nulu, kým nie je nastavený Settings → Device Model (E27 alebo GU10) v Shelly app alebo web UI. TapHome listener pri prvom čítaní zobrazí informačný banner, ktorý na to upozorní. Po nastavení modelu žiarovka okamžite začne reportovať nenulové hodnoty
power/energy.
Riešenie problémov
Žiarovka nereaguje
- Overte, že žiarovka je pripojená k Wi-Fi a dosiahnuteľná v LAN — otvorte
http://<bulb-ip>/shelly. Odpoveď obsahujúca"type":"SHBDUO-1"potvrdí zariadenie. - Skúste mDNS hostname (
ShellyBulbDuo-<MAC6>.local) namiesto IP adresy — obnovenia DHCP alebo reštarty routera môžu zmeniť IP. - Potvrďte, že MQTT je zapnuté v nastaveniach Internet & Security → Advanced — MQTT žiarovky a že IP/port brokera sa zhodujú s import parametrami v TapHome.
- Použite MQTT klienta (napr. MQTT Explorer alebo
mosquitto_sub -h <broker> -t 'shellies/#' -v), aby ste overili, že žiarovka publikuje nashellies/ShellyBulbDuo-<id>/....
Chyba “Set correct ‘bulbNtopic’ value”
Listener skript hodí túto chybu, keď je bulbNtopic stále nastavený na predvolený placeholder (ShellyBulbDuo-deviceid). Buď doplňte skutočné Device ID pre daný slot, alebo odstráňte nepoužívané zariadenia zo šablóny, ak máte len pár žiaroviek.
Spotreba a energia ostávajú na nule
- Otvorte Shelly app (alebo web UI) → Settings → Device Model a vyberte zodpovedajúci sub-model (Shelly Bulb DUO E27 alebo Shelly Bulb DUO GU10). Žiarovka začne počítať
power/energyaž po identifikácii modelu. - Overte, že žiarovka je naozaj zapnutá — meter sa aktualizuje len pri pretekajúcom prúde.
- Prihláste sa priamo na
shellies/ShellyBulbDuo-<id>/light/0/powercez MQTT klienta a overte, že žiarovka publikuje nenulovú hodnotu.
Najteplejšia CCT klesá len na 3000 K
TapHome XML obmedzuje CCT na 3000-6500 K, aby zodpovedalo marketingovému rozsahu E27. Samotný hardvér podporuje 2700-6500 K na sub-modeli GU10 a cez surové API /light/0/set, takže najteplejších 300 K rozsahu GU10 je cez TapHome šablónu nedosiahnuteľných.
Prechody svetla pôsobia trhane
Zvýšte premennú transitionTime na danej žiarovke (alebo predvolenú modulovú hodnotu TransitionTime). 300 ms je v poriadku pre malé kroky stmievania, no pri veľkých zmenách jasu alebo CCT to môže pôsobiť stupňovito — skúste 800-1500 ms pre plynulejší prechod.
Zariadenia Shelly Gen1 používajú holé MQTT na porte 1883 — TLS nie je podporované. TapHome šablóna tiež nesprístupňuje broker
username/password, preto použite neautentifikovaný broker v dôveryhodnej lokálnej sieti alebo VLAN.