---
title: "Shelly DUO RGBW"
description: "Plné RGB + CCT ovládanie, plynulé prechody a meranie spotreby pre Shelly DUO RGBW GU10 žiarovku. HTTP a MQTT šablóny pre TapHome."
url: "https://taphome.com/sk/compatibility/shelly-duo-rgbw/"
language: sk
lastmod: 2026-10-08
generator: hugo
ai:
  topics: ["http","mqtt","lighting","wifi","rgbw","color-temperature","power-metering"]
  questions: ["Ako integrovať Shelly DUO RGBW s TapHome?","Ako ovládať farbu a jas Shelly DUO RGBW cez TapHome?","Ako pripojiť Shelly DUO RGBW cez HTTP k TapHome?","Ako pripojiť viacero žiaroviek Shelly DUO RGBW cez MQTT k TapHome?","Prečo Shelly DUO RGBW ukazuje nulový výkon?","Ako prepínať medzi RGB a bielym režimom na Shelly DUO RGBW?"]
---

# Shelly DUO RGBW

Komunikácia: Packet Parser → HTTP

- [Produktová stránka Shelly DUO RGBW](https://www.shelly.com/en/products/shop/shelly-duo-rgbw-gu10)

> 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

Shelly DUO RGBW je Wi-Fi inteligentná LED žiarovka Gen1 vo formáte GU10. Podporuje plné RGB farby a nastaviteľnú bielu (CCT 3000–6500 K) s plynulými prechodovými efektmi. TapHome komunikuje so zariadením cez lokálnu sieť — cloudové pripojenie nie je potrebné.

K dispozícii sú dve TapHome šablóny: **HTTP šablóna** na ovládanie jednej žiarovky cez REST API a **MQTT šablóna**, ktorá dokáže ovládať až **5 žiaroviek** cez zdieľaný MQTT broker. Obe šablóny exponujú plné ovládanie svetla a meranie spotreby.

## Konfigurácia

### HTTP šablóna

HTTP šablóna vyžaduje IP adresu žiarovky (predvolený placeholder `192.168.0.1`) a voliteľný čas prechodu v milisekundách (predvolených 300 ms). TapHome dotazuje endpoint `/status` každých 2,5 sekundy na čítanie stavu svetla, farebných hodnôt a údajov o spotrebe energie.

Čítací skript na úrovni modulu ukladá odpoveď `/status` do vlastnej premennej `jsonStatus`, takže skripty jednotlivých zariadení môžu parsovať údaje bez zbytočných HTTP volaní.

### MQTT šablóna

MQTT šablóna vyžaduje údaje o pripojení k brokeru a jedno alebo viac **Device ID** — jedno na žiarovku. Device ID každej žiarovky sa konfiguruje cez vlastnú premennú `bulbNtopic` (formát: `shellycolorbulb-DEVICEID`). Device ID nájdete vo webovom rozhraní Shelly v časti **Settings** > **Device Info**.

Šablóna podporuje až 5 žiaroviek súčasne. Konfigurujte premenné `bulbNtopic` len pre žiarovky, ktoré skutočne máte — nepoužité sloty môžu zostať na predvolených placeholder hodnotách.

Po zapnutí MQTT na Shelly DUO RGBW (Internet & Security > Advanced — MQTT) sa TapHome prihlási na odber `shellies/#` a smeruje správy na správnu inštanciu žiarovky podľa prefixu topicu.

> [!WARNING]
> Na zariadeniach Shelly Gen1 zapnutie MQTT **vypne Shelly Cloud**. Oboje nemôže bežať súčasne.

## Funkcie zariadenia

### Ovládanie svetla

Žiarovka pracuje v dvoch vzájomne výlučných režimoch:

- **Farebný režim** — plné RGB ovládanie cez červený, zelený a modrý kanál (0–255 každý) plus zosilnenie (jas, 0–100 %). TapHome to reprezentuje ako HSB svetlo — odtieň (0–360), sýtosť (0,0–1,0) a jas (0,0–1,0) sa konvertujú z RGB pomocou funkcie `RGBTOHSV`.
- **Biely režim** — nastaviteľná biela cez teplotu chromatickosti (3000–6500 K) a jas (0–100 %). Nastavenie hodnoty CCT v TapHome automaticky prepne žiarovku do bieleho režimu.

Režim sa prepína automaticky podľa toho, ktorú vlastnosť nastavíte:
- Nastavenie odtieňa alebo sýtosti odošle príkaz `/light/0?mode=color` (HTTP) alebo JSON payload s `"mode":"color"` cez `color/0/set` (MQTT)
- Nastavenie CCT odošle príkaz `/light/0?mode=white` (HTTP) alebo payload s `"mode":"white"` (MQTT)

Všetky príkazy zápisu obsahujú nakonfigurovaný parameter `transitionTime` pre plynulé stmievanie medzi stavmi. Debounce mechanizmus zabraňuje zastaralým čítaniam počas prechodov — šablóna ignoruje odpovede `/status` krátku dobu po každom zápise.

> [!NOTE]
> V MQTT režime je debounce okno doba prechodu plus 3 sekundy po každom zápise (dlhšie ako HTTP šablóna) kvôli latencii doručovania MQTT správ.

### Meranie spotreby

Obe šablóny exponujú elektromer, ktorý číta dve hodnoty:

- **Okamžitý výkon** — vo wattoch, konvertovaný na kW delením 1000
- **Celková spotreba** — vo watt-minútach, konvertovaná na kWh delením 60 000

HTTP šablóna číta `meters[0].power` a `meters[0].total` z odpovede `/status`. MQTT šablóna počúva topicy `shellies/{id}/light/0/power` a `shellies/{id}/light/0/energy` pre každú žiarovku nezávisle.

> [!TIP]
> Monitorovanie spotreby vyžaduje nakonfigurovanie modelu zariadenia v aplikácii Shelly alebo webovom rozhraní v časti **Settings** > **Device Model**. Ak model nie je nastavený a žiarovka je zapnutá, ale výkon ukazuje nulu, šablóna zobrazí varovanie.

### Servisná diagnostika (len HTTP)

HTTP šablóna exponuje 10 servisných atribútov na monitorovanie zariadenia:

- **Sieťové info** — IP adresa, MAC adresa, sila WiFi signálu (dB)
- **Pripojiteľnosť** — cloud povolený/pripojený, MQTT pripojený
- **Systém** — čas zariadenia, dostupná aktualizácia firmvéru, doba prevádzky, využitie RAM

### Servisné akcie (len HTTP)

V HTTP šablóne sú k dispozícii dve servisné akcie:

- **Povoliť cloud** — zapne alebo vypne pripojenie Shelly Cloud
- **Reštart** — spustí reštart zariadenia

### Ďalšie funkcie

Shelly DUO RGBW tiež podporuje svetelné efekty (meteor shower, gradual change, breath, flash, on/off gradual, red/green change), dedikovaný biely LED kanál vo farebnom režime a MQTT stav pripojenia (LWT). Tieto funkcie môžu byť pridané v budúcej aktualizácii šablóny.

## Riešenie problémov

### Žiarovka neodpovedá (HTTP)

1. Overte, že žiarovka je pripojená k Wi-Fi a má platnú IP adresu
2. Skúste použiť mDNS hostname (`shellycolorbulb-AABBCCDDEE.local`) namiesto IP adresy — IP sa mohla zmeniť po obnovení DHCP
3. Otvorte `http://{device-ip}/shelly` v prehliadači — ak odpovedá, zariadenie je dostupné
4. Skontrolujte, že TapHome CCU a žiarovka sú v rovnakej sieti / VLAN

### Farby sa zobrazujú nesprávne

1. Overte, že žiarovka je v správnom režime — RGB farby fungujú len vo farebnom režime, nie v bielom režime
2. Pri nastavovaní farby cez TapHome skontrolujte, že sýtosť je väčšia ako nula — sýtosť 0 produkuje biele svetlo bez ohľadu na odtieň
3. Skontrolujte, že zosilnenie (jas vo farebnom režime) nie je nastavené na nulu

### Výkon ukazuje nulu

1. Potvrďte, že model zariadenia je nakonfigurovaný v aplikácii Shelly (Settings > Device Model)
2. Skontrolujte, že žiarovka je zapnutá — elektromer meria len keď preteká prúd
3. Zavolajte `/status` manuálne a overte, že `meters[0].power` vracia nenulovú hodnotu

### MQTT žiarovky neodpovedajú

1. Overte, že MQTT je zapnuté vo webovom rozhraní každej žiarovky (Internet & Security > Advanced — MQTT)
2. Potvrďte, že adresa brokera a port sú správne v nastaveniach zariadenia Shelly aj modulu TapHome
3. Skontrolujte, že vlastná premenná `bulbNtopic` sa presne zhoduje s Device ID žiarovky (napr. `shellycolorbulb-B929CC`)
4. Použite MQTT klienta (napr. MQTT Explorer) na odber `shellies/#` a overte, že každá žiarovka publikuje správy

> [!WARNING]
> Zariadenia Shelly Gen1 podporujú len **2 súčasné HTTP pripojenia**. Ak TapHome a iný systém (napr. Home Assistant) dotazujú rovnakú žiarovku súčasne, komunikácia môže byť nespoľahlivá. Zvážte prechod na MQTT šablónu pre prostredia s viacerými systémami.

## Ako nainštalovať v TapHome

### Predpoklady

- Zariadenie Shelly nainštalované a zapnuté
- Lokálna Wi-Fi sieť (2,4 GHz)
- TapHome CCU v rovnakej sieti

### Krok 1 — Pripojte Shelly k Wi-Fi

**Možnosť A — Aplikácia Shelly (odporúčané):**

1. Stiahnite si [aplikáciu Shelly](https://www.shelly.com/en/support/shelly-app) (iOS / Android)
2. Klepnite na **+** → **Add Device** a postupujte podľa sprievodcu Bluetooth párovaním
3. Po výzve zadajte svoje Wi-Fi prihlasovacie údaje

**Možnosť B — AP režim (bez aplikácie):**

1. Pri prvom zapnutí zariadenie vytvorí hotspot: `ShellyXXX-AABBCCDDEE`
2. Pripojte telefón/PC k tomuto hotspotu
3. Otvorte `http://192.168.33.1` → **Internet & Security** → **Wi-Fi Mode - Client**
4. Zadajte SSID a heslo → **Save**

> [!NOTE]
> Shelly podporuje iba **2,4 GHz** siete. 5 GHz siete sa pri skenovaní nezobrazia.

### Krok 2 — Zistite IP adresu

Po pripojení k Wi-Fi zistite priradenú IP adresu jedným z nasledujúcich spôsobov:

- **Aplikácia Shelly:** Detail zariadenia → **Device info** → IP adresa
- **Webové rozhranie Shelly:** Pripojte sa k AP zariadenia pred nastavením Wi-Fi — IP sa zobrazí po uložení
- **DHCP tabuľka routera:** Hľadajte hostname ako `shelly1pm-AABBCCDDEE`
- **mDNS:** Pingnite `shelly<model>-<mac>.local` (napr. `shelly1pm-AABBCCDDEE.local`) z rovnakej siete

> [!TIP]
> Priraďte zariadeniu Shelly **statickú IP** (DHCP rezerváciu) vo vašom routeri, aby sa adresa nezmenila po reštarte routera.

### Krok 3 — Konfigurácia v TapHome

1. V TapHome pridajte nový modul **Packet Parser (HTTP)**
2. **IP Address:** zadajte IP z kroku 2 (napr. `192.168.1.50`)
3. **Port:** `80` (predvolený, nie je potrebné meniť)
4. Importujte šablónu — TapHome bude pravidelne čítať `/status` pre zistenie stavu zariadenia

> [!NOTE]
> HTTP autentifikácia je na zariadeniach Shelly štandardne vypnutá. Ak ste povolili ochranu prihlásením, TapHome momentálne nepodporuje HTTP Basic Auth — pre integráciu s TapHome ponechajte autentifikáciu vypnutú.

## Dostupné zariadenia 2

Tieto zariadenia sa po importe zobrazia v TapHome.

Shelly DUO RGBW Modul

Servisné atribúty

|                          |
|--------------------------|
| IP adresa                |
| MAC adresa               |
| WiFi signál              |
| Cloud povolený           |
| Cloud pripojený          |
| MQTT pripojený           |
| Čas zariadenia           |
| Dostupná aktualizácia FW |
| Doba prevádzky           |
| RAM                      |

Servisné akcie

|               |
|---------------|
| Povoliť cloud |
| Reštart       |

Vlastné premenné

|                                             |                                                                              |
|---------------------------------------------|------------------------------------------------------------------------------|
| `transitionTime` (numeric) = TransitionTime | Light transition duration in milliseconds (import parameter, default 300 ms) |

Čítanie (modul)

```taphome
VAR now := NOW();

IF now.Ticks < debounceTimestamp
    RETURN(0);
END

VAR response := SENDHTTPREQUEST("/status");

IF response.IsSuccess
    jsonStatus := response.Content;
ELSE
    jsonStatus := NULL;
END
```

Servisné atribúty

IP Address

```taphome
VAR response := SENDHTTPREQUEST("/status");

IF response.IsSuccess
    jsonStatus := response.Content;
ELSE
    jsonStatus := NULL;
END

VAR address := PARSEJSON(jsonStatus, "$.wifi_sta.ip", 1);
IF (ISNULL(address), "-", address)
```

MAC Address

```taphome
VAR value := PARSEJSON(jsonStatus, "$.mac", 1);
IF ISNULL(value)
    RETURN("-");
END;

STRING mac;
INT i := 0;
INT len := LENGTH(value);

WHILE i < len
    mac += GETAT(value, i);
    i += 1;
    
    IF MOD(i, 2) = 0 AND i < len
        mac += ":";
    END
LOOP

mac
```

WIFI signal

```taphome
VAR signal := PARSEJSON(jsonStatus, "$.wifi_sta.rssi", 1);
IF (ISNULL(signal), "-", signal + "db");
```

Cloud enabled

```taphome
VAR value := PARSEJSON(jsonStatus, "$.cloud.enabled", 1);
IF (ISNULL(value), "-", value)
```

Cloud connected

```taphome
VAR value := PARSEJSON(jsonStatus, "$.cloud.connected", 1);
IF (ISNULL(value), "-", value)
```

MQTT connected

```taphome
VAR value := PARSEJSON(jsonStatus, "$.mqtt.connected", 1);
IF (ISNULL(value), "-", value)
```

Device time

```taphome
VAR value := PARSEJSON(jsonStatus, "$.time", 1);
IF (ISNULL(value), "-", value)
```

FW update available

```taphome
VAR value := PARSEJSON(jsonStatus, "$.has_update");
IF (ISNULL(value), "-", value)
```

Uptime

```taphome
VAR value := PARSEJSON(jsonStatus, "$.uptime", 1);
IF ISNULL(value)
    RETURN("-");
END

VAR days := FLOOR(value/86400, 1);
value := MOD(value, 86400);
VAR hours := FLOOR(value/3600, 1);
value := MOD(value, 3600);
VAR minutes := FLOOR(value/60, 1);

days + "day(s) " + hours + "h " + minutes + "m"
```

RAM

```taphome
VAR ramFree := PARSEJSON(jsonStatus, "$.ram_free", 1);
VAR ramTotal := PARSEJSON(jsonStatus, "$.ram_total", 1);

IF ISNULL(ramFree) OR ISNULL(ramTotal)
    RETURN("-");
END

ramFree + " bytes free of " + ramTotal
```

Servisné akcie

Enable cloud

Parametre: Enable (Enable / Disable)

```taphome
VAR response := SENDHTTPREQUEST("/settings/cloud?enabled=" + enable);
VAR contentJson := response.Content;
VAR wasEnabled := PARSEJSON(contentJson, "enabled");

IF(wasEnabled, "Cloud enabled", "Cloud disabled");
```

Reboot

```taphome
VAR response := SENDHTTPREQUEST("/reboot");
VAR contentJson := response.Content;
VAR wasRebooted := PARSEJSON(contentJson, "ok");

IF(wasRebooted, "Reboot successful", "Error");
```

RGBW svetlo HSB svetlo Čítanie aj zápis

Plné RGB farby + nastaviteľná biela (CCT 3000–6500 K) s plynulými prechodmi a ovládaním jasu podľa režimu

HSB

Čítanie jasu

```taphome
VAR now := NOW();

IF now.Ticks < debounceTimestamp
    RETURN(Hb);
END

INT value;
VAR mode := PARSEJSON(jsonStatus, "$.lights[0].mode", 1);

IF mode = "white"
    value := PARSEJSON(jsonStatus, "$.lights[0].brightness", 1);
ELSE
    value := PARSEJSON(jsonStatus, "$.lights[0].gain", 1);
END

IF ISNULL(value)
    RETURN(NaN);
END

BOOL isOn := PARSEJSON(jsonStatus, "$.lights[0].ison", 1);

IF ISNULL(isOn)
    RETURN(NaN);
END

IF(isOn, value/100.0, 0);
```

Zápis jasu

```taphome
IF St > 0.5
    VAR mode := PARSEJSON(jsonStatus, "$.lights[0].mode", 1);
    
    IF mode = "white"
        SENDHTTPREQUEST("light/0?turn=on&transition=" + transitionTime + "&brightness=" + ROUND(Hb*100.0));
    ELSE
        SENDHTTPREQUEST("light/0?turn=on&transition=" + transitionTime + "&gain=" + ROUND(Hb*100.0));
    END
ELSE
    SENDHTTPREQUEST("light/0?turn=off&transition=" + transitionTime);
END

VAR now := NOW();
debounceTimestamp := now.Ticks + transitionTime + 500;
```

Čítanie odtieňa

```taphome
VAR now := NOW();

IF now.Ticks < debounceTimestamp
    RETURN(Hd);
END

INT r := PARSEJSON(jsonStatus, "$.lights[0].red", 1);
INT g := PARSEJSON(jsonStatus, "$.lights[0].green", 1);
INT b := PARSEJSON(jsonStatus, "$.lights[0].blue", 1);
 
VAR HSVColor := RGBTOHSV(r, g, b);
ROUND(HSVColor.Hue);
```

Zápis odtieňa

```taphome
IF !ISNAN(Ct)
    RETURN(0);
END

VAR color := HSVTORGB(Hd, Sa, 1);

SENDHTTPREQUEST("light/0?mode=color&transition=" + transitionTime + "&gain=" + ROUND(Hb*100) + "&red=" + color.RED + "&green=" + color.GREEN + "&blue=" + color.BLUE);


VAR now := NOW();
debounceTimestamp := now.Ticks + transitionTime + 500;
```

Čítanie saturácie

```taphome
VAR now := NOW();

IF now.Ticks < debounceTimestamp
    RETURN(Sa);
END

INT r := PARSEJSON(jsonStatus, "$.lights[0].red", 1);
INT g := PARSEJSON(jsonStatus, "$.lights[0].green", 1);
INT b := PARSEJSON(jsonStatus, "$.lights[0].blue", 1);
 
VAR HSVColor := RGBTOHSV(r, g, b);
ROUND(HSVColor.Saturation * 100.0) / 100.0;
```

Zápis saturácie

```taphome
IF !ISNAN(Ct)
    RETURN(0);
END

VAR color := HSVTORGB(Hd, Sa, 1);

SENDHTTPREQUEST("light/0?mode=color&transition=" + transitionTime + "&gain=" + ROUND(Hb*100) + "&red=" + color.RED + "&green=" + color.GREEN + "&blue=" + color.BLUE);


VAR now := NOW();
debounceTimestamp := now.Ticks + transitionTime + 500;
```

Čítanie farebnej teploty

```taphome
VAR now := NOW();

IF now.Ticks < debounceTimestamp
    RETURN(Ct);
END

INT value := PARSEJSON(jsonStatus, "$.lights[0].temp", 1);
STRING mode := PARSEJSON(jsonStatus, "$.lights[0].mode", 1);

IF ISNULL(value) OR mode != "white"
    RETURN(NaN);
END
 
value
```

Zápis farebnej teploty

```taphome
IF ISNAN(Ct)
    RETURN(0);
END

VAR temp := MIN(Ct, 6500);
temp := MAX(temp, 3000);

SENDHTTPREQUEST("light/0?mode=white&transition=" + transitionTime + "&brightness=" + ROUND(Hb*100) + "&temp=" + temp);

VAR now := NOW();
debounceTimestamp := now.Ticks + transitionTime + 500;
```

Elektromer Elektromer Len na čítanie

Meranie spotreby energie — okamžitý výkon (kW) a celková spotreba (kWh)

numeric Jednotka: W / kWh

Čítanie celkovej spotreby

```taphome
IF LENGTH(jsonStatus) = 0
    RETURN(NaN);
END

VAR power := PARSEJSON(jsonStatus, "$.meters[0].power");
VAR total := PARSEJSON(jsonStatus, "$.meters[0].total");
BOOL isOn := PARSEJSON(jsonStatus, "$.lights[0].ison");

IF ISNULL(power) OR ISNULL(total) OR (ison AND power=0)
	ADDWARNING("To enable power monitoring, open device settings in Shelly app or web browser and configure device model in Settings->Device Model");
	
    RETURN(NaN);
END

total / 60000.0
```

Čítanie odberu

```taphome
IF LENGTH(jsonStatus) = 0
    RETURN(NaN);
END

VAR power := PARSEJSON(jsonStatus, "$.meters[0].power", 1);

IF ISNULL(power)
    RETURN(NaN);
END

power / 1000.0
```

**Pripojenie:** Packet Parser → HTTP • Hostname: `shellycolorbulb-{MAC}.local`

Možné vylepšenia (4)

- Light Effect — Effect index (0=Off, 1=Meteor Shower, 2=Gradual Change, 3=Breath, 4=Flash, 5=On/Off Gradual, 6=Red/Green Change). Available in both /light/0 and MQTT color/0/set.
- WiFi Signal Strength — WiFi RSSI in dBm, available in /status response (HTTP only; MQTT template reads it as service attribute already)
- White Channel — Dedicated white LED channel (0–255) in color mode, separate from CCT. Available in /light/0?white=N.
- Connection Status (MQTT) — LWT topic — true on connect, false on disconnect. Could detect offline bulbs.

## Parametre importu

Tieto hodnoty zadáte pri importe XML.

| Pýta sa v aplikácii  | Predvolené    |
|----------------------|---------------|
| IP adresa            | `192.168.0.1` |
| Transition time (ms) | `300`         |

## Zdroje

- Shelly Gen1 API Reference
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen1/) 2026-03-12
- Home Assistant Shelly Integration
  
  [www.home-assistant.io](https://www.home-assistant.io/integrations/shelly/) 2026-03-12
- Shelly DUO RGBW — Device-Specific API
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen1/#shelly-bulb-rgbw) 2026-03-30
- Shelly DUO RGBW — Knowledge Base
  
  [kb.shelly.cloud](https://kb.shelly.cloud/knowledge-base/shelly-bulb-duo-rgbw) 2026-03-30

## 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/)

