
Yeelight to marka inteligentnego oświetlenia LED Wi-Fi — żarówek jednokolorowych, żarówek z regulowaną bielą i pełnokolorowych, taśm LED oraz lamp sufitowych — wydawanego przez Qingdao Yeelink (część ekosystemu Xiaomi). Każdy produkt Yeelight z obsługą LAN komunikuje się tym samym protokołem JSON-RPC Inter-Operation Protocol na porcie TCP 55443, dlatego jeden szablon TapHome obsługuje całą rodzinę produktów.
Szablon udostępnia urządzenie typu ściemniacz: jasność (0–100 %) oraz włączanie/wyłączanie z płynnymi przejściami. Aktualny tryb koloru i temperatura bieli są raportowane jako atrybuty serwisowe tylko do odczytu. TapHome komunikuje się z żarówką bezpośrednio w sieci lokalnej — po włączeniu LAN Control nie jest wymagane konto w chmurze Yeelight.
Połączenie sprzętowe
Żarówki Yeelight są zasilane ze standardowej sieci (zazwyczaj E27, E14, GU10 lub zasilacz 24 V do taśm LED — zależnie od produktu). Między TapHome a żarówką nie jest potrzebne żadne okablowanie — cała komunikacja odbywa się przez Wi-Fi. Żarówka musi znajdować się w tym samym LAN / VLAN co CCU TapHome, ponieważ protokół JSON-RPC nie używa uwierzytelniania ani szyfrowania, a ruch nigdy nie jest routowany przez chmurę Yeelight.
Protokół LAN Yeelight jest nieszyfrowany. Nie wystawiaj portu TCP 55443 do publicznego internetu i umieść żarówki w zaufanym segmencie sieci — każdy, kto ma dostęp do LAN, może wysyłać polecenia do żarówki.
Konfiguracja
Włączanie LAN Control
LAN Control (w niektórych regionach nazywany Developer Mode) jest domyślnie wyłączony w żarówce. Bez niego żarówka odrzuca połączenia TCP na porcie 55443.
- Otwórz aplikację mobilną Yeelight i sparuj żarówkę z lokalną siecią Wi-Fi procedurą SmartConfig / QuickConnect, jeśli jeszcze tego nie zrobiono.
- Wybierz docelową żarówkę w aplikacji.
- Dotknij ikony ustawień (prawy górny róg) i otwórz LAN Control (w niektórych wersjach firmware występuje pod nazwą Developer Mode).
- Przełącz LAN Control na ON.
- Zapisz adres IP żarówki — jest on widoczny w informacjach o urządzeniu w aplikacji Yeelight lub można go odczytać z tabeli dzierżaw DHCP routera.
Po włączeniu LAN Control żarówka nasłuchuje na porcie TCP 55443 i okresowo ogłasza się przez multicast UDP 239.255.255.250:1982.
Konfiguracja sieci
- Adres IP — szablon TapHome nie wykrywa żarówek automatycznie. Przypisz żarówce statyczny IP lub rezerwację DHCP w routerze, aby adres nie zmienił się po odnowieniu dzierżawy.
- Ten sam segment LAN — CCU TapHome i żarówka muszą być w tej samej domenie rozgłoszeniowej. Jeśli klienci Wi-Fi i przewodowi są w różnych VLAN-ach, dodaj regułę firewall zezwalającą na TCP 55443 między nimi.
Parametry importu
Podczas importu szablonu w TapHome użytkownik podaje trzy wartości:
| Parametr | Opis | Wartość domyślna |
|---|---|---|
ipAddress | Adres IP żarówki Yeelight w LAN | 192.168.0.1 (placeholder — zastąp rzeczywistym IP) |
Port | Port TCP sterowania żarówką | 55443 |
Internal poll interval | Jak często szablon wysyła get_prop (w milisekundach) | 10000 (10 s) |
Domyślny port 55443 jest standardowym portem LAN Control Yeelight i nie powinien być zmieniany, chyba że żarówka została skonfigurowana na niestandardowy port.
Między pollami szablon reaguje również na powiadomienia
props, które żarówka wysyła sama przy każdej zmianie stanu. W praktyce oznacza to, że zmiany jasności lub włączenia/wyłączenia wykonane z aplikacji Yeelight, włącznika ściennego lub innej instancji Home Assistant pojawiają się w TapHome niemal natychmiast, bez czekania na kolejny poll.
Możliwości urządzenia
Ściemniacz (jasność i włącz/wyłącz)
Szablon udostępnia jedno urządzenie ściemniacza. Przy każdym pollu wysyła:
| |
i parsuje odpowiedź result[0] (jasność 1–100, dzielona przez 100 na zakres TapHome 0.0–1.0) oraz result[1] ("on" / "off").
Zapisy są tłumaczone na dwa polecenia JSON-RPC:
- Jeśli poziom docelowy jest większy od zera, szablon wysyła
set_power ["on","smooth",300], a następnieset_bright [round(level*100),"smooth",500]. Przejście 300 ms dla zasilania i 500 ms dla jasności dają płynny fade zamiast twardego skoku. - Jeśli poziom docelowy wynosi zero, szablon wysyła
set_power ["off","smooth",300].
Ściemniacz obsługuje również powiadomienia props wysyłane przez żarówkę (power / brightness), dlatego zewnętrzne zmiany stanu są odzwierciedlane w TapHome bez czekania na kolejny poll.
Tryb koloru i temperatura bieli (tylko do odczytu)
Dwa atrybuty serwisowe na poziomie modułu są odczytywane osobnym żądaniem get_prop (id=981):
- Color mode —
RGB,TemperaturelubHSV, dekodowany z liczbowej właściwościcolor_mode(1 / 2 / 3) przez wyrażenieSWITCHw skrypcie listenera. - Color temperature — wartość w Kelvinach raportowana jako
"{ct}K"(np."4000K"). Ma sens tylko wtedy, gdy żarówka jest w trybie Temperature. Typowy, zależny od modelu zakres: 1700–6500 K dla żarówek i taśm kolorowych, 2700–6500 K dla lamp sufitowych (ceiling3 ograniczony do 6000 K).
Oba atrybuty mają charakter wyłącznie diagnostyczny — szablon nie przełącza trybu koloru i nie zapisuje nowej temperatury bieli.
Dodatkowe możliwości
Protokół LAN Yeelight oferuje również sterowanie kolorem RGB i HSV (set_rgb, set_hsv), ustawianie temperatury bieli (set_ct_abx), programy color flow (start_cf / stop_cf), predefiniowane sceny (set_scene), timery usypiania w żarówce (cron_add), sterowanie światłem tła w lampach dwuświatłowych (metody bg_*) oraz music mode (set_music, kanał reverse-TCP pomijający limit przepustowości). Żadna z tych funkcji nie jest implementowana przez obecny szablon ściemniacza TapHome — użytkownicy, którzy potrzebują pełnego koloru lub efektów, muszą rozszerzyć szablon albo równolegle korzystać z natywnej aplikacji Yeelight.
Kolor, temperaturę bieli oraz sceny można dodać w przyszłej aktualizacji szablonu na tym samym kanale TCP. Skrypty odczytu i zapisu PacketParser można rozszerzyć o
set_ct_abx,set_rgblubset_scenebez zmiany parametrów importu.
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.
Zweryfikuj adres IP żarówki w aplikacji Yeelight lub w tabeli dzierżaw DHCP routera i upewnij się, że zgadza się z parametrem importu
ipAddress. Żarówki Yeelight nie utrzymują domyślnie stałego IP — dzierżawa mogła wygasnąć i adres mógł się zmienić.Przypisz żarówce statyczny IP lub rezerwację DHCP, aby adres się nie zmieniał.
Sprawdź, że CCU TapHome i żarówka są w tym samym LAN / VLAN oraz że port TCP
55443nie jest blokowany przez firewall między nimi.Przetestuj połączenie ręcznie:
telnet {bulb-ip} 55443i wyślij surowy request zakończony\r\n:1{"id":1,"method":"get_prop","params":["bright","power"]}Poprawnie działająca żarówka odpowie
{"id":1,"result":["<bright>","<power>"]}.
Read error: client quota exceeded
Każde połączenie TCP do żarówki Yeelight jest ograniczone do 60 poleceń na minutę, a żarówka przyjmuje maksymalnie 4 jednoczesne połączenia (łącznie 144 polecenia/minutę w całej sieci LAN). Jeśli inny system odpytuje żarówkę równolegle — Home Assistant, sesja chmurowa Yeelight, własny skrypt — połączony ruch może wywołać błędy rate-limit, które TapHome zgłasza jako Read error: client quota exceeded.
- Wyłącz lub zwolnij inne integracje, które korzystają z tej samej żarówki.
- Pozostaw interwał pollingu w TapHome na domyślnej wartości
10000ms lub wyższej. Jedenget_propplus dwa zapisyset_*na zmianę bezpiecznie mieszczą się w limicie 60 poleceń/minutę. - Zamknij nieużywane sesje debugowe
telnet— liczą się one do limitu 4 połączeń.
Atrybut serwisowy Color temperature pokazuje “error”
Atrybuty Color mode i Color temperature odczytują color_mode i ct z żarówki. Jeśli jest to model mono (tylko biel), który nie obsługuje regulowanej bieli, albo żarówka jest właśnie w trybie RGB lub HSV, wartość ct nie jest sensowna i skrypt listenera raportuje Color temperature jako "error". Jest to zachowanie oczekiwane, a nie usterka.
Zmiany wprowadzone w aplikacji Yeelight nie są odzwierciedlane
Szablon reaguje na powiadomienia props wysyłane przez żarówkę, więc zmiany zewnętrzne zwykle pojawiają się w ciągu sekundy. Jeśli nie:
- Powiadomienie mogło dotrzeć w momencie ponownego nawiązywania połączenia TCP — kolejny poll (domyślnie 10 s) zresynchronizuje stan.
- Niektóre starsze wersje firmware wysyłają powiadomienia tylko po wysłaniu aktywnego polecenia. Zaktualizuj firmware żarówki z aplikacji Yeelight.
- Żarówka mogła osiągnąć limit 4 połączeń — zmniejsz liczbę jednoczesnych klientów w LAN.
