
Predložak Yeelight Color proširuje predložak Yeelight, koji podržava samo prigušivanje, potpunim upravljanjem HSB bojama i podesivom bijelom (temperaturom boje). Namijenjen je istoj obitelji pametnih Wi-Fi LED proizvoda (žarulje u boji, trake i stropne svjetiljke) i koristi isti protokol Yeelight Inter-Operation Protocol na TCP portu 55443. Ključna razlika je model uređaja: umjesto jednostavnog dimera predložak daje PacketParserHSBLight, koji sustavu TapHome u jednom uređaju pruža izvorna svojstva nijanse, zasićenosti, svjetline i temperature boje.
TapHome komunicira sa žaruljom izravno u lokalnoj mreži preko JSON-RPC-a, pa nakon uključivanja LAN Control na žarulji nije potrebna veza s oblakom. Predložak očitava svih šest svojstava boje odjednom i reagira na obavijesti props koje šalje žarulja, pa se promjene napravljene u aplikaciji Yeelight ili s drugog upravljača u sustavu TapHome pojavljuju gotovo odmah.
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 boje, svjetline ili uključenosti napravljene u aplikaciji Yeelight, preko adaptera za zidni prekidač ili s drugog upravljača u sustavu TapHome pojavljuju gotovo odmah, bez čekanja na sljedeće očitavanje.
Mogućnosti uređaja
HSB svjetlo u boji (nijansa, zasićenost, svjetlina i uključivanje/isključivanje)
Predložak daje jedno HSB svjetlo. U svakom ciklusu očitavanja šalje zahtjev get_prop za svih šest svojstava odjednom:
| |
Skripta slušatelja raščlanjuje odgovor i preslikava ga na izvorna svojstva TapHome:
- Nijansa (
Hd):result[0], cijeli broj 0–359 stupnjeva - Zasićenost (
Sa):result[1], postotak 0–100, dijeli se sa 100 radi raspona TapHome 0,0–1,0 - Svjetlina (
Hb):result[2], postotak 1–100, dijeli se sa 100 radi raspona TapHome 0,0–1,0 - Uključenost (
St):result[3],"on"se preslikava na 1,"off"na 0 (kada je isključeno, i svjetlina se postavlja na 0) - Temperatura boje (
Ct):result[4], vrijednost u kelvinima postavlja se samo kada jecolor_mode = 2(bijeli način), inače se postavlja naNaN - Način boje:
result[5], određuje upisuje li seCt(1= RGB,2= Temperature,3= HSV)
Prebacivanje načina boje
Predložak prema svojstvu Ct određuje aktivni način boje:
Ct = NaN: žarulja je u načinu boje HSV. Upisi koristeset_hsvza nijansu i zasićenost.Ct = broj: žarulja je u bijelom načinu (temperatura boje). Upisi koristeset_ct_abx.
TapHome ne šalje izričitu naredbu za promjenu načina. Korisnik umjesto toga postavlja temperaturu boje na brojčanu vrijednost kako bi prešao u bijeli način ili je postavlja na NaN (odabirom boje u HSB biraču) kako bi prešao u način HSV. Skripte za upis prije slanja provjeravaju Ct i preskaču nepotrebnu naredbu: writesaturation odmah završava ako Ct nije NaN, a writecct odmah završava ako je Ct NaN.
Naredbe za upis
Tri skripte za upis upravljaju različitim svojstvima svjetla:
- Svjetlina / uključenost (
writebrightness): ako je svjetlina > 0, šaljeset_power ["on","smooth",300], a zatimset_bright [level,"smooth",300]. Ako je svjetlina = 0, šaljeset_power ["off","smooth",300]. - Nijansa i zasićenost (
writesaturation): šaljeset_power ["on","smooth",300], a zatimset_hsv [hue, saturation,"smooth",300]. Izvršava se samo kada jeCt = NaN(način HSV). - Temperatura boje (
writecct): šaljeset_power ["on","smooth",300], a zatimset_ct_abx [ct,"smooth",300]. Izvršava se samo kada jeCtbroj (bijeli način). Valjani raspon: 1700–6500 K (točne granice ovise o modelu žarulje).
Svi upisi koriste postupni prijelaz od 300 ms umjesto naglog skoka. Nakon svakog upisa pomoćna varijabla za odgodu očitavanja (debounce) postavlja se na 1, pa se sljedeći ciklus očitavanja preskače. Tako se izbjegava čitanje zastarjelog stanja dok je žarulja u prijelazu.
Servisna dijagnostika
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 modula. - Temperatura boje: vrijednost u kelvinima prikazana kao
"{ct}K"(na primjer"4000K"). Ima smisla samo kada je žarulja u načinu Temperature.
Ti atributi služe samo za dijagnostiku i samo se čitaju. Stvarno upravljanje temperaturom boje odvija se preko svojstva uređaja Ct i gore opisane skripte writecct.
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":["hue","sat","bright","power","ct","color_mode"]}Ispravna žarulja odgovara s
{"id":1,"result":["<hue>","<sat>","<bright>","<power>","<ct>","<color_mode>"]}.
Naredbe za boju se zanemaruju (nijansa / zasićenost se ne mijenja)
Skripta writesaturation prije slanja set_hsv provjerava Ct. Ako je Ct postavljen na brojčanu vrijednost (bijeli način), skripta završava bez slanja naredbe. Za upravljanje bojom HSV najprije postavite temperaturu boje na NaN odabirom boje u HSB biraču u sustavu TapHome.
Jednako tako writecct završava bez slanja ako je Ct = NaN (način HSV). Za upis temperature boje žarulja već mora biti u bijelom načinu.
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. 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.
- Isključite ili usporite druge integracije koje dijele žarulju.
- Interval očitavanja u sustavu TapHome ostavite na zadanih
10000ms ili više. Predložak za boju šalje jedanget_proppo očitavanju i najviše tri upisaset_*po promjeni, što ostaje 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.
Pogreška upisa HueSat ili temperature boje
Skripta slušatelja prati pogreške upisa zasebno za svaku vrstu naredbe: writeErrorBrightness za upise uključenosti i svjetline, writeErrorHueSat za upise set_hsv i writeErrorCt za upise set_ct_abx. Ako se pojavi pogreška:
- Provjerite je li žarulja uključena. Sve naredbe
set_*osimset_powerprihvaćaju se samo kada je žarulja u stanjuon. - Provjerite je li vrijednost temperature boje unutar raspona za taj model (obično 1700–6500 K za žarulje u boji, 2700–6500 K za stropne svjetiljke, 2700–6000 K za ceiling3).
- U servisnoj dijagnostici TapHome provjerite neobrađenu poruku o pogrešci s konkretnim kodom pogreške koji je vratila žarulja.
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.
Uređaji Yeelight podržavaju samo 4 istodobne TCP veze i 60 naredbi u minuti po vezi. Ako TapHome i drugi sustav (npr. Home Assistant) istodobno očitavaju istu žarulju, komunikacija može postati nepouzdana. Koristite interval očitavanja od 10 sekundi ili više.
