---
title: "Shelly DUO"
description: "Shelly DUO Wi-Fi CCT izzó — fényerő és színhőmérséklet (2700–6500 K) szabályozás, teljesítménymérés HTTP-n vagy MQTT-n. TapHome sablon Shelly DUO Gen1-hez."
url: "https://taphome.com/hu/compatibility/shelly-duo/"
language: hu
lastmod: 2026-03-30
generator: hugo
ai:
  topics: ["http","mqtt","lighting","wifi","cct","power-metering","led-bulb"]
  questions: ["Hogyan integrálható a Shelly DUO a TapHome-mal?","Hogyan szabályozható a Shelly DUO fényereje és színhőmérséklete a TapHome-ból?","Hogyan csatlakoztatható a Shelly DUO HTTP-n keresztül a TapHome-hoz?","Hogyan csatlakoztatható több Shelly DUO izzó MQTT-n keresztül a TapHome-hoz?","Miért mutat nullát a Shelly DUO teljesítménymérője?","Mi a debounce mechanizmus a Shelly DUO sablonban?"]
---

# Shelly DUO

Kommunikáció: Packet Parser → HTTP

- [Shelly DUO termékoldal](https://www.shelly.com/en/products/shop/shelly-bulb-duo)
- [Shelly DUO API dokumentáció](https://shelly-api-docs.shelly.cloud/gen1/#shelly-duo)

> 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 egy Wi-Fi LED izzó E27-es foglalattal, amely támogatja a fényerőszabályozást és az állítható fehér színhőmérsékletet (CCT) 2700 K (meleg fehér) és 6500 K (nappali fény) között. A TapHome lokálisan integrálódik az izzóval Wi-Fi-n keresztül HTTP REST API vagy MQTT használatával. Felhőkapcsolat nem szükséges.

Két TapHome sablon érhető el: egy **HTTP sablon** egyetlen izzóhoz és egy **MQTT sablon**, amely akár 5 DUO izzót is vezérelhet egyetlen MQTT broker kapcsolaton keresztül. Mindkét sablon ugyanazokat az eszköztípusokat teszi elérhetővé izzónként — egy fényeszközt fényerő- és CCT-szabályozással, valamint egy energiamérőt a teljesítményfigyeléshez.

## Konfiguráció

### HTTP sablon

A HTTP sablon az izzó IP-címét igényli (vagy az mDNS hosztnevet `ShellyBulbDuo-{MAC}.local`). A TapHome 2,5 másodpercenként lekérdezi a `/status` végpontot, és a JSON választ a `jsonStatus` egyéni változóba menti. Az egyes eszközszkriptek a mentett választ elemzik redundáns HTTP hívások nélkül.

A sablon két importparamétert fogad:

- **IP-cím** — az izzó helyi IP-je (alapértelmezett `192.168.0.1`)
- **Átmeneti idő** — a fényátmenet időtartama ezredmásodpercben (alapértelmezett 300 ms)

### MQTT sablon

Az MQTT sablon a broker IP-jét, portját és az egyes izzók **Device ID**-jét igényli (formátum: `ShellyBulbDuo-DEVICEID`). A Device ID megtalálható a Shelly webes felületén a **Settings** > **Device Info** alatt, vagy a `GET http://{bulb-ip}/settings` `mqtt.id` mezőjében.

A sablon egyetlen modulon keresztül akár **5 DUO izzót** támogat. Minden izzót saját topic változója azonosít (`bulb1topic`-tól `bulb5topic`-ig). A nem használt izzóhelyek az alapértelmezett helyőrző értéken hagyhatók.

A sablon három importparamétert fogad:

- **MQTT Broker IP** — a broker címe (alapértelmezett `192.168.0.1`)
- **MQTT Broker port** — a broker portja (alapértelmezett `1883`)
- **Átmeneti idő** — a fényátmenet időtartama ezredmásodpercben (alapértelmezett 300 ms)

> [!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

A sablon a DUO-t fehér fényeszközként teszi elérhetővé két vezérelhető paraméterrel:

- **Fényerő** — a `lights[0].brightness`-ből olvasva (0–100, belsőleg 0,0–1,0-ra konvertálva) és `lights[0].ison`; vezérlés a `/light/0?turn=on|off&brightness=N` (HTTP) vagy JSON publikálással a `light/0/set` topicba (MQTT)
- **Színhőmérséklet** — a `lights[0].temp`-ből olvasva (2700–6500 K); vezérlés a `/light/0?temp=K` (HTTP) vagy a `temp` mező a JSON payloadban (MQTT)

Mindkét paraméter egyetlen írási parancsban kerül elküldésre. Az átmeneti idő paraméter az összes változás fokozatos átmenetének időtartamát szabályozza.

Amikor a fény kikapcsol (fényerő 0-ra állítva), a sablon `turn=off`-ot küld (HTTP) vagy `off`-ot publikál a `light/0/command` topicba (MQTT).

### Debounce mechanizmus

A HTTP sablon debounce védelmet tartalmaz az elavult adatok megelőzésére fényátmenetek során. Minden írási parancs után a sablon figyelmen kívül hagyja a `/status` olvasásokat az átmeneti idő plusz 500 ms időtartamig. Ebben az időszakban az olvasó szkriptek az utolsó ismert értékeket adják vissza az eszköz lekérdezése helyett. Ez megakadályozza a köztes állapotok rövid megjelenítését a felhasználói felületen, amíg az izzó átmenet alatt van.

Az MQTT sablon nem igényel debounce-t — közvetlenül az izzótól fogadja az állapotfrissítéseket, ahogy azok bekövetkeznek.

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

A beépített energiamérő két értéket olvas:

- **Pillanatnyi teljesítmény** — `meters[0].power` wattban, kW-ra konvertálva (osztva 1000-rel)
- **Összesített fogyasztás** — `meters[0].total` wattpercben, kWh-ra konvertálva (osztva 60 000-rel)

A mérő csak olvasható, és automatikusan frissül minden lekérdezési ciklussal (HTTP) vagy minden MQTT üzenettel.

> [!NOTE]
> A teljesítményfigyelés engedélyezéséhez az eszközmodellt konfigurálni kell a Shelly alkalmazásban vagy webböngészőben a Settings > Device Model alatt. Ha az izzó be van kapcsolva, de a teljesítmény nullát mutat, a sablon figyelmeztetést jelenít meg erről a konfigurációs lépésről.

### Szervizdiagnosztika (HTTP sablon)

A HTTP sablon 10 szervizattribútumot tesz elérhetővé:

- **Hálózati info** — IP-cím, MAC-cím (kettőspontos elválasztókkal formázva), Wi-Fi jelszint (dB)
- **Csatlakoztathatóság** — cloud engedélyezve/csatlakoztatva, MQTT csatlakoztatva
- **Eszközinfo** — eszköz ideje, üzemidő (nap/óra/perc formátumban), RAM-használat
- **Firmware** — firmware frissítés elérhető

### Szervizműveletek (HTTP sablon)

Két szervizművelet érhető el:

- **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 a fényidőzítőt (aktív jelző és hátralévő másodpercek), automatikus kikapcsolási időzítőt a fény végponton, belső eszközhőmérsékletet, Wi-Fi jelszintet önálló szenzoreszközként és MQTT online/offline LWT topicot a csatlakozási állapot érzékeléséhez is elérhetővé teszi. 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 a DUO csatlakozik a Wi-Fi-hez és érvényes IP-címmel rendelkezik
2. Próbálja az mDNS hosztnevet (`ShellyBulbDuo-AABBCCDDEE.local`) az IP-cím helyett — az IP megváltozhatott a DHCP megújítás után
3. Nyissa meg a `http://{bulb-ip}/shelly` címet a böngészőben — ha `"type":"SHBDUO-1"` tartalmú JSON-nel válaszol, az izzó elérhető
4. Ellenőrizze, hogy a TapHome CCU és a DUO ugyanazon a hálózaton / VLAN-on van

### 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ó nem válaszol

1. Ellenőrizze, hogy az MQTT engedélyezve van a Shelly 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. `ShellyBulbDuo-B929CC`)
4. Használjon MQTT klienst (pl. MQTT Explorer) a `shellies/#` feliratkozáshoz, és ellenőrizze, hogy az izzó publikál üzeneteket

### A fényátmenetek rángatónak tűnnek

1. Növelje az átmeneti idő paramétert — az alapértelmezett 300 ms túl rövid lehet nagy fényerőváltozásokhoz
2. HTTP használata esetén győződjön meg arról, hogy más rendszer nem kérdezi le egyidejűleg az izzót — a Gen1 eszközök csak 2 egyidejű kapcsolatot támogatnak

> [!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 eszközt, 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 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 | Fényátmenet időtartama ezredmásodpercben (importparaméter, alapértelmezett 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");
```

Fény Fehér lámpa Olvasás és írás

CCT fehér fény (2700–6500 K) — fényerőszabályozás és színhőmérséklet-vezérlés

numeric Egység: %, K json\_path

Fényerő olvasása

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

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

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

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
    SENDHTTPREQUEST("light/0?turn=on&transition=" + transitionTime + "&brightness=" + ROUND(Hb*100.0));
ELSE
    SENDHTTPREQUEST("light/0?turn=off&transition=" + transitionTime);
END

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

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

IF ISNULL(value)
    RETURN(NaN);
END
 
value
```

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

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

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 json\_path

Ö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: `ShellyBulbDuo-{MAC}.local`

Lehetséges fejlesztések (7)

- Light Timer Active — Boolean — whether a countdown timer is currently active on the light output.
- Timer Remaining — Seconds remaining on active timer. Available in /status response.
- Auto-off Timer — Auto-off timer in seconds, could be added as service action or light parameter.
- WiFi Signal Strength (as device) — WiFi RSSI in dBm. HTTP template exposes it as service attribute but not as a standalone sensor device.
- Internal Device Temperature — Internal temperature in celsius. Available in /status for Gen1 devices. Not exposed in DUO template.
- MQTT Real-time Power (as device attribute) — MQTT template reads power in electric meter device but does not expose it as a service attribute on the light device.
- Connection Status — 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 — Device-Specific API
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen1/#shelly-duo) 2026-03-30
- Shelly DUO — Product Datasheet
  
  [shellystore.co.uk](https://shellystore.co.uk/wp-content/uploads/2021/05/Duo-specs.pdf) 2026-03-30
  
  [PDF](https://taphome.com/compatibility/devices/shelly-duo/manufacturer/duo-specs.pdf)

A gyártói dokumentumok © a mindenkori tulajdonosaikat illetik. A gyártó által közzétett formában, kizárólag tájékoztatásul tesszük elérhetővé őket.

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

