
Yeelight je značka Wi-Fi chytrých LED svítidel — jednobarevných žárovek, žárovek s nastavitelnou bílou a plnobarevných žárovek, LED pásků a stropních svítidel — kterou vydává společnost Qingdao Yeelink (součást ekosystému Xiaomi). Každý Yeelight produkt s podporou LAN používá stejný JSON-RPC protokol Inter-Operation Protocol na TCP portu 55443, takže jedna šablona TapHome pokrývá celou produktovou rodinu.
Šablona zpřístupňuje zařízení typu stmívač: jas (0–100 %) a zapnutí/vypnutí s plynulými přechody. Aktuální barevný režim a teplota bílé se zobrazují jako servisní atributy pouze pro čtení. TapHome komunikuje se žárovkou přímo v lokální síti — po zapnutí LAN Control na žárovce není potřeba účet v cloudu Yeelight.
Hardwarové připojení
Yeelight žárovky se napájejí ze standardní sítě (typicky E27, E14, GU10 nebo 24 V zdroj pro LED pásky — podle produktu). Mezi TapHome a žárovkou není potřeba žádná kabeláž — veškerá komunikace probíhá přes Wi-Fi. Žárovka musí být ve stejné LAN / VLAN jako TapHome CCU, protože JSON-RPC protokol nepoužívá autentizaci ani šifrování a komunikace nikdy neprochází cloudem Yeelight.
LAN protokol Yeelight je nešifrovaný. Nevystavuj TCP port 55443 do veřejného internetu a umísti žárovky do důvěryhodného síťového segmentu — kdokoliv s přístupem do LAN může žárovce posílat příkazy.
Konfigurace
Zapnutí LAN Control
LAN Control (v některých regionech označovaný jako Developer Mode) je na žárovce ve výchozím nastavení vypnutý. Bez něj žárovka odmítá TCP spojení na portu 55443.
- Otevři mobilní aplikaci Yeelight a spáruj žárovku s lokální Wi-Fi sítí přes SmartConfig / QuickConnect, pokud ještě není spárovaná.
- Vyber cílovou žárovku v aplikaci.
- Klepni na ikonu nastavení (vpravo nahoře) a otevři LAN Control (v některých firmwarech označené jako Developer Mode).
- Přepni LAN Control na ON.
- Poznamenej si IP adresu žárovky — zobrazuje se v informacích o zařízení v aplikaci Yeelight nebo ji lze zjistit z tabulky DHCP leases na routeru.
Po zapnutí LAN Control žárovka naslouchá na TCP portu 55443 a pravidelně se inzeruje přes UDP multicast 239.255.255.250:1982.
Síťová konfigurace
- IP adresa — šablona TapHome neumí automatické vyhledávání žárovek. Přiděl žárovce statickou IP nebo DHCP rezervaci v routeru, aby se adresa po obnově lease nezměnila.
- Stejný LAN segment — TapHome CCU a žárovka musí být ve stejné broadcast doméně. Pokud jsou Wi-Fi a drátoví klienti v různých VLAN, přidej firewall pravidlo povolující TCP 55443 mezi nimi.
Importní parametry
Během importu šablony v TapHome uživatel zadává tři hodnoty:
| Parametr | Popis | Výchozí hodnota |
|---|---|---|
ipAddress | IP adresa Yeelight žárovky v LAN | 192.168.0.1 (placeholder — nahraď skutečnou IP) |
Port | TCP ovládací port žárovky | 55443 |
Internal poll interval | Interval, v jakém šablona posílá get_prop (v milisekundách) | 10000 (10 s) |
Výchozí port 55443 je standardní Yeelight LAN Control port a neměl by se měnit, pokud žárovka nebyla nakonfigurována na nestandardní port.
Mezi polly šablona také reaguje na notifikace
props, které žárovka sama posílá při každé změně stavu. V praxi to znamená, že změny jasu nebo zapnutí/vypnutí provedené z aplikace Yeelight, nástěnného vypínače nebo jiné instance Home Assistant se v TapHome projeví téměř okamžitě, bez čekání na další poll.
Možnosti zařízení
Stmívač (jas a zapnutí/vypnutí)
Šablona zpřístupňuje jedno stmívačové zařízení. Při každém pollu posílá:
| |
a zpracuje odpověď result[0] (jas 1–100, dělený 100 na rozsah TapHome 0.0–1.0) a result[1] ("on" / "off").
Zápisy se překládají na dva JSON-RPC příkazy:
- Pokud je cílová úroveň větší než nula, šablona pošle
set_power ["on","smooth",300]a následněset_bright [round(level*100),"smooth",500]. 300 ms přechod pro zapnutí a 500 ms přechod pro jas poskytují jemný fade namísto tvrdého skoku. - Pokud je cílová úroveň nula, šablona pošle
set_power ["off","smooth",300].
Stmívač také zpracovává notifikace props posílané žárovkou (power / brightness), takže externí změny stavu se v TapHome projeví bez čekání na další poll.
Barevný režim a teplota bílé (pouze pro čtení)
Dva servisní atributy na úrovni modulu se čtou samostatným get_prop požadavkem (id=981):
- Color mode —
RGB,TemperatureneboHSV, dekódované z číselné vlastnosticolor_mode(1 / 2 / 3) pomocí výrazuSWITCHv listener skriptu. - Color temperature — hodnota v Kelvinech reportovaná jako
"{ct}K"(například"4000K"). Smysluplná pouze tehdy, když je žárovka v režimu Temperature. Typický rozsah podle modelu: 1700–6500 K pro barevné žárovky a pásky, 2700–6500 K pro stropní svítidla (ceiling3 je omezen na 6000 K).
Oba atributy jsou pouze diagnostické — šablona neumí přepnout barevný režim ani zapsat novou teplotu bílé.
Další možnosti
Yeelight LAN protokol rovněž nabízí ovládání barev RGB a HSV (set_rgb, set_hsv), nastavení teploty bílé (set_ct_abx), programy barevných změn (start_cf / stop_cf), předdefinované scény (set_scene), časovače spánku na žárovce (cron_add), ovládání zadního světla na dvousvětelných svítidlech (bg_* metody) a music mode (set_music, reverzní TCP kanál obcházející rate limit). Žádnou z těchto funkcí současná TapHome šablona stmívače neimplementuje — uživatelé, kteří potřebují plnou barvu nebo efekty, musí šablonu rozšířit nebo používat souběžně nativní Yeelight aplikaci.
Barvu, teplotu bílé a scény lze přidat v budoucí aktualizaci šablony přes stejný TCP kanál. Read/write skripty PacketParser lze rozšířit o
set_ct_abx,set_rgbneboset_scenebez změny importních parametrů.
Řešení problémů
Žárovka nereaguje na příkazy
Ověř, že LAN Control je na žárovce zapnutý (Yeelight app → nastavení žárovky → LAN Control). Bez něj žárovka odmítá všechna TCP spojení na portu 55443.
Zkontroluj IP adresu žárovky v aplikaci Yeelight nebo v DHCP tabulce routeru a ujisti se, že odpovídá importnímu parametru
ipAddress. Yeelight žárovky ve výchozím nastavení nemají pevnou IP — lease mohl vypršet a adresa se změnila.Přiděl žárovce statickou IP nebo DHCP rezervaci, aby se adresa neměnila.
Zkontroluj, že TapHome CCU a žárovka jsou ve stejné LAN / VLAN a že TCP
55443není blokován firewallem mezi nimi.Otestuj spojení manuálně:
telnet {bulb-ip} 55443a pošli surový request ukončený\r\n:1{"id":1,"method":"get_prop","params":["bright","power"]}Platná žárovka odpoví
{"id":1,"result":["<bright>","<power>"]}.
Read error: client quota exceeded
Každé TCP spojení k Yeelight žárovce je omezeno na 60 příkazů za minutu a žárovka akceptuje maximálně 4 souběžná spojení (dohromady 144 příkazů/minutu v celé LAN). Pokud žárovku souběžně polluje jiný systém — Home Assistant, cloudová session Yeelight, vlastní skript — spojený provoz může způsobit chyby rate-limitu, které se v TapHome hlásí jako Read error: client quota exceeded.
- Vypni nebo zpomal ostatní integrace, které sdílejí žárovku.
- Ponech interval pollu v TapHome na výchozí hodnotě
10000ms nebo vyšší. Jedenget_propplus dvaset_*zápisy na změnu bezpečně zůstávají pod kvótou 60 příkazů/minutu. - Zavři nepoužívané
telnetdebug sessions — ty se počítají do limitu 4 spojení.
Servisní atribut Color temperature ukazuje “error”
Servisní atributy Color mode a Color temperature čtou color_mode a ct ze žárovky. Pokud jde o mono model (pouze bílá), který nepodporuje nastavitelnou bílou, nebo pokud je žárovka právě v režimu RGB nebo HSV, hodnota ct není smysluplná a listener skript hlásí Color temperature jako "error". Jde o očekávané chování, ne o chybu.
Změny v aplikaci Yeelight se neprojeví
Šablona reaguje na notifikace props posílané žárovkou, takže externí změny se běžně projeví do sekundy. Pokud ne:
- Notifikace mohla přijít v okamžiku, kdy se TCP socket obnovoval — následující poll (výchozí 10 s) je zresynchronizuje.
- Některé starší firmwary posílají notifikace pouze při aktivně odeslaném příkazu. Aktualizuj firmware žárovky přes aplikaci Yeelight.
- Žárovka možná dosáhla limitu 4 spojení — sniž počet souběžných klientů v LAN.
