
A Shelly DUO (modell SHBDUO-1) egy Gen1 Wi-Fi LED okos izzó, E27 és GU10 változatban kapható. Az alap DUO csak fehér állítható színhőmérséklettel és szabályozható fényerővel — nincsenek RGB csatornái (az RGB-képes változat a DUO RGBW / shellycolorbulb-, amely külön sablont használ). Ez az integráció MQTT változata; egy izzós telepítéshez elérhető egy HTTP változat is.
A sablon 5 DUO izzót támogat modulonként egy közös, helyi hálózaton elérhető MQTT brókeren keresztül. Minden izzót a bulbNtopic modulváltozó azonosít, amely az izzó MQTT Device ID-jára mutat, és minden izzóhoz egy fehér fény eszköz és egy elektromos mérő tartozik — összesen 10 eszköz.
Konfiguráció
MQTT bróker
A sablonhoz egy helyi hálózaton elérhető MQTT bróker szükséges — bármilyen szabványos bróker megfelel (Mosquitto, EMQX vagy a Home Assistant beépített brókere). A bróker az 1883-as porton fut TLS nélkül (a Gen1 Shelly hardver nem támogatja a TLS-t MQTT felett), ezért tartsa megbízható szegmensben.
A sablon importálása után állítsa be a brókerkapcsolatot a modul import paramétereiben:
| Paraméter | Alapérték | Leírás |
|---|---|---|
MQTT Broker IP (IpAddress) | 192.168.0.1 | A bróker címe a helyi hálózaton |
MQTT Broker port (Port) | 1883 | Szabványos MQTT port (TLS nélkül) |
Transition time (TransitionTime) | 300 | Alapértelmezett izzónkénti átmenet ideje milliszekundumban |
MQTT engedélyezése az izzón
Minden Shelly DUO izzót a brókerre kell mutatni, mielőtt üzeneteket publikál vagy parancsokat fogad:
- Nyissa meg az izzó webes felületét a
http://<bulb-ip>címen (az IP-t a router DHCP táblájában vagy a Shelly appban találja meg) - Lépjen az Internet & Security → Advanced — MQTT menübe és kapcsolja be az MQTT-t
- Adja meg a bróker server mezőjét (IP és port, pl.
192.168.0.10:1883), a username / password mezőket pedig hagyja üresen (a TapHome sablon nem támogatja a bróker hitelesítést) - Opcionálisan módosítsa az MQTT prefix értékét, ha nem szeretné az alapértelmezett
shellies/ShellyBulbDuo-<MAC6>előtagot - Mentse és indítsa újra az izzót — újra csatlakozás után publikálni kezd a
shellies/ShellyBulbDuo-<id>/light/0/statustopicra
Device ID (bulbNtopic)
Minden Shelly DUO egyedi MQTT Device ID-val rendelkezik ShellyBulbDuo-<MAC6> formátumban, ahol <MAC6> a MAC-cím utolsó 6 hex karaktere (pl. ShellyBulbDuo-B929CC). Ugyanez az érték az izzó mDNS hostneve is (ShellyBulbDuo-<MAC6>.local).
A Device ID megtalálható:
- A Shelly web UI-ban: Settings → Device Info →
mqtt.idmező - HTTP-n keresztül:
GET http://<bulb-ip>/settings→mqtt.id - Az eszköz címkéjén / csomagolásán (a MAC utolsó 6 karaktere, kis hex)
- Az mDNS hostnévként, pl.
ShellyBulbDuo-b929cc.local
Nyissa meg a Shelly DUO MQTT modult a TapHome-ban, és töltse ki a topic változókat minden használni kívánt izzóhoz:
| Változó | Alapérték | Leírás |
|---|---|---|
bulb1topic | ShellyBulbDuo-deviceid1 | Az első DUO izzó MQTT Device ID-ja |
bulb2topic | ShellyBulbDuo-deviceid2 | A második DUO izzó MQTT Device ID-ja |
bulb3topic | ShellyBulbDuo-deviceid3 | A harmadik DUO izzó MQTT Device ID-ja |
bulb4topic | ShellyBulbDuo-deviceid4 | A negyedik DUO izzó MQTT Device ID-ja |
bulb5topic | ShellyBulbDuo-deviceid5 | Az ötödik DUO izzó MQTT Device ID-ja |
Cserélje le a placeholder értéket minden vezérelni kívánt izzó valódi Device ID-jára (pl. ShellyBulbDuo-B929CC). A modul feliratkozik a shellies/# topicra, és az izzónkénti listener szkriptek topic prefix alapján szűrik az üzeneteket. Azok a slotok, amelyek placeholder értéken maradnak, hibát adnak a TapHome-ban, amíg nincsenek konfigurálva vagy eltávolítva a sablonból.
Izzónkénti átmenet idő
Minden Light eszköz transitionTime változóval rendelkezik (milliszekundumban, 0-5000 ms tartomány), amely alapértelmezésben a modul szintű TransitionTime import paramétertől öröklődik. Írja felül az egyes izzókon, ha eltérő átmenet időket szeretne — az érték minden fényerő- vagy CCT-változásnál a /light/0/set JSON payload transition mezőjeként kerül elküldésre.
Az MQTT bekapcsolása egy Gen1 Shelly eszközön letiltja a Shelly Cloudot — a kettő nem futhat egyszerre. A HTTP REST és a CoIoT továbbra is elérhető marad, így az izzó a helyi hálózaton elérhető marad.
Eszközfunkciók
A sablon 10 eszközt biztosít modulonként — 5 állítható fehér fényt és 5 elektromos mérőt, fizikai izzónként egy párt. Mind az 5 pár funkcionálisan azonos, csak a bulbNtopic különbözteti meg őket, amelyre figyelnek.
Fény vezérlése
Minden Light eszköz a TapHome-ban White Light ként van leképezve, két vezérlési tulajdonsággal:
- Fényerő — a
light/0/statusJSON$.brightnessmezőjéből (0-100) olvasott, a TapHome 0.0-1.0 tartományára skálázva; alight/0/settopicra írva"turn":"on", "brightness":N, "transition":<ms>üzenettel - Színhőmérséklet — a
$.tempmezőből (3000-6500 K) olvasott, alight/0/settopicra írva"temp":K, "transition":<ms>üzenettel
A fény kikapcsolása külön light/0/command topicot használ off payload-dal, ami gyorsabb, mint JSON set üzenetet összeállítani. A fényerő- és CCT-frissítések mindig tartalmazzák a transition mezőt, így az izzó folyamatosan átúszik az ugrás helyett.
Fogyasztásmérés
Minden Electric Meter két skalár topicra iratkozik fel, amelyeket az izzó nagyjából másodpercenként publikál:
| TapHome érték | Forrás topic | Forrás egység | Átváltás | Megjelenített egység |
|---|---|---|---|---|
| Pillanatnyi teljesítmény | shellies/ShellyBulbDuo-<id>/light/0/power | W | ÷ 1000 | kW |
| Összes fogyasztás | shellies/ShellyBulbDuo-<id>/light/0/energy | watt-perc | ÷ 60000 | kWh |
A watt-perc → kWh átváltásra azért van szükség, mert a Shelly Gen1 firmware kumulatív energiát W·perc-ben jelent W·óra helyett.
A fogyasztásmérés csendben nullát ad vissza, amíg a Settings → Device Model (E27 vagy GU10) nincs beállítva a Shelly appban vagy web UI-ban. A TapHome listener az első olvasáskor információs banneren emlékeztet erre. A modell beállítása után az izzó azonnal nem nulla
power/energyértékeket kezd jelenteni.
Hibaelhárítás
Az izzó nem reagál
- Ellenőrizze, hogy az izzó csatlakozik a Wi-Fi-hez és elérhető a LAN-ban — nyissa meg
http://<bulb-ip>/shelly. A"type":"SHBDUO-1"válasz megerősíti az eszközt. - Próbálja az mDNS hostnevet (
ShellyBulbDuo-<MAC6>.local) az IP-cím helyett — DHCP megújítás vagy router újraindítás megváltoztathatja az IP-t. - Erősítse meg, hogy az MQTT engedélyezve van az izzó Internet & Security → Advanced — MQTT beállításaiban, és hogy a bróker IP/port megegyezik a TapHome import paramétereivel.
- Használjon MQTT klienst (pl. MQTT Explorer vagy
mosquitto_sub -h <broker> -t 'shellies/#' -v) annak ellenőrzésére, hogy az izzó publikál-e ashellies/ShellyBulbDuo-<id>/...topicra.
“Set correct ‘bulbNtopic’ value” hiba
A listener szkript akkor dobja ezt a hibát, ha a bulbNtopic még az alapértelmezett placeholder értéken (ShellyBulbDuo-deviceid) áll. Vagy adja meg a valódi Device ID-t az adott slotra, vagy távolítsa el a nem használt eszközöket a sablonból, ha csak néhány izzója van.
A teljesítmény és energia nullán marad
- Nyissa meg a Shelly appot (vagy a web UI-t) → Settings → Device Model és válassza ki a megfelelő alváltozatot (Shelly Bulb DUO E27 vagy Shelly Bulb DUO GU10). Az izzó csak a modell ismeretében kezdi számolni a
power/energyértékeket. - Erősítse meg, hogy az izzó valóban be van kapcsolva — a mérő csak áramfolyás közben frissül.
- Iratkozzon fel közvetlenül a
shellies/ShellyBulbDuo-<id>/light/0/powertopicra MQTT klienssel, és ellenőrizze, hogy az izzó nem nulla értéket publikál.
A legmelegebb CCT csak 3000 K-ig megy
A TapHome XML a CCT-t 3000-6500 K közé szorítja, hogy megfeleljen a hirdetett E27 tartománynak. Maga a hardver támogatja a 2700-6500 K tartományt a GU10 alváltozaton és a nyers /light/0/set API-n, így a GU10 tartományának legmelegebb 300 K-je nem érhető el a TapHome sablonon keresztül.
A fény átmenetei akadoznak
Növelje az adott izzó transitionTime változóját (vagy a modul szintű TransitionTime alapértékét). 300 ms rendben van kis tompítási lépésekhez, de nagy fényerő- vagy CCT-változásoknál lépcsősnek tűnhet — próbáljon 800-1500 ms-et finomabb átmenethez.
A Gen1 Shelly eszközök sima MQTT-t használnak az 1883-as porton — nincs TLS támogatás. A TapHome sablon a bróker
username/passwordmezőit sem teszi elérhetővé, ezért használjon hitelesítés nélküli brókert egy megbízható helyi hálózaton vagy VLAN-on.