---
title: "Shelly DUO RGBW"
description: "Teljes RGB + CCT vezérlés, sima átmenetek és teljesítménymérés a Shelly DUO RGBW GU10 izzóhoz. HTTP és MQTT sablonok a TapHome-hoz."
url: "https://taphome.com/hu/compatibility/shelly-duo-rgbw/"
language: hu
lastmod: 2026-10-08
generator: hugo
ai:
  topics: ["http","mqtt","lighting","wifi","rgbw","color-temperature","power-metering"]
  questions: ["Hogyan integrálható a Shelly DUO RGBW a TapHome-mal?","Hogyan szabályozható a Shelly DUO RGBW színe és fényereje a TapHome-ból?","Hogyan csatlakoztatható a Shelly DUO RGBW HTTP-n keresztül a TapHome-hoz?","Hogyan csatlakoztatható több Shelly DUO RGBW izzó MQTT-n keresztül a TapHome-hoz?","Miért mutat nullát a Shelly DUO RGBW teljesítménymérője?","Hogyan válthatok RGB és fehér mód között a Shelly DUO RGBW-n?"]
---

# Shelly DUO RGBW

Kommunikáció: Packet Parser → HTTP

- [Shelly DUO RGBW termékoldal](https://www.shelly.com/en/products/shop/shelly-duo-rgbw-gu10)

> Hálózati cím
> 
> A TapHome az importáláskor megadott címen éri el az eszközt. Adjon az eszköznek állandó címet — IP-foglalást a routerben, vagy az mDNS-nevét, ha támogatja —, különben az integráció leáll, amikor a router megváltoztatja a címet.
> 
> [A hálózat előkészítése](https://taphome.com/hu/docs/setup/network-preparation/)

## Integrációs útmutató

A Shelly DUO RGBW egy Gen1 Wi-Fi okos LED izzó GU10-es foglalatban. Teljes RGB színeket és állítható fehéret (CCT 3000–6500 K) támogat sima átmeneti effektusokkal. A TapHome a helyi hálózaton keresztül kommunikál az eszközzel — felhőkapcsolat nem szükséges.

Két TapHome sablon érhető el: egy **HTTP sablon** egyetlen izzó REST API-n keresztüli vezérléséhez és egy **MQTT sablon**, amely akár **5 izzót** is vezérelhet egy megosztott MQTT brokeren keresztül. Mindkét sablon teljes fényerőszabályozást és teljesítménymérést tesz elérhetővé.

## Konfiguráció

### HTTP sablon

A HTTP sablon az izzó IP-címét igényli (alapértelmezett helyőrző `192.168.0.1`) és egy opcionális átmeneti időt ezredmásodpercben (alapértelmezett 300 ms). A TapHome 2,5 másodpercenként lekérdezi a `/status` végpontot a fényállapot, színértékek és energiamérési adatok olvasásához.

A modulszintű olvasó szkript a `/status` választ a `jsonStatus` egyéni változóba menti, így az egyes eszközszkriptek elemezhetik az adatokat redundáns HTTP hívások nélkül.

### MQTT sablon

Az MQTT sablon a broker csatlakozási adatait és egy vagy több **Device ID**-t igényel — izzónként egyet. Minden izzó Device ID-je a `bulbNtopic` egyéni változón keresztül konfigurálható (formátum: `shellycolorbulb-DEVICEID`). A Device ID megtalálható a Shelly webes felületén a **Settings** > **Device Info** alatt.

A sablon egyszerre akár 5 izzót is támogat. Csak a ténylegesen meglévő izzókhoz konfigurálja a `bulbNtopic` változókat — a nem használt helyek az alapértelmezett helyőrző értékeiken hagyhatók.

Az MQTT engedélyezése után a Shelly DUO RGBW-n (Internet & Security > Advanced — MQTT), a TapHome feliratkozik a `shellies/#`-re, és a topic előtag alapján a megfelelő izzópéldányhoz irányítja az üzeneteket.

> [!WARNING]
> Gen1 Shelly eszközökön az MQTT engedélyezése **letiltja a Shelly Cloud-ot**. Mindkettő nem futhat egyidejűleg.

## Eszközfunkciók

### Fényerőszabályozás

Az izzó két egymást kizáró módban működik:

- **Szín mód** — teljes RGB vezérlés vörös, zöld és kék csatornákon keresztül (egyenként 0–255) plusz gain (fényerő, 0–100 %). A TapHome ezt HSB fényként jeleníti meg — árnyalat (0–360), telítettség (0,0–1,0) és fényerő (0,0–1,0) az `RGBTOHSV` funkcióval konvertálva RGB-ből.
- **Fehér mód** — állítható fehér a színhőmérsékleten (3000–6500 K) és fényerőn (0–100 %) keresztül. A CCT érték beállítása a TapHome-ban automatikusan fehér módra váltja az izzót.

A mód automatikusan vált aszerint, hogy melyik tulajdonságot állítja be:
- Az árnyalat vagy telítettség beállítása `/light/0?mode=color` parancsot küld (HTTP) vagy `"mode":"color"` JSON payloadot a `color/0/set`-en keresztül (MQTT)
- A CCT beállítása `/light/0?mode=white` parancsot küld (HTTP) vagy `"mode":"white"` payloadot (MQTT)

Minden írási parancs tartalmazza a konfigurált `transitionTime` paramétert a zökkenőmentes átmenetekhez. Egy debounce mechanizmus megakadályozza az elavult olvasásokat az átmenetek során — a sablon rövid ideig figyelmen kívül hagyja a `/status` válaszokat minden írás után.

> [!NOTE]
> MQTT módban a debounce ablak az átmeneti idő plusz 3 másodperc minden írás után (hosszabb, mint a HTTP sablon) az MQTT üzenettovábbítás késleltetésének figyelembevétele miatt.

### Teljesítménymérés

Mindkét sablon egy energiamérőt tesz elérhetővé, amely két értéket olvas:

- **Pillanatnyi teljesítmény** — wattban, kW-ra konvertálva 1000-rel osztva
- **Összesített fogyasztás** — wattpercben, kWh-ra konvertálva 60 000-rel osztva

A HTTP sablon a `meters[0].power` és `meters[0].total` értékeket olvassa a `/status` válaszból. Az MQTT sablon a `shellies/{id}/light/0/power` és `shellies/{id}/light/0/energy` topicokra figyel minden izzóhoz függetlenül.

> [!TIP]
> A teljesítményfigyelés megköveteli az eszközmodell konfigurálását a Shelly alkalmazásban vagy webes felületen a **Settings** > **Device Model** alatt. Ha a modell nincs beállítva és az izzó be van kapcsolva, de a teljesítmény nullát mutat, a sablon figyelmeztetést jelenít meg.

### Szervizdiagnosztika (csak HTTP)

A HTTP sablon 10 szervizattribútumot tesz elérhetővé az eszközfigyeléshez:

- **Hálózati info** — IP-cím, MAC-cím, WiFi jelszint (dB)
- **Csatlakoztathatóság** — cloud engedélyezve/csatlakoztatva, MQTT csatlakoztatva
- **Rendszer** — eszköz ideje, firmware frissítés elérhető, üzemidő, RAM-használat

### Szervizműveletek (csak HTTP)

Két szervizművelet érhető el a HTTP sablonban:

- **Cloud engedélyezése** — engedélyezi vagy letiltja a Shelly Cloud csatlakozást
- **Újraindítás** — eszköz újraindítását indítja

### További funkciók

A Shelly DUO RGBW fényeffektusokat is támogat (meteor shower, gradual change, breath, flash, on/off gradual, red/green change), dedikált fehér LED csatornát szín módban és MQTT csatlakozási állapotot (LWT). Ezek a funkciók egy jövőbeli sablonfrissítésben kerülhetnek hozzáadásra.

## Hibaelhárítás

### Az izzó nem válaszol (HTTP)

1. Ellenőrizze, hogy az izzó csatlakozik a Wi-Fi-hez és érvényes IP-címmel rendelkezik
2. Próbálja az mDNS hosztnevet (`shellycolorbulb-AABBCCDDEE.local`) az IP-cím helyett — az IP megváltozhatott a DHCP megújítás után
3. Nyissa meg a `http://{device-ip}/shelly` címet a böngészőben — ha válaszol, az eszköz elérhető
4. Ellenőrizze, hogy a TapHome CCU és az izzó ugyanazon a hálózaton / VLAN-on van

### A színek nem megfelelően jelennek meg

1. Ellenőrizze, hogy az izzó a megfelelő módban van — az RGB színek csak szín módban működnek, fehér módban nem
2. Szín beállításakor a TapHome-on keresztül győződjön meg arról, hogy a telítettség nagyobb nullánál — a 0 telítettség fehér fényt ad árnyalattól függetlenül
3. Ellenőrizze, hogy a gain (fényerő szín módban) nincs nullára állítva

### A teljesítmény nullát mutat

1. Győződjön meg arról, hogy az eszközmodell konfigurálva van a Shelly alkalmazásban (Settings > Device Model)
2. Ellenőrizze, hogy az izzó be van-e kapcsolva — a mérő csak áramáramlás esetén mér
3. Hívja meg manuálisan a `/status`-t, és ellenőrizze, hogy a `meters[0].power` nullánál nagyobb értéket ad vissza

### Az MQTT izzók nem válaszolnak

1. Ellenőrizze, hogy az MQTT engedélyezve van minden izzó webes felületén (Internet & Security > Advanced — MQTT)
2. Győződjön meg arról, hogy a broker címe és portja helyes mind a Shelly eszközben, mind a TapHome modul beállításaiban
3. Ellenőrizze, hogy a `bulbNtopic` egyéni változó pontosan egyezik az izzó Device ID-jével (pl. `shellycolorbulb-B929CC`)
4. Használjon MQTT klienst (pl. MQTT Explorer) a `shellies/#` feliratkozáshoz, és ellenőrizze, hogy minden izzó publikál üzeneteket

> [!WARNING]
> A Shelly Gen1 eszközök csak **2 egyidejű HTTP-kapcsolatot** támogatnak. Ha a TapHome és egy másik rendszer (pl. Home Assistant) egyszerre kérdezi le ugyanazt az izzót, a kommunikáció megbízhatatlanná válhat. Többrendszeres környezetben fontolja meg az MQTT sablonra való áttérést.

## Telepítés a TapHome-ban

### Előfeltételek

- Shelly eszköz telepítve és bekapcsolva
- Helyi Wi-Fi hálózat (2,4 GHz)
- TapHome CCU ugyanazon a hálózaton

### 1. lépés — Shelly csatlakoztatása a Wi-Fi-hez

**A lehetőség — Shelly alkalmazás (ajánlott):**

1. Töltse le a [Shelly alkalmazást](https://www.shelly.com/en/support/shelly-app) (iOS / Android)
2. Érintse meg a **+** → **Add Device** gombot, és kövesse a Bluetooth párosítási varázslót
3. Adja meg Wi-Fi hitelesítő adatait, amikor a rendszer kéri

**B lehetőség — AP mód (alkalmazás nélkül):**

1. Első bekapcsoláskor az eszköz létrehoz egy hotspotot: `ShellyXXX-AABBCCDDEE`
2. Csatlakoztassa telefonját/PC-jét ehhez a hotspothoz
3. Nyissa meg a `http://192.168.33.1` címet → **Internet & Security** → **Wi-Fi Mode - Client**
4. Adja meg az SSID-t és a jelszót → **Save**

> [!NOTE]
> A Shelly csak **2,4 GHz**-es hálózatokat támogat. Az 5 GHz-es hálózatok nem jelennek meg a keresésben.

### 2. lépés — IP-cím megkeresése

A Wi-Fi-hez való csatlakozás után az alábbi módszerek egyikével keresse meg a hozzárendelt IP-címet:

- **Shelly alkalmazás:** Eszköz részletei → **Device info** → IP-cím
- **Shelly webes felület:** Csatlakozzon az eszköz AP-jához a Wi-Fi beállítás előtt — az IP a mentés után jelenik meg
- **Router DHCP tábla:** Keressen egy hasonló hosztnevet: `shelly1pm-AABBCCDDEE`
- **mDNS:** Pingelje a `shelly<model>-<mac>.local` címet (pl. `shelly1pm-AABBCCDDEE.local`) ugyanarról a hálózatról

> [!TIP]
> Rendeljen **statikus IP**-t (DHCP foglalást) a Shelly eszközhöz a routerben, hogy a cím ne változzon a router újraindítása után.

### 3. lépés — Konfigurálás a TapHome-ban

1. A TapHome-ban adjon hozzá egy új **Packet Parser (HTTP)** modult
2. **IP Address:** adja meg a 2. lépésben kapott IP-t (pl. `192.168.1.50`)
3. **Port:** `80` (alapértelmezett, nem kell módosítani)
4. Importálja a sablont — a TapHome rendszeresen lekérdezi a `/status` végpontot az eszköz állapotának olvasásához

> [!NOTE]
> A HTTP hitelesítés a Shelly eszközökön alapértelmezetten ki van kapcsolva. Ha engedélyezte a bejelentkezésvédelmet, a TapHome jelenleg nem támogatja a HTTP Basic Auth-ot — a TapHome integrációhoz hagyja kikapcsolva a hitelesítést.

## Elérhető eszközök 2

Ezek az eszközök az importálás után jelennek meg a TapHome-ban.

Shelly DUO RGBW Modul

Szerviz attribútumok

|                       |
|-----------------------|
| IP-cím                |
| MAC-cím               |
| WiFi jel              |
| Cloud engedélyezve    |
| Cloud csatlakoztatva  |
| MQTT csatlakoztatva   |
| Eszköz ideje          |
| FW frissítés elérhető |
| Üzemidő               |
| RAM                   |

Szerviz műveletek

|                     |
|---------------------|
| Cloud engedélyezése |
| Újraindítás         |

Egyéni változók

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

Olvasás (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
```

Szerviz attribútumok

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
```

Szerviz műveletek

Enable cloud

Paraméterek: 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 fény HSB lámpa Olvasás és írás

Teljes RGB szín + állítható fehér (CCT 3000–6500 K) sima átmenetekkel és módtudatos fényerőszabályozással

HSB

Fényerő olvasása

```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);
```

Fényerő írása

```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;
```

Színárnyalat olvasása

```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);
```

Színárnyalat írása

```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;
```

Telítettség olvasása

```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;
```

Telítettség írása

```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;
```

Színhőmérséklet olvasása

```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
```

Színhőmérséklet írása

```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;
```

Villamos mérő Villanyóra Csak olvasható

Energiafogyasztás mérés — pillanatnyi teljesítmény (kW) és összesített energia (kWh)

numeric Egység: W / kWh

Összes fogyasztás olvasása

```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
```

Igény olvasása

```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
```

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

Lehetséges fejlesztések (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.

## Importálási paraméterek

Ezeket az értékeket az XML importálásakor adja meg.

| Az alkalmazás kéri   | Alapérték     |
|----------------------|---------------|
| IP-cím               | `192.168.0.1` |
| Transition time (ms) | `300`         |

## Források

- 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

## Kapcsolódó dokumentáció

- [Packet Parser integráció](https://taphome.com/hu/compatibility/packet-parser-guide/)
- [Packet Parser (HTTP, TCP, UDP, FTP, MQTT)](https://taphome.com/hu/docs/integration/packet-parser/)
- [Packet parser függvények](https://taphome.com/hu/docs/script/packet-parser/)
- [Elemző függvények](https://taphome.com/hu/docs/script/parsing-functions/)

