
Yeelight je marka pametne Wi-Fi LED rasvjete (jednobojne žarulje, žarulje s podesivom bijelom, žarulje u boji, LED trake i stropne svjetiljke) tvrtke Qingdao Yeelink (dio ekosustava Xiaomi). Svaki proizvod Yeelight s podrškom za LAN koristi isti JSON-RPC protokol Inter-Operation Protocol na TCP portu 55443, pa jedan predložak TapHome pokriva cijelu obitelj.
Predložak daje dimer: svjetlinu (0–100 %) i uključivanje i isključivanje s postupnim prijelazima. Trenutačni način boje i temperatura boje prikazuju se kao servisni atributi samo za čitanje. TapHome komunicira sa žaruljom izravno u lokalnoj mreži, pa nakon uključivanja LAN Control na žarulji nije potreban račun u oblaku Yeelight.
Hardversko spajanje
Žarulje Yeelight napajaju se iz standardne mreže (ovisno o proizvodu najčešće grla E27, E14, GU10 ili napajanje trake 24 V). Između sustava TapHome i žarulje nije potrebno nikakvo ožičenje, sva komunikacija ide preko Wi-Fi mreže. Žarulja mora biti u istoj lokalnoj mreži / VLAN-u kao centralna jedinica TapHome (CCU), jer protokol JSON-RPC nema provjeru autentičnosti ni šifriranje, a promet nikada ne ide preko oblaka Yeelight.
Lokalni protokol Yeelight nije šifriran. TCP port 55443 nemojte izlagati javnom internetu, a žarulje postavite u pouzdani segment mreže. Svatko s pristupom lokalnoj mreži može žarulji slati naredbe.
Konfiguracija
Uključivanje LAN Control
LAN Control (u nekim regijama naziva se i Developer Mode) na žarulji je prema zadanim postavkama isključen. Bez njega žarulja odbija TCP veze na portu 55443.
- Otvorite mobilnu aplikaciju Yeelight i, ako žarulja još nije uparena, uparite je s lokalnom Wi-Fi mrežom postupkom SmartConfig / QuickConnect.
- U aplikaciji odaberite željenu žarulju.
- Dodirnite ikonu postavki (gore desno) i otvorite LAN Control (u nekim verzijama firmvera naziva se Developer Mode).
- Prebacite LAN Control na ON.
- Zapišite IP adresu žarulje. Prikazuje se u informacijama o uređaju u aplikaciji Yeelight, a može se pročitati i iz tablice DHCP zakupa na usmjerivaču.
Nakon uključivanja LAN Control žarulja sluša na TCP portu 55443 i povremeno se oglašava preko UDP multicasta 239.255.255.250:1982.
Mrežne postavke
- IP adresa: predložak TapHome ne pronalazi žarulje automatski. Na usmjerivaču dodijelite statičku IP adresu ili DHCP rezervaciju kako se adresa žarulje ne bi promijenila nakon obnove zakupa.
- Isti segment lokalne mreže: centralna jedinica TapHome i žarulja moraju biti u istoj domeni emitiranja. Ako su Wi-Fi i žičani klijenti u odvojenim VLAN-ovima, dodajte pravilo vatrozida koje između njih dopušta TCP 55443.
Parametri uvoza
Pri uvozu predloška u TapHome korisnik unosi tri vrijednosti:
| Parametar | Opis | Zadano |
|---|---|---|
ipAddress | IP adresa žarulje Yeelight u lokalnoj mreži | 192.168.0.1 (privremena vrijednost, zamijenite stvarnom IP adresom) |
Port | TCP port za upravljanje na žarulji | 55443 |
Internal poll interval | Koliko često predložak šalje get_prop (u milisekundama) | 10000 (10 s) |
Zadani port 55443 standardni je port za Yeelight LAN Control i ne treba ga mijenjati, osim ako je žarulja konfigurirana za nestandardni port.
Između dva očitavanja predložak reagira i na obavijesti
propskoje žarulja šalje pri svakoj promjeni stanja. U praksi to znači da se promjene svjetline ili uključenosti napravljene u aplikaciji Yeelight, preko adaptera za zidni prekidač ili iz druge instance Home Assistanta u sustavu TapHome pojavljuju gotovo odmah, bez čekanja na sljedeće očitavanje.
Mogućnosti uređaja
Dimer (svjetlina i uključivanje/isključivanje)
Predložak daje jedan dimer. Pri svakom očitavanju šalje:
| |
i raščlanjuje odgovor result[0] (svjetlina 1–100, dijeli se sa 100 radi raspona TapHome 0,0–1,0) i result[1] ("on" / "off").
Upisi se pretvaraju u dvije JSON-RPC naredbe:
- Ako je ciljna razina veća od nule, predložak šalje
set_power ["on","smooth",300], a zatimset_bright [round(level*100),"smooth",500]. Prijelaz uključivanja od 300 ms i prijelaz svjetline od 500 ms daju postupni prijelaz umjesto naglog skoka. - Ako je ciljna razina nula, predložak šalje
set_power ["off","smooth",300].
Dimer obrađuje i obavijesti props koje šalje žarulja (uključenost / svjetlina), pa se vanjske promjene stanja u sustavu TapHome prikazuju bez čekanja na sljedeći ciklus očitavanja.
Način boje i temperatura boje (samo za čitanje)
Dva servisna atributa na razini modula čitaju se posebnim zahtjevom get_prop (id=981):
- Način boje:
RGB,TemperatureiliHSV, dekodiran iz brojčanog svojstvacolor_mode(1 / 2 / 3) izrazomSWITCHu skripti slušatelja. - Temperatura boje: vrijednost u kelvinima prikazana kao
"{ct}K"(na primjer"4000K"). Ima smisla samo kada je žarulja u načinu Temperature. Uobičajeni raspon ovisi o modelu: 1700–6500 K za žarulje i trake u boji, 2700–6500 K za stropne svjetiljke (ceiling3 najviše 6000 K).
Oba atributa služe samo za dijagnostiku. Predložak ne mijenja način boje i ne upisuje novu temperaturu boje.
Dodatne mogućnosti
Lokalni protokol Yeelight nudi i upravljanje bojom RGB i HSV (set_rgb, set_hsv), upravljanje temperaturom boje (set_ct_abx), programe izmjene boja (start_cf / stop_cf), unaprijed definirane scene (set_scene), mjerače vremena za isključivanje u samom uređaju (cron_add), upravljanje pozadinskim svjetlom na svjetiljkama s dva izvora svjetla (metode bg_*) i glazbeni način (set_music, obrnuti TCP kanal koji zaobilazi ograničenje broja naredbi). Ništa od toga trenutačni predložak TapHome za dimer ne podržava. Korisnici kojima trebaju sve boje ili efekti moraju proširiti predložak ili paralelno koristiti izvornu aplikaciju Yeelight.
Boja, temperatura boje i scene mogu se dodati u budućem ažuriranju predloška preko istog TCP kanala. Skripte PacketParser za čitanje i upis mogu se proširiti tako da šalju
set_ct_abx,set_rgbiliset_scenebez promjene parametara uvoza.
Rješavanje problema
Žarulja ne reagira na naredbe
Provjerite je li na žarulji uključen LAN Control (aplikacija Yeelight → postavke žarulje → LAN Control). Bez njega žarulja odbija sve TCP veze na portu 55443.
Provjerite IP adresu žarulje u aplikaciji Yeelight ili u tablici DHCP zakupa na usmjerivaču i uvjerite se da odgovara parametru uvoza
ipAddress. Žarulje Yeelight prema zadanim postavkama nemaju fiksnu IP adresu, pa je zakup možda istekao i IP adresa se promijenila.Žarulji dodijelite statičku IP adresu ili DHCP rezervaciju kako se adresa ne bi mijenjala.
Provjerite jesu li centralna jedinica TapHome i žarulja u istoj lokalnoj mreži / VLAN-u te propušta li vatrozid TCP
55443između njih.Ručno testirajte vezu:
telnet {bulb-ip} 55443i pošaljite neobrađeni zahtjev završen s\r\n:1{"id":1,"method":"get_prop","params":["bright","power"]}Ispravna žarulja odgovara s
{"id":1,"result":["<bright>","<power>"]}.
Read error: client quota exceeded
Svaka TCP veza sa žaruljom Yeelight ograničena je na 60 naredbi u minuti, a žarulja ukupno prihvaća najviše 4 istodobne veze (144 naredbe u minuti za cijelu lokalnu mrežu). Ako žarulju u isto vrijeme očitava i drugi sustav (Home Assistant, sesija oblaka Yeelight, vlastita skripta), zajednički promet može izazvati pogreške ograničenja koje TapHome prikazuje kao Read error: client quota exceeded.
- Isključite ili usporite druge integracije koje dijele žarulju.
- Interval očitavanja u sustavu TapHome ostavite na zadanih
10000ms ili više. Jedanget_propi dva upisaset_*po promjeni ostaju daleko ispod ograničenja od 60 naredbi u minuti. - Zatvorite nekorištene
telnetsesije za otklanjanje pogrešaka jer se ubrajaju u ograničenje od 4 veze.
Servisni atribut temperature boje prikazuje „error”
Servisni atributi Način boje i Temperatura boje čitaju sa žarulje color_mode i ct. Ako je žarulja jednobojni model (samo bijelo svjetlo) bez podesive bijele ili je trenutačno u načinu RGB ili HSV, vrijednost ct nema smisla i skripta slušatelja za temperaturu boje prikazuje "error". To je očekivano ponašanje i ne znači kvar.
Promjene napravljene u aplikaciji Yeelight ne prikazuju se
Predložak reagira na obavijesti props koje šalje žarulja, pa se vanjske promjene obično prikažu u roku od jedne sekunde. Ako se ne prikažu:
- Obavijest je možda stigla dok se TCP veza ponovno uspostavljala. Sljedeće očitavanje (zadano 10 s) ponovno će uskladiti stanje.
- Neke starije verzije firmvera šalju obavijesti samo dok se aktivno šalje naredba. Ažurirajte firmver žarulje u aplikaciji Yeelight.
- Žarulja je možda dosegnula ograničenje od 4 veze. Smanjite broj istodobnih klijenata u lokalnoj mreži.
