---
title: "Yeelight"
description: "Stmievanie a spínanie Yeelight Wi-Fi LED žiaroviek, pásov a stropných svietidiel cez JSON-RPC v LAN. Šablóna TapHome pre Yeelight LAN Control."
url: "https://taphome.com/sk/compatibility/yeelight/"
language: sk
lastmod: 2026-04-15
generator: hugo
ai:
  topics: ["data-pp","lighting","wifi","json-rpc","lan-control","dimmer"]
  questions: ["Ako integrovať Yeelight žiarovku s TapHome?","Čo ovláda šablóna Yeelight v TapHome?","Ako zapnúť LAN Control / Developer Mode na Yeelight žiarovke?","Môže TapHome meniť farbu alebo teplotu bielej Yeelight žiarovky?","Prečo Yeelight žiarovka nereaguje na príkazy z TapHome?","Prečo niektoré Yeelight príkazy zlyhávajú s chybou \"client quota exceeded\"?"]
---

# Yeelight

Komunikácia: Packet Parser → TCP

- [Yeelight Developer Portal](https://www.yeelight.com/en_US/developer)
- [Yeelight LAN Control FAQ](https://www.yeelight.com/faqs/lan_control)

> Adresa v sieti
> 
> TapHome komunikuje so zariadením na adrese zadanej pri importe. Dajte zariadeniu stálu adresu — rezerváciu IP v routeri, alebo jeho mDNS meno, ak ho podporuje —, inak integrácia prestane fungovať, keď router adresu zmení.
> 
> [Príprava siete](https://taphome.com/sk/docs/setup/network-preparation/)

## Návod na integráciu

Yeelight je značka Wi-Fi inteligentných LED svietidiel — jednofarebných žiaroviek, žiaroviek s nastaviteľnou bielou a plnofarebných žiaroviek, LED pásov a stropných svietidiel — ktoré vyrába spoločnosť Qingdao Yeelink (súčasť ekosystému Xiaomi). Každý Yeelight produkt s podporou LAN používa rovnaký JSON-RPC protokol **Inter-Operation Protocol** na TCP porte **55443**, takže jedna šablóna TapHome pokrýva celú produktovú rodinu.

Šablóna sprístupňuje zariadenie typu stmievač: jas (0–100 %) a zapnutie/vypnutie s plynulými prechodmi. Aktuálny farebný režim a teplota bielej sa zobrazujú ako servisné atribúty len na čítanie. TapHome komunikuje so žiarovkou priamo v lokálnej sieti — po zapnutí LAN Control na žiarovke nie je potrebný účet v cloude Yeelight.

## Hardvérové pripojenie

Yeelight žiarovky sa napájajú zo štandardnej siete (typicky E27, E14, GU10 alebo 24 V zdroj pre LED pásy — podľa produktu). Medzi TapHome a žiarovkou nie je potrebná žiadna kabeláž — celá komunikácia prebieha cez Wi-Fi. Žiarovka musí byť v **rovnakej LAN / VLAN** ako TapHome CCU, pretože JSON-RPC protokol nepoužíva autentifikáciu ani šifrovanie a komunikácia nikdy neprechádza cez cloud Yeelight.

> [!WARNING]
> LAN protokol Yeelight je nezašifrovaný. Nevystavuj TCP port 55443 do verejného internetu a umiestni žiarovky do dôveryhodného sieťového segmentu — ktokoľvek s prístupom do LAN môže žiarovke posielať príkazy.

## Konfigurácia

### Zapnutie LAN Control

LAN Control (v niektorých regiónoch označovaný ako **Developer Mode**) je na žiarovke predvolene vypnutý. Bez neho žiarovka odmieta TCP pripojenia na porte 55443.

1. Otvor mobilnú aplikáciu **Yeelight** a spáruj žiarovku s lokálnou Wi-Fi sieťou cez SmartConfig / QuickConnect, ak ešte nie je spárovaná.
2. Vyber cieľovú žiarovku v aplikácii.
3. Ťukni na ikonu nastavení (vpravo hore) a otvor **LAN Control** (v niektorých firmvéroch označené ako **Developer Mode**).
4. Prepni **LAN Control** na ON.
5. Poznač si IP adresu žiarovky — zobrazuje sa v informáciách o zariadení v aplikácii Yeelight alebo ju možno zistiť z tabuľky DHCP leases na routeri.

Po zapnutí LAN Control žiarovka počúva na TCP porte `55443` a pravidelne sa inzeruje cez UDP multicast `239.255.255.250:1982`.

### Sieťová konfigurácia

- **IP adresa** — šablóna TapHome nerobí automatické vyhľadávanie žiaroviek. Prideľ žiarovke **statickú IP** alebo **DHCP rezerváciu** v routeri, aby sa adresa po obnove lease nezmenila.
- **Rovnaký LAN segment** — TapHome CCU a žiarovka musia byť v tej istej broadcast doméne. Ak sú Wi-Fi a drôtoví klienti v rôznych VLAN, pridaj firewall pravidlo povoľujúce TCP 55443 medzi nimi.

### Importné parametre

Počas importu šablóny v TapHome používateľ zadáva tri hodnoty:

| Parameter | Popis | Predvolená hodnota |
|-----------|-------|---------------------|
| `ipAddress` | IP adresa Yeelight žiarovky v LAN | `192.168.0.1` (placeholder — nahraď skutočnou IP) |
| `Port` | TCP ovládací port žiarovky | `55443` |
| `Internal poll interval` | Interval, v akom šablóna posiela `get_prop` (v milisekundách) | `10000` (10 s) |

Predvolený port `55443` je štandardný Yeelight LAN Control port a nemal by sa meniť, pokiaľ žiarovka nebola nakonfigurovaná na neštandardný port.

> [!TIP]
> Medzi pollmi šablóna tiež reaguje na notifikácie `props`, ktoré žiarovka sama posiela pri každej zmene stavu. V praxi to znamená, že zmeny jasu alebo zapnutia/vypnutia vykonané z aplikácie Yeelight, nástenného spínača alebo inej inštancie Home Assistant sa v TapHome prejavia takmer okamžite, bez čakania na ďalší poll.

## Možnosti zariadenia

### Stmievač (jas a zapnutie/vypnutie)

Šablóna sprístupňuje jedno stmievačové zariadenie. Pri každom polli posiela:

```json
{"id":951,"method":"get_prop","params":["bright","power"]}
```

a spracuje odpoveď `result[0]` (jas 1–100, delený 100 na rozsah TapHome 0.0–1.0) a `result[1]` (`"on"` / `"off"`).

Zápisy sa prekladajú na dva JSON-RPC príkazy:

- Ak je cieľová úroveň väčšia ako nula, šablóna pošle `set_power ["on","smooth",300]` a následne `set_bright [round(level*100),"smooth",500]`. 300 ms prechod pre zapnutie a 500 ms prechod pre jas poskytujú jemný fade namiesto tvrdého skoku.
- Ak je cieľová úroveň nula, šablóna pošle `set_power ["off","smooth",300]`.

Stmievač tiež spracováva notifikácie `props` posielané žiarovkou (power / brightness), takže externé zmeny stavu sa v TapHome prejavia bez čakania na ďalší poll.

### Farebný režim a teplota bielej (len na čítanie)

Dva servisné atribúty na úrovni modulu sa čítajú samostatným `get_prop` požiadavkom (`id=981`):

- **Color mode** — `RGB`, `Temperature` alebo `HSV`, dekódované z číselnej vlastnosti `color_mode` (1 / 2 / 3) pomocou výrazu `SWITCH` v listener skripte.
- **Color temperature** — hodnota v Kelvinoch reportovaná ako `"{ct}K"` (napríklad `"4000K"`). Zmysluplná len vtedy, keď je žiarovka v režime Temperature. Typický rozsah podľa modelu: **1700–6500 K** pre farebné žiarovky a pásy, **2700–6500 K** pre stropné svietidlá (ceiling3 je obmedzený na 6000 K).

Oba atribúty sú len diagnostické — šablóna nedokáže prepnúť farebný režim ani zapísať novú teplotu bielej.

### Ďalšie možnosti

Yeelight LAN protokol tiež ponúka ovládanie farieb RGB a HSV (`set_rgb`, `set_hsv`), nastavenie teploty bielej (`set_ct_abx`), programy farebných zmien (`start_cf` / `stop_cf`), preddefinované scény (`set_scene`), časovače spánku na žiarovke (`cron_add`), ovládanie zadného svetla na dvojsvetelných svietidlách (`bg_*` metódy) a music mode (`set_music`, reverzný TCP kanál obchádzajúci limit rýchlosti). Žiadnu z týchto funkcií súčasná TapHome šablóna stmievača neimplementuje — používatelia, ktorí potrebujú plnú farbu alebo efekty, musia šablónu rozšíriť alebo používať súbežne natívnu Yeelight aplikáciu.

> [!TIP]
> Farbu, teplotu bielej a scény je možné pridať v budúcej aktualizácii šablóny cez ten istý TCP kanál. Read/write skripty PacketParser je možné rozšíriť o `set_ct_abx`, `set_rgb` alebo `set_scene` bez zmeny importných parametrov.

## Riešenie problémov

### Žiarovka nereaguje na príkazy

1. Over, že **LAN Control** je na žiarovke zapnutý (Yeelight app → nastavenia žiarovky → LAN Control). Bez neho žiarovka odmieta všetky TCP pripojenia na porte 55443.
2. Skontroluj IP adresu žiarovky v aplikácii Yeelight alebo v DHCP tabuľke routera a uisti sa, že sa zhoduje s importným parametrom `ipAddress`. Yeelight žiarovky predvolene nemajú pevnú IP — lease mohol expirovať a adresa sa zmenila.
3. Prideľ žiarovke statickú IP alebo DHCP rezerváciu, aby sa adresa nemenila.
4. Skontroluj, že TapHome CCU a žiarovka sú v rovnakej LAN / VLAN a že TCP `55443` nie je blokovaný firewallom medzi nimi.
5. Otestuj pripojenie manuálne: `telnet {bulb-ip} 55443` a pošli surový request ukončený `\r\n`:

   ```json
   {"id":1,"method":"get_prop","params":["bright","power"]}
   ```

   Platná žiarovka odpovie `{"id":1,"result":["<bright>","<power>"]}`.

### Read error: client quota exceeded

Každé TCP pripojenie k Yeelight žiarovke je obmedzené na **60 príkazov za minútu** a žiarovka akceptuje maximálne **4 súčasné pripojenia** (spolu 144 príkazov/minútu v celej LAN). Ak žiarovku súčasne polluje iný systém — Home Assistant, cloudová session Yeelight, vlastný skript — spojená premávka môže spôsobiť chyby rate-limitu, ktoré sa v TapHome hlásia ako `Read error: client quota exceeded`.

1. Vypni alebo spomaľ ostatné integrácie, ktoré zdieľajú žiarovku.
2. Ponechaj interval pollu v TapHome na predvolenej hodnote `10000` ms alebo vyššej. Jeden `get_prop` plus dva `set_*` zápisy na zmenu bezpečne zostávajú pod kvótou 60 príkazov/minútu.
3. Zavri nepoužívané `telnet` debug sessions — tie sa počítajú do limitu 4 pripojení.

### Servisný atribút Color temperature ukazuje "error"

Servisné atribúty Color mode a Color temperature čítajú `color_mode` a `ct` zo žiarovky. Ak ide o **mono** model (iba biela), ktorý nepodporuje nastaviteľnú bielu, alebo ak je žiarovka práve v režime RGB alebo HSV, hodnota `ct` nie je zmysluplná a listener skript hlási Color temperature ako `"error"`. Ide o očakávané správanie, nie o chybu.

### Zmeny v aplikácii Yeelight sa neprejavujú

Šablóna reaguje na notifikácie `props` posielané žiarovkou, takže externé zmeny sa bežne prejavia do sekundy. Ak nie:

1. Notifikácia mohla prísť v čase, keď sa TCP socket obnovoval — nasledujúci poll (predvolene 10 s) ich zosynchronizuje.
2. Niektoré staršie firmvéry posielajú notifikácie iba pri aktívne odoslanom príkaze. Aktualizuj firmvér žiarovky cez aplikáciu Yeelight.
3. Žiarovka možno dosiahla limit 4 pripojení — zníž počet súčasných klientov v LAN.

## Dostupné zariadenia 1

Tieto zariadenia sa po importe zobrazia v TapHome.

Yeelight modul Modul

Servisné atribúty

|                |                                                                                                                                                                                                                        |
|----------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Farebný režim  | Aktívny farebný režim nahlasovaný žiarovkou — RGB, Temperature (nastaviteľná biela) alebo HSV. Len na čítanie — šablóna farebný režim neprepína.                                                                       |
| Teplota bielej | Aktuálny biely bod v Kelvinoch (platný len v režime Temperature). Len na čítanie — šablóna teplotu bielej nezapisuje. Rozsah podľa modelu: 1700–6500 K pre farebné žiarovky a pásy, 2700–6500 K pre stropné svietidlá. |

Vlastné premenné

Listener

```taphome
VAR jsonResponse := TOSTRING(RECEIVEDBYTES);
VAR id := PARSEJSON(jsonResponse, "id", 1);

IF(id = 981)
   VAR error := PARSEJSON(jsonResponse, "error.message", 1);
   
   IF(!ISNULL(error))
      COMPLETESERVICEATTRIBUTE("Color mode", "", "error");
      COMPLETESERVICEATTRIBUTE("Color temperature", "", "error");
   ELSE
      VAR colorMode := PARSEJSON(jsonResponse, "result[0]", 1);
      VAR colorTemp := PARSEJSON(jsonResponse, "result[1]", 1);
      
      IF(!ISNULL(colorMode))
      VAR colorModeValue := SWITCH(TODOUBLE(colorMode), 1, "RGB", 2, "Temperature", 3, "HSV", "Unknown");
         COMPLETESERVICEATTRIBUTE("Color mode", colorModeValue, "");
      ELSE
         COMPLETESERVICEATTRIBUTE("Color mode", "", "error");
      END
      
      IF(!ISNULL(colorTemp))
         COMPLETESERVICEATTRIBUTE("Color temperature", colorTemp + "K", "");
      ELSE
         COMPLETESERVICEATTRIBUTE("Color temperature", "", "error");
      END
   END
END
```

Servisné atribúty

Color mode

```taphome
VAR json := "{\"id\":981, \"method\":\"get_prop\", \"params\":[\"color_mode\", \"ct\"]}";
SENDDATA(json);
```

Color temperature

```

```

Yeelight stmievač Stmievač Čítanie aj zápis

Jas (0–100 %) a zapnutie/vypnutie s plynulými prechodmi 300–500 ms. Farbu, teplotu bielej a efekty táto šablóna nesprístupňuje.

numeric Jednotka: brightness 0–100 %

Premenná: `receiveError`, Premenná: `notificationError`, Premenná: `sendError`

Čítanie úrovne

```taphome
VAR json := "{\"id\":951, \"method\":\"get_prop\", \"params\":[\"bright\", \"power\"]}";
SENDDATA(json);
```

Zápis úrovne

```taphome
IF(Le > 0)
    VAR jsonPowerOn := "{\"id\":952,\"method\":\"set_power\",\"params\":[\"on\", \"smooth\", 300]}";
    SENDDATA(jsonPowerOn);

    VAR jsonBrightness := "{\"id\":953,\"method\":\"set_bright\",\"params\":[" + ROUND(Le*100) + ",\"smooth\", 500]}";
    SENDDATA(jsonBrightness);
ELSE
    VAR jsonPowerOff := "{\"id\":954,\"method\":\"set_power\",\"params\":[\"off\", \"smooth\", 300]}";
    SENDDATA(jsonPowerOff);
END
```

Listener

```taphome
VAR jsonResponse := TOSTRING(RECEIVEDBYTES);
VAR method := PARSEJSON(jsonResponse, "method", 1);
VAR id := PARSEJSON(jsonResponse, "id", 1);
STRING onOff;

IF(id = 951)
   receiveError := PARSEJSON(jsonResponse, "error.message", 1);
   
   IF(LENGTH(receiveError) = 0)
      VAR brightnessStr := PARSEJSON(jsonResponse, "result[0]", 1);
      onOff := PARSEJSON(jsonResponse, "result[1]", 1);
   
      IF(!ISNULL(brightnessStr))
         Le := TODOUBLE(brightnessStr) / 100.0;
      END
   
      IF(onOff = "on")
         St := 1;
      ELSEIF(onOff = "off")
         Le := 0;
         St := 0;
      END
   END
END

IF(id > 951 AND id < 955)
   sendError := PARSEJSON(jsonResponse, "error.message", 1);
END

IF(method = "props")
   notificationError := PARSEJSON(jsonResponse, "error.message", 1);
   
   IF(LENGTH(notificationError) = 0)
      VAR brightness := PARSEJSON(jsonResponse, "params.bright", 1);
      onOff := PARSEJSON(jsonResponse, "params.power", 1);
   
      IF(!ISNULL(brightness))
         Le := brightness / 100.0;
      END
   
      IF(onOff = "on")
         St := 1;
         IF(ISNULL(brightness))
            SENDDATA("{\"id\":951, \"method\":\"get_prop\", \"params\":[\"bright\", \"power\"]}");
         END
      ELSEIF(onOff = "off")
         Le := 0;
         St := 0;
      END
   END
END

IF(LENGTH(receiveError) > 0)
   ADDERROR("Read error: " + receiveError);
END

IF(LENGTH(sendError) > 0)
   ADDERROR("Write error: " + sendError);
END

IF(LENGTH(notificationError) > 0)
   ADDERROR(notificationError);
END
```

**Pripojenie:** Packet Parser → TCP

Možné vylepšenia (13)

- Set color temperature — Write color temperature (1700–6500 K, model-dependent). Color temperature is exposed as a read-only service attribute but cannot be changed from TapHome.
- Set RGB color — Write full RGB color (0–16777215). TapHome dimmer template exposes brightness + on/off only — no color control.
- Set HSV color — Write hue (0–359) + saturation (0–100). Not exposed by dimmer template.
- Color flow — Scripted sequences of brightness / color / CT changes (sunrise effect, strobe, ambient cycles). Not exposed by dimmer template.
- Set scene — Jump directly to a predefined state (color, hsv, ct, cf, auto\_delay\_off). Not exposed by dimmer template.
- Toggle power — Single-parameter power toggle. Not exposed — TapHome writes explicit on/off via set\_power instead.
- Sleep timer (cron) — On-device auto-off timer in minutes. Not exposed — TapHome uses its own Smart Rules for scheduling instead.
- Music mode — Reverse-TCP channel bypassing the 60 cmd/min rate limit. Not used by TapHome.
- Relative adjustments — Relative +/- changes without knowing the current value. Not exposed — TapHome always writes absolute brightness.
- Save current state as power-on default — Persist current brightness/color to flash so it survives a hard power cut. Not exposed by dimmer template.
- Background light control — Secondary light channel on dual-light fixtures (e.g., some ceiling lights). Not exposed by dimmer template.
- Extended state properties — Additional properties pushed via props notifications (rgb, hue, sat, flowing, delayoff, music\_on, name). Template only consumes bright and power.
- LAN auto-discovery — User must enter the bulb IP manually during import — template does not perform SSDP discovery. A static DHCP lease is strongly recommended.

## Parametre importu

Tieto hodnoty zadáte pri importe XML.

| Pýta sa v aplikácii    | Predvolené    |
|------------------------|---------------|
| IP adresa              | `192.168.0.1` |
| Port                   | `55443`       |
| Internal poll interval | `10000`       |

## Zdroje

- Yeelight WiFi Light Inter-Operation Specification
  
  [www.yeelight.com](https://www.yeelight.com/download/Yeelight_Inter-Operation_Spec.pdf) 2026-04-15
  
  [PDF](https://taphome.com/compatibility/devices/yeelight/manufacturer/Yeelight_Inter-Operation_Spec.pdf)
- Yeelight Developer — Third-party Control Protocol
  
  [www.yeelight.com](https://www.yeelight.com/en_US/developer) 2026-04-15
- python-yeelight library documentation
  
  [yeelight.readthedocs.io](https://yeelight.readthedocs.io/en/latest/) 2026-04-15

Dokumenty výrobcov sú © ich príslušných vlastníkov. Poskytujeme ich tak, ako ich zverejnil výrobca, len na informačné účely.

## Súvisiaca dokumentácia

- [Integrácia Packet Parser](https://taphome.com/sk/compatibility/packet-parser-guide/)
- [Packet Parser (HTTP, TCP, UDP, FTP, MQTT)](https://taphome.com/sk/docs/integration/packet-parser/)
- [Funkcie Packet parsera](https://taphome.com/sk/docs/script/packet-parser/)
- [Parsovacie funkcie](https://taphome.com/sk/docs/script/parsing-functions/)

