
Shelly DUO (model SHBDUO-1) je Gen1 Wi-Fi LED chytrá žárovka dostupná v provedení E27 a GU10. Běžná verze DUO je pouze bílá s laditelnou teplotou barvy a stmívatelným jasem — nemá žádné RGB kanály (RGB-schopná verze je DUO RGBW / shellycolorbulb- a používá samostatnou šablonu). Toto je MQTT varianta integrace do TapHome; pro jednu žárovku je k dispozici i HTTP varianta.
Šablona podporuje až 5 žárovek DUO na jeden modul přes sdílený MQTT broker v lokální síti. Každá žárovka je identifikována proměnnou modulu bulbNtopic, která ukazuje na MQTT Device ID žárovky, a poskytuje zařízení bílého světla i elektroměr — celkem 10 zařízení.
Konfigurace
MQTT broker
Šablona potřebuje MQTT broker dostupný v lokální síti — funguje jakýkoli standardní broker (Mosquitto, EMQX nebo broker zabudovaný v Home Assistant). Broker běží na portu 1883 bez TLS (Gen1 hardware Shelly nepodporuje MQTT přes TLS), proto ho ponechte v důvěryhodném segmentu.
Po importu šablony nastavte připojení k brokeru v import parametrech modulu:
| Parametr | Výchozí | Popis |
|---|---|---|
MQTT Broker IP (IpAddress) | 192.168.0.1 | Adresa brokeru v lokální síti |
MQTT Broker port (Port) | 1883 | Standardní MQTT port (bez TLS) |
Transition time (TransitionTime) | 300 | Výchozí čas přechodu jasu/CCT na každé žárovce v milisekundách |
Zapnutí MQTT na žárovce
Každá Shelly DUO musí být nasměrována na broker, než začne publikovat nebo přijímat příkazy:
- Otevřete webové rozhraní žárovky na
http://<bulb-ip>(IP najdete v DHCP tabulce routeru nebo v Shelly app) - Přejděte na Internet & Security → Advanced — MQTT a zapněte MQTT
- Zadejte server brokeru (IP a port, např.
192.168.0.10:1883) a username / password ponechte prázdné (TapHome šablona autentizaci brokeru nepodporuje) - Volitelně upravte MQTT prefix, pokud nechcete výchozí
shellies/ShellyBulbDuo-<MAC6> - Uložte a restartujte žárovku — po opětovném připojení začne publikovat na
shellies/ShellyBulbDuo-<id>/light/0/status
Device ID (bulbNtopic)
Každá Shelly DUO má unikátní MQTT Device ID ve formátu ShellyBulbDuo-<MAC6>, kde <MAC6> je posledních 6 hex znaků MAC adresy (např. ShellyBulbDuo-B929CC). Stejná hodnota je i mDNS hostname žárovky (ShellyBulbDuo-<MAC6>.local).
Device ID najdete:
- V Shelly web UI: Settings → Device Info → pole
mqtt.id - Přes HTTP:
GET http://<bulb-ip>/settings→mqtt.id - Na štítku zařízení / obalu (posledních 6 znaků MAC, malé hex)
- Jako mDNS hostname, např.
ShellyBulbDuo-b929cc.local
Otevřete modul Shelly DUO MQTT v TapHome a vyplňte topic proměnné pro každou žárovku, kterou chcete použít:
| Proměnná | Výchozí | Popis |
|---|---|---|
bulb1topic | ShellyBulbDuo-deviceid1 | MQTT Device ID první žárovky DUO |
bulb2topic | ShellyBulbDuo-deviceid2 | MQTT Device ID druhé žárovky DUO |
bulb3topic | ShellyBulbDuo-deviceid3 | MQTT Device ID třetí žárovky DUO |
bulb4topic | ShellyBulbDuo-deviceid4 | MQTT Device ID čtvrté žárovky DUO |
bulb5topic | ShellyBulbDuo-deviceid5 | MQTT Device ID páté žárovky DUO |
Nahraďte placeholder skutečným Device ID pro každou žárovku, kterou chcete ovládat (např. ShellyBulbDuo-B929CC). Modul se přihlásí na shellies/# a listener skripty pro jednotlivé žárovky filtrují zprávy podle prefixu topicu. Sloty, které zůstaly na placeholder hodnotě, vyhodí chybu v TapHome, dokud je nenakonfigurujete nebo neodstraníte ze šablony.
Čas přechodu pro každou žárovku
Každé Light zařízení má proměnnou transitionTime (v milisekundách, rozsah 0-5000 ms), která je ve výchozím stavu odvozena z modulového import parametru TransitionTime. Přepište ji na jednotlivých žárovkách, pokud chcete jiné časy přechodu — hodnota se odešle při každé změně jasu nebo CCT jako pole transition v JSON payloadu /light/0/set.
Zapnutí MQTT na Gen1 zařízení Shelly vypne Shelly Cloud — obě nemohou běžet současně. HTTP REST a CoIoT zůstávají dostupné, takže žárovka je nadále dosažitelná z lokální sítě.
Schopnosti zařízení
Šablona poskytuje 10 zařízení na modul — 5 laditelných bílých světel a 5 elektroměrů, jeden pár na fyzickou žárovku. Všech 5 párů je funkčně identických, liší se pouze bulbNtopic, na který naslouchají.
Ovládání světla
Každé Light zařízení je v TapHome mapováno jako White Light se dvěma ovládacími vlastnostmi:
- Jas — čtený z pole
$.brightness(0-100) JSON zprávylight/0/status, škálovaný na rozsah 0.0-1.0 v TapHome; zapisovaný přeslight/0/sets"turn":"on", "brightness":N, "transition":<ms> - Teplota světla — čtená z
$.temp(3000-6500 K), zapisovaná přeslight/0/sets"temp":K, "transition":<ms>
Vypnutí světla používá samostatný topic light/0/command s payloadem off, což je rychlejší než sestavovat JSON set zprávu. Aktualizace jasu a CCT vždy obsahují pole transition, takže žárovka přechází plynule místo skoku.
Měření spotřeby
Každý Electric Meter se přihlašuje na dva skalární topicy, které žárovka publikuje přibližně jednou za sekundu:
| Hodnota v TapHome | Zdrojový topic | Zdrojová jednotka | Konverze | Zobrazená jednotka |
|---|---|---|---|---|
| Okamžitý výkon | shellies/ShellyBulbDuo-<id>/light/0/power | W | ÷ 1000 | kW |
| Celková spotřeba | shellies/ShellyBulbDuo-<id>/light/0/energy | watt-minuty | ÷ 60000 | kWh |
Konverze watt-minut na kWh je nutná, protože firmware Shelly Gen1 reportuje kumulativní energii ve W·min, nikoli ve W·h.
Měření spotřeby tiše vrací nulu, dokud není nastaven Settings → Device Model (E27 nebo GU10) v Shelly app nebo web UI. TapHome listener při prvním čtení zobrazí informační banner, který na to upozorní. Po nastavení modelu žárovka okamžitě začne reportovat nenulové hodnoty
power/energy.
Řešení potíží
Žárovka nereaguje
- Ověřte, že žárovka je připojena k Wi-Fi a dosažitelná v LAN — otevřete
http://<bulb-ip>/shelly. Odpověď obsahující"type":"SHBDUO-1"potvrdí zařízení. - Zkuste mDNS hostname (
ShellyBulbDuo-<MAC6>.local) místo IP adresy — obnovení DHCP nebo restarty routeru mohou změnit IP. - Potvrďte, že MQTT je zapnuté v nastavení Internet & Security → Advanced — MQTT žárovky a že IP/port brokeru se shodují s import parametry v TapHome.
- Použijte MQTT klienta (např. MQTT Explorer nebo
mosquitto_sub -h <broker> -t 'shellies/#' -v), abyste ověřili, že žárovka publikuje nashellies/ShellyBulbDuo-<id>/....
Chyba “Set correct ‘bulbNtopic’ value”
Listener skript hodí tuto chybu, když je bulbNtopic stále nastaven na výchozí placeholder (ShellyBulbDuo-deviceid). Buď doplňte skutečné Device ID pro daný slot, nebo odstraňte nepoužívaná zařízení ze šablony, pokud máte jen pár žárovek.
Spotřeba a energie zůstávají na nule
- Otevřete Shelly app (nebo web UI) → Settings → Device Model a vyberte odpovídající sub-model (Shelly Bulb DUO E27 nebo Shelly Bulb DUO GU10). Žárovka začne počítat
power/energyaž po identifikaci modelu. - Ověřte, že žárovka je skutečně zapnutá — měřič se aktualizuje pouze při protékajícím proudu.
- Přihlaste se přímo na
shellies/ShellyBulbDuo-<id>/light/0/powerpřes MQTT klienta a ověřte, že žárovka publikuje nenulovou hodnotu.
Nejteplejší CCT klesá pouze na 3000 K
TapHome XML omezuje CCT na 3000-6500 K, aby odpovídalo marketingovému rozsahu E27. Samotný hardware podporuje 2700-6500 K na sub-modelu GU10 a přes syrové API /light/0/set, takže nejteplejších 300 K rozsahu GU10 je přes TapHome šablonu nedosažitelných.
Přechody světla působí trhaně
Zvyšte proměnnou transitionTime na dané žárovce (nebo výchozí modulovou hodnotu TransitionTime). 300 ms je v pořádku pro malé kroky stmívání, ale při velkých změnách jasu nebo CCT to může působit stupňovitě — zkuste 800-1500 ms pro plynulejší přechod.
Zařízení Shelly Gen1 používají holé MQTT na portu 1883 — TLS není podporováno. TapHome šablona také nezpřístupňuje broker
username/password, proto použijte neautentizovaný broker v důvěryhodné lokální síti nebo VLAN.