
Szablon Yeelight Color rozszerza szablon tylko ściemniający Yeelight o pełną kontrolę kolorów HSB i regulowaną biel (temperaturę bieli). Celuje w tę samą rodzinę Wi-Fi smart LED — kolorowe żarówki, taśmy i lampy sufitowe — wykorzystując identyczny Yeelight Inter-Operation Protocol na porcie TCP 55443. Kluczowa różnica to model urządzenia: zamiast prostego ściemniacza szablon udostępnia PacketParserHSBLight, który daje TapHome natywne właściwości odcienia, nasycenia, jasności i temperatury bieli w jednym urządzeniu.
TapHome komunikuje się z żarówką bezpośrednio w sieci lokalnej przez JSON-RPC — po włączeniu LAN Control na żarówce połączenie z chmurą nie jest wymagane. Szablon odpytuje wszystkie sześć właściwości kolorów jednocześnie i reaguje na powiadomienia props wysyłane przez żarówkę, więc zmiany z aplikacji Yeelight lub innego kontrolera pojawiają się w TapHome niemal natychmiast.
Połączenie sprzętowe
Żarówki Yeelight są zasilane ze standardowej sieci (typowo E27, E14, GU10 lub zasilacz 24 V do taśm LED w zależności od produktu). Między TapHome a żarówką nie jest potrzebne żadne okablowanie — cała komunikacja odbywa się przez Wi-Fi. Żarówka musi być w tej samej LAN / VLAN co TapHome CCU, ponieważ protokół JSON-RPC nie ma uwierzytelniania ani szyfrowania, a ruch nigdy nie jest kierowany przez chmurę Yeelight.
Protokół LAN Yeelight jest nieszyfrowany. Nie wystawiaj portu TCP 55443 na publiczny internet i umieszczaj żarówki w zaufanym segmencie sieci — każdy z dostępem do LAN może wysyłać polecenia do żarówki.
Konfiguracja
Włączenie LAN Control
LAN Control (w niektórych regionach nazywany Developer Mode) jest domyślnie wyłączony na żarówce. Bez niego połączenia TCP na porcie 55443 są odrzucane.
- Otwórz aplikację mobilną Yeelight i sparuj żarówkę z lokalną siecią Wi-Fi procedurą SmartConfig / QuickConnect, jeśli jeszcze nie jest sparowana.
- Wybierz docelową żarówkę w aplikacji.
- Dotknij ikony ustawień (prawy górny róg) i otwórz LAN Control (w niektórych wersjach firmware oznaczony jako Developer Mode).
- Przełącz LAN Control na ON.
- Zanotuj adres IP żarówki — jest wyświetlany w informacjach o urządzeniu w aplikacji Yeelight lub można go odczytać z tablicy dzierżaw DHCP routera.
Po włączeniu LAN Control żarówka nasłuchuje na porcie TCP 55443 i okresowo ogłasza się przez UDP multicast 239.255.255.250:1982.
Konfiguracja sieci
- Adres IP — szablon TapHome nie wykrywa żarówek automatycznie. Przypisz statyczny IP lub rezerwację DHCP w routerze, aby adres żarówki nie zmieniał się po odnowieniu dzierżawy.
- Ten sam segment LAN — TapHome CCU i żarówka muszą być w tej samej domenie rozgłoszeniowej. Jeśli klienci Wi-Fi i przewodowi są w oddzielnych VLAN, dodaj regułę firewall zezwalającą na TCP 55443 między nimi.
Parametry importu
Podczas importu szablonu w TapHome użytkownik wprowadza trzy wartości:
| Parametr | Opis | Domyślna |
|---|---|---|
ipAddress | Adres IP żarówki Yeelight w LAN | 192.168.0.1 (symbol zastępczy — zastąp prawdziwym IP) |
Port | Port TCP sterowania na żarówce | 55443 |
Internal poll interval | Jak często szablon wysyła get_prop (w milisekundach) | 10000 (10 s) |
Domyślny port 55443 to standardowy port Yeelight LAN Control i nie powinien być zmieniany, chyba że żarówka jest skonfigurowana na niestandardowy port.
Między odpytywaniami szablon reaguje również na powiadomienia
props, które żarówka wysyła przy zmianie stanu. W praktyce oznacza to, że zmiany koloru, jasności i włączania/wyłączania z aplikacji Yeelight, adaptera przełącznika ściennego lub innego kontrolera pojawiają się w TapHome niemal natychmiast, bez czekania na następne odpytanie.
Możliwości urządzenia
Światło kolorowe HSB (odcień, nasycenie, jasność i wł./wył.)
Szablon udostępnia jedno urządzenie światła HSB. W każdym cyklu odpytywania wysyła żądanie get_prop na wszystkie sześć właściwości jednocześnie:
| |
Skrypt listener parsuje odpowiedź i mapuje ją na natywne właściwości TapHome:
- Hue (
Hd) —result[0], liczba całkowita 0–359 stopni - Saturation (
Sa) —result[1], procent 0–100, dzielone przez 100 na zakres TapHome 0,0–1,0 - Brightness (
Hb) —result[2], procent 1–100, dzielone przez 100 na zakres TapHome 0,0–1,0 - Power (
St) —result[3],"on"mapowane na 1,"off"mapowane na 0 (jasność również ustawiana na 0 przy wyłączeniu) - Color temperature (
Ct) —result[4], wartość w Kelvinach ustawiana tylko gdycolor_mode = 2(tryb biały); w przeciwnym razie ustawiana naNaN - Color mode —
result[5], określa czyCtjest zapisywane (1= RGB,2= Temperature,3= HSV)
Przełączanie trybu koloru
Szablon używa właściwości Ct do określenia aktywnego trybu koloru:
Ct = NaN— żarówka jest w trybie koloru HSV. Zapisy używająset_hsvdla odcienia i nasycenia.Ct = liczba— żarówka jest w trybie białym (temperatura bieli). Zapisy używająset_ct_abx.
TapHome nie wysyła jawnego polecenia przełączenia trybu. Zamiast tego użytkownik ustawia temperaturę bieli na warto��ć liczbową, aby wejść w tryb biały, lub ustawia ją na NaN (wybierając kolor w selektorze HSB), aby wejść w tryb HSV. Skrypty zapisu sprawdzają Ct przed wysłaniem i pomijają nieistotne polecenie — writesaturation wraca natychmiast jeśli Ct nie jest NaN, a writecct wraca natychmiast jeśli Ct jest NaN.
Polecenia zapisu
Trzy skrypty zapisu obsługują różne aspekty światła:
- Jasność / zasilanie (
writebrightness) — jeśli jasność > 0, wysyłaset_power ["on","smooth",300]a następnieset_bright [poziom,"smooth",300]. Jeśli jasność = 0, wysyłaset_power ["off","smooth",300]. - Odcień i nasycenie (
writesaturation) — wysyłaset_power ["on","smooth",300]a następnieset_hsv [odcień, nasycenie,"smooth",300]. Uruchamia się tylko gdyCt = NaN(tryb HSV). - Temperatura bieli (
writecct) — wysyłaset_power ["on","smooth",300]a następnieset_ct_abx [ct,"smooth",300]. Uruchamia się tylko gdyCtjest liczbą (tryb biały). Prawidłowy zakres: 1700–6500 K (dokładne limity zależą od modelu żarówki).
Wszystkie zapisy używają 300 ms płynnego przejścia dla łagodnego przyciemnienia zamiast ostrego skoku. Po każdym zapisie zmienna debounce jest ustawiana na 1, co powoduje pominięcie następnego cyklu odpytywania — zapobiega to odczytywaniu nieaktualnego stanu podczas przejścia żarówki.
Diagnostyka usług
Dwa atrybuty usługowe na poziomie modułu są odczytywane przez oddzielne żądanie get_prop (id=981):
- Tryb koloru —
RGB,TemperaturelubHSV, dekodowany z numerycznej właściwościcolor_mode(1 / 2 / 3) za pomocą wyrażeniaSWITCHw skrypcie listener modułu. - Temperatura bieli — wartość w Kelvinach raportowana jako
"{ct}K"(na przykład"4000K"). Znacząca tylko gdy żarówka jest w trybie Temperature.
Te atrybuty to diagnostyka tylko do odczytu — faktyczna kontrola temperatury bieli odbywa się przez właściwość Ct na poziomie urządzenia i opisany powyżej skrypt writecct.
Rozwiązywanie problemów
Żarówka nie reaguje na polecenia
Sprawdź, czy LAN Control jest włączony na żarówce (aplikacja Yeelight → ustawienia żarówki → LAN Control). Bez niego żarówka odrzuca wszystkie połączenia TCP na porcie 55443.
Potwierdź IP żarówki w aplikacji Yeelight lub w tablicy dzierżaw DHCP routera i upewnij się, że odpowiada parametrowi importu
ipAddress. Żarówki Yeelight domyślnie nie utrzymują stałego IP — dzierżawa mogła wygasnąć i IP się zmienić.Przypisz żarówce statyczny IP lub rezerwację DHCP, aby zapobiec zmianie adresu.
Sprawdź, czy TapHome CCU i żarówka są w tej samej LAN / VLAN i czy TCP
55443nie jest blokowany przez firewall między nimi.Przetestuj łączność ręcznie:
telnet {bulb-ip} 55443i wyślij surowe żądanie zakończone\r\n:1{"id":1,"method":"get_prop","params":["hue","sat","bright","power","ct","color_mode"]}Działająca żarówka odpowiada
{"id":1,"result":["<hue>","<sat>","<bright>","<power>","<ct>","<color_mode>"]}.
Polecenia kolorów są ignorowane (odcień/nasycenie się nie zmienia)
Skrypt writesaturation sprawdza Ct przed wysłaniem set_hsv. Jeśli Ct jest ustawione na wartość liczbową (tryb biały), skrypt wraca bez wysyłania jakiegokolwiek polecenia. Aby sterować kolorem HSV, najpierw ustaw temperaturę bieli na NaN, wybierając kolor w selektorze HSB TapHome.
Podobnie writecct wraca bez wysyłania jeśli Ct = NaN (tryb HSV). Aby zapisać temperaturę bieli, żarówka musi już być w trybie białym.
Błąd odczytu: client quota exceeded
Każde połączenie TCP z żarówką Yeelight jest ograniczone do 60 poleceń na minutę, a żarówka akceptuje maksymalnie 4 jednoczesne połączenia łącznie. Jeśli inny system odpytuje żarówkę jednocześnie — Home Assistant, sesja chmury Yeelight, własny skrypt — łączny ruch może wyzwolić błędy limitu szybkości.
- Wyłącz lub spowolnij inne integracje współdzielące żarówkę.
- Pozostaw interwał odpytywania TapHome na domyślnych
10000ms lub wyższych. Szablon kolorowy wysyła jednoget_propna odpytanie plus do trzech zapisówset_*na zmianę, co jest znacznie poniżej kwoty 60 cmd/min. - Zamknij nieużywane sesje debug
telnet— wliczają się do limitu 4 połączeń.
Błąd zapisu HueSat lub temperatury bieli
Skrypt listener śledzi błędy zapisu oddzielnie dla każdego typu polecenia — writeErrorBrightness dla zapisów zasilania/jasności, writeErrorHueSat dla zapisów set_hsv i writeErrorCt dla zapisów set_ct_abx. Jeśli pojawi się błąd:
- Potwierdź, że żarówka jest włączona — wszystkie polecenia
set_*opróczset_powersą akceptowane tylko gdy żarówka jest w stanieon. - Sprawdź, czy wartość temperatury bieli jest w zakresie specyficznym dla modelu (typowo 1700–6500 K dla kolorowych żarówek, 2700–6500 K dla lamp sufitowych, 2700–6000 K dla ceiling3).
- Sprawdź surową wiadomość błędu w diagnostyce usług TapHome dla konkretnego kodu błędu zwróconego przez żarówkę.
Zmiany z aplikacji Yeelight nie są widoczne
Szablon reaguje na powiadomienia props wysyłane przez żarówkę, więc zewnętrzne zmiany normalnie pojawiają się w ciągu sekundy. Jeśli nie:
- Powiadomienie mogło nadejść podczas ponownego ustanawiania gniazda TCP — następne odpytanie (domyślnie 10 s) zsynchronizuje stan.
- Niektóre starsze wersje firmware wysyłają powiadomienia tylko gdy aktywnie wysyłane jest polecenie. Zaktualizuj firmware żarówki z aplikacji Yeelight.
- Żarówka mogła osiągnąć limit 4 poł��czeń — zmniejsz liczbę jednoczesnych klientów w LAN.
Urządzenia Yeelight obsługują tylko 4 jednoczesne połączenia TCP i 60 poleceń na minutę na połączenie. Jeśli TapHome i inny system (np. Home Assistant) odpytują tę samą żarówkę jednocześnie, komunikacja może stać się zawodna. Używaj interwału odpytywania 10 sekund lub wyższego.
