
A Yeelight Wi-Fi okos LED világítási márka — egyszínű izzók, állítható fehér és teljes színű izzók, LED szalagok és mennyezeti lámpák — amelyet a Qingdao Yeelink (a Xiaomi ökoszisztéma része) forgalmaz. Minden LAN-kompatibilis Yeelight termék ugyanazt a JSON-RPC Inter-Operation Protocol protokollt beszéli a 55443-as TCP porton, így egyetlen TapHome sablon lefedi az egész terméksorozatot.
A sablon egy fényerő-szabályozó eszközt tesz elérhetővé: fényerő (0–100 %) és be/ki kapcsolás sima átmenetekkel. Az aktuális színmód és színhőmérséklet csak olvasható szervizattribútumként jelenik meg. A TapHome közvetlenül a helyi hálózaton keresztül kommunikál az izzóval — miután a LAN Control be van kapcsolva az izzón, nincs szükség Yeelight fiókra.
Hardveres csatlakozás
A Yeelight izzók normál hálózati feszültségről működnek (jellemzően E27, E14, GU10 foglalat vagy 24 V tápegység LED szalaghoz — terméktől függően). A TapHome és az izzó között nincs szükség huzalozásra — minden kommunikáció Wi-Fi-n keresztül zajlik. Az izzónak ugyanazon a LAN / VLAN hálózaton kell lennie, mint a TapHome CCU, mert a JSON-RPC protokoll nem használ hitelesítést és titkosítást, a forgalom pedig soha nem megy át a Yeelight felhőn.
A Yeelight LAN protokollja titkosítatlan. Ne tedd elérhetővé az 55443-as TCP portot a publikus internet felől, és tedd az izzókat megbízható hálózati szegmensre — bárki, aki hozzáfér a LAN-hoz, parancsokat küldhet az izzónak.
Konfiguráció
A LAN Control bekapcsolása
A LAN Control (egyes régiókban Developer Mode néven) alapértelmezésben ki van kapcsolva az izzón. Enélkül az izzó elutasítja a TCP kapcsolatokat az 55443-as porton.
- Nyisd meg a Yeelight mobilalkalmazást, és SmartConfig / QuickConnect eljárással párosítsd az izzót a helyi Wi-Fi hálózattal, ha még nincs párosítva.
- Válaszd ki a cél izzót az alkalmazásban.
- Koppints a beállítások ikonra (jobb felső sarok), majd nyisd meg a LAN Control menüt (egyes firmware-verziókban Developer Mode néven).
- Kapcsold a LAN Control-t BE állásba.
- Jegyezd fel az izzó IP-címét — a Yeelight alkalmazás eszközinformációs oldalán látható, vagy kiolvasható a router DHCP lease tábláiból.
A LAN Control bekapcsolása után az izzó figyeli az 55443-as TCP portot, és időnként meghirdeti magát a 239.255.255.250:1982 UDP multicast címen.
Hálózati konfiguráció
- IP-cím — a TapHome sablon nem ismer automatikus izzókeresést. Adj az izzónak statikus IP-t vagy DHCP foglalást a routerben, hogy a lease megújítás után se változzon a címe.
- Azonos LAN szegmens — a TapHome CCU-nak és az izzónak ugyanabban a broadcast doménben kell lennie. Ha a Wi-Fi és a kábeles kliensek külön VLAN-okon vannak, vegyél fel egy tűzfal szabályt, amely engedélyezi a TCP 55443 forgalmat közöttük.
Importálási paraméterek
A TapHome sablon importálásakor a felhasználó három értéket ad meg:
| Paraméter | Leírás | Alapérték |
|---|---|---|
ipAddress | A Yeelight izzó IP-címe a LAN-on | 192.168.0.1 (placeholder — cseréld valós IP-re) |
Port | Az izzó TCP vezérlőportja | 55443 |
Internal poll interval | Milyen gyakran küldi a sablon a get_prop parancsot (milliszekundumban) | 10000 (10 s) |
Az alapértelmezett 55443 port a Yeelight LAN Control szabványos portja, és csak akkor érdemes megváltoztatni, ha az izzó nem szabványos portra lett konfigurálva.
Pollok között a sablon reagál az izzó által küldött
propsértesítésekre is — ezeket az izzó minden állapotváltozáskor magától elküldi. A gyakorlatban ez azt jelenti, hogy a Yeelight alkalmazásban, fali kapcsolón vagy egy másik Home Assistant példányon végzett fényerő- vagy kapcsolási változtatások szinte azonnal megjelennek a TapHome-ban, anélkül, hogy meg kellene várni a következő pollt.
Eszközképességek
Fényerő-szabályozó (fényerő és be/ki)
A sablon egyetlen fényerő-szabályozó eszközt jelenít meg. Minden pollnál ezt küldi:
| |
és feldolgozza a válasz result[0] (fényerő 1–100, 100-zal osztva a TapHome 0.0–1.0 tartományra) és result[1] ("on" / "off") értékeit.
Az írásokat két JSON-RPC parancsra fordítja:
- Ha a célszint nullánál nagyobb, a sablon a
set_power ["on","smooth",300]parancsot küldi, majd aset_bright [round(level*100),"smooth",500]parancsot. A 300 ms-os bekapcsolási és az 500 ms-os fényerő-átmenet kellemes fade-et ad a kemény ugrás helyett. - Ha a célszint nulla, a sablon a
set_power ["off","smooth",300]parancsot küldi.
A fényerő-szabályozó az izzó által küldött props értesítéseket (power / brightness) is feldolgozza, így a külső állapotváltozások a következő poll bevárása nélkül is megjelennek a TapHome-ban.
Színmód és színhőmérséklet (csak olvasható)
Két modul-szintű szervizattribútum egy külön get_prop kérésen (id=981) keresztül olvasható:
- Color mode —
RGB,TemperaturevagyHSV, a numerikuscolor_modetulajdonságból (1 / 2 / 3) dekódolva a listener scriptSWITCHkifejezésével. - Color temperature — Kelvin érték
"{ct}K"formátumban (például"4000K"). Csak akkor értelmezhető, ha az izzó Temperature módban van. Tipikus, modellfüggő tartomány: 1700–6500 K színes izzóknál és szalagoknál, 2700–6500 K mennyezeti lámpáknál (a ceiling3 6000 K-nél lezár).
Mindkét attribútum csak diagnosztikai célú — a sablon nem képes színmódot váltani, és nem tud új színhőmérsékletet írni.
További képességek
A Yeelight LAN protokoll RGB- és HSV-színvezérlést (set_rgb, set_hsv), színhőmérséklet-vezérlést (set_ct_abx), színváltó programokat (start_cf / stop_cf), előre definiált jeleneteket (set_scene), eszközön belüli időzítőket (cron_add), kétvilágos lámpák háttérvilágításának vezérlését (bg_* metódusok) és music mode-ot (set_music, egy reverse-TCP csatorna, amely megkerüli a rate-limit-et) is kínál. Ezek közül egyiket sem valósítja meg a jelenlegi TapHome fényerő-szabályozó sablon — aki teljes színt vagy effekteket szeretne, annak ki kell bővítenie a sablont, vagy párhuzamosan használnia a natív Yeelight alkalmazást.
A szín, színhőmérséklet és jelenetek egy későbbi sablonfrissítésben ugyanazon a TCP csatornán keresztül hozzáadhatók. A PacketParser olvasási/írási scriptjei kibővíthetők a
set_ct_abx,set_rgbvagyset_sceneparancsokkal az importálási paraméterek módosítása nélkül.
Hibaelhárítás
Az izzó nem reagál a parancsokra
Ellenőrizd, hogy a LAN Control be van-e kapcsolva az izzón (Yeelight app → izzó beállítások → LAN Control). Enélkül az izzó minden TCP kapcsolatot elutasít az 55443-as porton.
Ellenőrizd az izzó IP-címét a Yeelight alkalmazásban vagy a router DHCP lease tábláiban, és győződj meg róla, hogy egyezik az
ipAddressimportálási paraméterrel. A Yeelight izzók alapértelmezésben nem tartják fix IP-t — a lease lejárhatott, és az IP megváltozott.Adj az izzónak statikus IP-t vagy DHCP foglalást, hogy a cím ne változzon.
Ellenőrizd, hogy a TapHome CCU és az izzó ugyanazon a LAN / VLAN-on van, és hogy az 55443-as TCP portot nem blokkolja tűzfal közöttük.
Teszteld a kapcsolatot manuálisan:
telnet {bulb-ip} 55443, és küldj egy nyers kérést\r\nlezárással:1{"id":1,"method":"get_prop","params":["bright","power"]}Egy működő izzó
{"id":1,"result":["<bright>","<power>"]}formátumban válaszol.
Read error: client quota exceeded
Minden Yeelight izzóhoz menő TCP kapcsolat percenként 60 parancsra van korlátozva, és az izzó összesen legfeljebb 4 egyidejű kapcsolatot fogad el (összesen 144 parancs/perc a teljes LAN-on). Ha egy másik rendszer is pollozza az izzót — Home Assistant, Yeelight felhő-session, saját script —, a kombinált forgalom rate-limit hibákat válthat ki, amelyeket a TapHome Read error: client quota exceeded formában jelent.
- Kapcsold ki vagy lassítsd az izzót osztozó egyéb integrációkat.
- Hagyd a TapHome poll intervallumát az alapértelmezett
10000ms értéken vagy magasabban. Egyget_propplusz kétset_*írás változásonként biztonságosan a 60 parancs/perc kvóta alatt marad. - Zárd be a nem használt
telnetdebug kapcsolatokat — ezek is beleszámítanak a 4 kapcsolatos limitbe.
A Color temperature szervizattribútum “error” értéket mutat
A Color mode és Color temperature szervizattribútumok az izzó color_mode és ct tulajdonságát olvassák. Ha mono (csak fehér) modellről van szó, amely nem támogat állítható fehéret, vagy az izzó éppen RGB vagy HSV módban van, a ct érték nem értelmezhető, és a listener script a Color temperature attribútumot "error" értékkel jelzi. Ez várt viselkedés, nem hiba.
A Yeelight alkalmazásban végzett módosítások nem jelennek meg
A sablon reagál az izzó által küldött props értesítésekre, így a külső változások általában egy másodpercen belül megjelennek. Ha mégsem:
- Az értesítés érkezhetett olyan pillanatban, amikor a TCP socket éppen újraépült — a következő poll (alapértelmezetten 10 s) újraszinkronizálja.
- Egyes régebbi firmware-verziók csak akkor küldenek értesítést, ha aktívan parancsot kapnak. Frissítsd az izzó firmware-ét a Yeelight alkalmazáson keresztül.
- Előfordulhat, hogy az izzó elérte a 4 kapcsolatos limitet — csökkentsd az egyidejű kliensek számát a LAN-on.
