---
title: "Shelly Plug S"
description: "Energiafogyasztás figyelése, relévezérlés és hőmérsékletmérés MQTT-n keresztül. TapHome integrációs sablon a Shelly Plug S okos konnektorhoz."
url: "https://taphome.com/hu/compatibility/shelly-plug-s-mqtt/"
language: hu
lastmod: 2026-03-31
generator: hugo
ai:
  topics: ["mqtt","smart-plug","wifi","energy-monitoring","relay-control"]
  questions: ["Hogyan integrálható a Shelly Plug S a TapHome-mal MQTT-n keresztül?","Mit mér a Shelly Plug S sablon a TapHome-ban?","Hogyan találom meg a Shelly Plug S MQTT Device ID-ját?","Miért nem küld teljesítményadatokat a Shelly Plug S?","Hogyan vezérelhetem a Shelly Plug S relét a TapHome-ból?","A Shelly Plug S sablon kWh-ban jelenti az energiafogyasztást?"]
---

# Shelly Plug S

Kommunikáció: Packet Parser → MQTT

- [Shelly Plug S termékoldal](https://www.shelly.com/en/products/shop/shelly-plug-s)

> Hálózati cím
> 
> A TapHome-ba épített MQTT bróker esetén a TapHome-ban brókercímként adja meg a `127.0.0.1` címet. Az eszközben a TapHome Core IP-címét adja meg, és a Core-nak állítson be IP-foglalást a routerben.
> 
> [A hálózat előkészítése](https://taphome.com/hu/docs/setup/network-preparation/)

## Integrációs útmutató

A Shelly Plug S egy kompakt Wi-Fi okos konnektor beépített energiaméréssel, 12A / 2500W névleges terheléssel. A TapHome MQTT-n keresztül kommunikál az eszközzel — a konnektor csatlakozik egy brokerhez, és közzéteszi a relé állapotát, az energiafogyasztást, az energiaszámlálót és a belső hőmérsékleti adatokat.

A sablon két eszközt tartalmaz: egy Villamos mérőt az energiafigyeléshez és egy Kapcsolót a relévezérléshez. Egy modulszintű szervizattribútum jelenti a belső eszközhőmérsékletet.

## Konfiguráció

### Device ID

Minden Shelly Plug S egyedi MQTT Device ID-val rendelkezik `shellyplug-s-<MAC6>` formátumban, ahol a `<MAC6>` a MAC-cím utolsó 6 karaktere kisbetűs hexadecimális formátumban (pl. `shellyplug-s-112233`).

A Device ID megtalálható:

- A Shelly webes felületen: **Settings** → **Device Info** → **Device ID** (az első karakterláncot használd, ne a zárójelben lévőt)
- API-n keresztül: `GET http://<device-ip>/settings` → `mqtt.id` mező

### MQTT engedélyezése

Az MQTT engedélyezése a Shelly Plug S-en:

1. Nyisd meg az eszköz webes felületét a böngészőben (navigálj az eszköz IP-címére)
2. Menj az **Internet and Security** → **Advanced - Developer Settings** menüpontra
3. Jelöld be az **„Enable action execution via MQTT"** opciót
4. A **„Server"** mezőbe írd be: `{MQTT broker IP}:{port}` (alapértelmezett port: `1883`)
5. Nyomd meg a **SAVE** gombot

### Sablon beállítása

A sablon TapHome-ba történő importálása után:

1. Nyisd meg a **Shelly Plug S MQTT** modult
2. Állítsd be az **MQTT Broker IP**-t és a **Port**-ot (alapértelmezett `1883`)
3. Állítsd be a **deviceID** változót a Shelly Plug S Device ID-jára (pl. `112233` — csak a MAC-cím utolsó 6 hexadecimális karaktere)

A modul feliratkozik a `shellies/#` topicra, és a listener szkriptek a konfigurált Device ID prefix (`shellyplug-s-{deviceID}`) alapján szűrik az üzeneteket.

## Eszközképességek

### Energiafigyelés

A Villamos mérő eszköz két értéket olvas a konnektorból:

- **Összfogyasztás** — kumulatív energia a `relay/0/energy` topicból. Az eszköz wattperc-ben jelenti az energiát; a sablon kWh-ra konvertálja 60000-rel való osztással.
- **Pillanatnyi teljesítmény** — aktuális teljesítményfelvétel a `relay/0/power` topicból. Az eszköz wattban jelenti a teljesítményt; a sablon kW-ra konvertálja 1000-rel való osztással.

Mindkét érték az MQTT jelentési intervallum szerint frissül (alapértelmezett 30 másodperc, a Shelly webes felületen konfigurálható a `mqtt_update_period` segítségével).

> [!TIP]
> Az energiaszámláló az eszköz újraindításakor nullázódik. Tartós energiakövetéshez használd a TapHome beépített energianaplózását, amely az eszközszámlálótól függetlenül tárolja a kumulatív értékeket.

### Relévezérlés

A Kapcsoló eszköz vezérli a konnektor reléjét:

- **Állapot olvasása** — figyeli a `shellies/shellyplug-s-{deviceID}/relay/0` topicot és az `on` → 1, `off` → 0 leképezést alkalmazza
- **Állapot írása** — közzétesz a `shellies/shellyplug-s-{deviceID}/relay/0/command` topicra `on` vagy `off` értékkel

A relé legfeljebb 2500W / 12A terhelést támogat.

### Hőmérsékletfigyelés

Egy modulszintű szervizattribútum jelenti a belső eszközhőmérsékletet °C-ban, a `shellies/shellyplug-s-{deviceID}/temperature` topicból olvasva. Ez a konnektor elektronikájának hőmérséklete, nem a szobahőmérséklet.

### További képességek

A Shelly Plug S az MQTT LWT topicon keresztül online/offline állapotot is közzétesz, túlmelegedési figyelmeztetéseket (ha az eszköz meghaladja a biztonságos üzemi hőmérsékletet), olvasható hőmérsékletállapot-besorolást (Normal/High/Very High) és gombnyomás-eseményeket (rövid, hosszú, dupla nyomás). Ezek a képességek egy jövőbeli sablonfrissítésben hozzáadhatók.

## Hibaelhárítás

### Nincs adat a konnektorból

1. Ellenőrizd, hogy a Shelly Plug S csatlakozik a Wi-Fi-hez és az MQTT engedélyezve van az eszközbeállításokban (**Internet and Security** → **Advanced - Developer Settings**)
2. Ellenőrizd, hogy a **deviceID** változó pontosan megegyezik a Device ID-val (pl. `112233`)
3. Használj MQTT klienst (pl. MQTT Explorer) a `shellies/#` feliratkozáshoz és ellenőrizd, hogy a konnektor küld-e üzeneteket

### A teljesítményértékek nullát mutatnak

1. Győződj meg róla, hogy a terhelés csatlakoztatva van és a relé be van kapcsolva
2. Ellenőrizd a `relay/0/power` topicot egy MQTT klienssel — az értéknek nullánál nagyobbnak kell lennie, ha a terhelés áramot vesz fel
3. Ellenőrizd, hogy a Villamos mérő eszköz mutat-e értékeket a TapHome-ban — összfogyasztás kWh-ban, teljesítmény kW-ban

### A relé nem reagál a parancsokra

1. Ellenőrizd, hogy az MQTT engedélyezve van és a broker címe helyes a Shelly webes felületen
2. Ellenőrizd, hogy a TapHome eléri-e az MQTT brokert (helyes IP és port a modulbeállításokban)
3. Teszteld `on` vagy `off` közzétételével a `shellies/shellyplug-s-{deviceID}/relay/0/command` topicra egy MQTT klienssel

> [!WARNING]
> A Shelly Gen1 eszközök **nem** támogatják az MQTT-t TLS-en keresztül. A konnektor és az MQTT broker közötti kommunikáció titkosítatlan (plain MQTT, 1883-as port). Győződj meg róla, hogy az MQTT broker megbízható helyi hálózaton üzemel.

## Telepítés a TapHome-ban

### Előfeltételek

- Shelly eszköz csatlakoztatva a Wi-Fi-hez (2,4 GHz), pl. a Shelly alkalmazással vagy az eszköz saját hozzáférési pontján keresztül
- MQTT broker fut a helyi hálózaton (pl. Mosquitto, Home Assistant vagy a TapHome beépített brokere)
- TapHome CCU ugyanazon a hálózaton, mint a broker

> [!WARNING]
> A **Gen1** eszközökön az MQTT engedélyezése **letiltja a Shelly Cloudot**. A kettő nem futhat egyszerre. A Gen2/Plus eszközökön ez a korlátozás nem érvényes.

### 1. lépés — MQTT engedélyezése a Shelly eszközön

#### Gen1 eszközök (Shelly 1, 1PM, 2.5, EM, 3EM, Plug S, RGBW2, Dimmer, TRV…)

1. Nyissa meg a Shelly webes felületet: `http://<device-ip>/`
2. Navigáljon az **Internet & Security** → **Advanced — MQTT** menüpontra
3. Engedélyezze az **MQTT**-t
4. Állítsa be az **MQTT Server**-t: `<broker-ip>:<port>` (pl. `192.168.1.10:1883`)
5. Opcionálisan állítsa be az **MQTT User** és **MQTT Password** mezőket, ha a broker hitelesítést igényel
6. Kattintson a **Save** gombra — az eszköz újraindul és csatlakozik a brokerhez

#### Gen2 / Plus eszközök (Shelly Plus 1, Plus 1PM, Plus 2PM, Plus Plug S, Plus H&T, Pro 3EM…)

1. Nyissa meg a Shelly webes felületet: `http://<device-ip>/`
2. Navigáljon a **Settings** → **MQTT** menüpontra
3. Engedélyezze az **MQTT**-t
4. Állítsa be a **Server**-t: `<broker-ip>:<port>` (pl. `192.168.1.10:1883`)
5. A **Client ID** előre ki van töltve az eszköz azonosítójával (pl. `shellyplus1pm-AABBCCDDEE`) — hagyja így, hacsak nincs konkrét oka a változtatásra
6. Kattintson a **Save** gombra és indítsa újra az eszközt

A beépített TapHome broker esetén a `<broker-ip>` a TapHome Core IP-címe. Adjon a Core-nak IP-foglalást a routerben, különben az eszköz elveszíti a brokert, 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/).

> [!TIP]
> Az MQTT működésének ellenőrzéséhez használjon egy MQTT klienst (pl. MQTT Explorer), és iratkozzon fel a `shellies/#` (Gen1) vagy `<device-id>/#` (Gen2) topikra. Látnia kell az eszköz állapotüzeneteit.

### 2. lépés — Device ID / MQTT Client ID megkeresése

Egyes sablonok **Device ID** vagy **MQTT Client ID** paramétert igényelnek. Ez az egyedi azonosító, amelyet az MQTT topikokban használnak.

- **Gen1:** a címkén MAC-címként található (pl. `AABBCCDDEE`). Device ID = `shelly<model>-<mac>`, pl. `shelly1pm-AABBCCDDEE`
- **Gen2/Plus:** a Shelly webes felületén a **Settings** → **Device Info** → **Device ID** alatt található, vagy az eszköz címkéjén

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

1. A TapHome-ban adjon hozzá egy új **Packet Parser (MQTT)** modult
2. **IP Address:** a beépített TapHome brokerhez `127.0.0.1` (a vezérlőegység saját magához csatlakozik, a cím soha nem változik); külső broker esetén annak IP-címe (pl. `192.168.1.10`)
3. **Port:** `1883` (alapértelmezett; TLS esetén használjon `8883`-at)
4. **Device ID / MQTT Client ID:** adja meg a 2. lépésben kapott értéket (ha a sablon megköveteli)
5. Importálja a sablont — a TapHome automatikusan feliratkozik az eszköz topikjaira

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

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

Shelly Plug S MQTT Modul

Szerviz attribútumok

|             |                                                  |
|-------------|--------------------------------------------------|
| Hőmérséklet | Belső eszközhőmérséklet — nem a szobahőmérséklet |

Egyéni változók

|                     |                                                                                                                                                                   |
|---------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `deviceID` (string) | A Shelly Plug S MQTT Device ID-ja — a MAC-cím utolsó 6 karaktere kisbetűs hexadecimális formátumban (a Shelly webes felületen található → Settings → Device Info) |

Figyelő

```taphome
VAR whatT := "shellies/shellyplug-s-"+deviceID+"/temperature";
IF (whatT = RECEIVEDMSG.TOPIC)
 temperatureC := TOSTRING(RECEIVEDMSG.PAYLOAD);
END
```

Szerviz attribútumok

Temperature \[°C ]

```taphome
temperatureC
```

Villamos mérő Villanyóra Csak olvasható

Energiafogyasztás mérése — pillanatnyi teljesítmény (kW) és kumulatív energia (kWh)

numeric Egység: kWh (total), kW (demand) energy: Watt-minutes /60000 = kWh; demand: Watts /1000 = kW

Összes fogyasztás olvasása

```taphome
# Simple HTTP Request:
# VAR response := SENDHTTPREQUEST("/example/getValue");
# IF response.IsSuccess
#  VAR content := response.Content;
#  VAR responseHeaders := response.Headers;
#  RETURN(PARSEXML(content, "//element1/value1"));
# ELSE
#  ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
#  RETURN(NaN);
# END
#
# Set Http request method, body and headers
# VAR response := SENDHTTPREQUEST("/example/getValue", "GET", "some data", "header1:value1", "header2:value2", ...);
# OR
# VAR request := HTTPREQUEST("/example/getValue", "POST", "some data");
# request.headers := { "header1:value1", "header2:value2", ...};
# request.method := "GET";
# request.data := null;
# VAR response := SENDHTTPREQUEST(request);
#
#
# Send TCP, UDP data:
# VAR data1 := BYTECOLLECTION("0a bb ea df 01");
# SENDDATA(data1);
# VAR data2 := "{\"name\":\"John\", \"age\":32}";
# SENDDATA(data2);
# VAR data3 := TOBYTES("{\"name\":\"John\", \"age\":32}", "iso-8859-1");
# SENDDATA(data3);
# Process received TCP or UDP data and set device values in the Listener script
#
#
# Download data from FTP:
# FTPDOWNLOAD("filePath");
```

Igény olvasása

```taphome
# Simple HTTP Request:
# VAR response := SENDHTTPREQUEST("/example/getValue");
# IF response.IsSuccess
#  VAR content := response.Content;
#  VAR responseHeaders := response.Headers;
#  RETURN(PARSEXML(content, "//element1/value1"));
# ELSE
#  ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
#  RETURN(NaN);
# END
#
# Set Http request method, body and headers
# VAR response := SENDHTTPREQUEST("/example/getValue", "GET", "some data", "header1:value1", "header2:value2", ...);
# OR
# VAR request := HTTPREQUEST("/example/getValue", "POST", "some data");
# request.headers := { "header1:value1", "header2:value2", ...};
# request.method := "GET";
# request.data := null;
# VAR response := SENDHTTPREQUEST(request);
#
#
# Send TCP, UDP data:
# VAR data1 := BYTECOLLECTION("0a bb ea df 01");
# SENDDATA(data1);
# VAR data2 := "{\"name\":\"John\", \"age\":32}";
# SENDDATA(data2);
# VAR data3 := TOBYTES("{\"name\":\"John\", \"age\":32}", "iso-8859-1");
# SENDDATA(data3);
# Process received TCP or UDP data and set device values in the Listener script
#
#
# Download data from FTP:
# FTPDOWNLOAD("filePath");
```

Figyelő

```taphome
VAR whatTo := "shellies/shellyplug-s-"+deviceID+"/relay/0/energy";
IF (whatTo = RECEIVEDMSG.TOPIC)
 To := TODOUBLE(TOSTRING(RECEIVEDMSG.PAYLOAD))/60000;
END
VAR whatEd := "shellies/shellyplug-s-"+deviceID+"/relay/0/power";
IF (whatEd = RECEIVEDMSG.TOPIC)
 Ed := TODOUBLE(TOSTRING(RECEIVEDMSG.PAYLOAD))/1000;
END
```

Kapcsoló Kapcsoló Olvasás és írás

string on→1, off→0 (read); 1→on, 0→off (write)

Értékek / Állapotok: ON · OFF

Kapcsoló állapot olvasása

```taphome
# Simple HTTP Request:
#VAR response := SENDHTTPREQUEST("/example/getValue");
#IF response.IsSuccess
# VAR content := response.Content;
# VAR responseHeaders := response.Headers;
# RETURN(PARSEXML(content, "//element1/value1"));
#ELSE
# ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
# RETURN(NaN);
# END
#
# Set Http request method, body and headers
# VAR response := SENDHTTPREQUEST("/example/getValue", "GET", "some data", "header1:value1", "header2:value2", ...);
# OR
# VAR request := HTTPREQUEST("/example/getValue", "POST", "some data");
# request.headers := { "header1:value1", "header2:value2", ...};
# request.method := "GET";
# request.data := null;
# VAR response := SENDHTTPREQUEST(request);
#
#
# Send TCP, UDP data:
# VAR data1 := BYTECOLLECTION("0a bb ea df 01");
# SENDDATA(data1);
# VAR data2 := "{\"name\":\"John\", \"age\":32}";
# SENDDATA(data2);
# VAR data3 := TOBYTES("{\"name\":\"John\", \"age\":32}", "iso-8859-1");
# SENDDATA(data3);
# Process received TCP or UDP data and set device values in the Listener script
#
#
# Download data from FTP:
# FTPDOWNLOAD("filePath");
```

Kapcsoló állapot írása

```taphome
# Simple HTTP Request:
MQTTPUBLISH("shellies/shellyplug-s-"+deviceID+ "/relay/0/command",if(St = 1, "on","off"));
# IF response.IsSuccess = false
#  ADDERROR(response.StatusCode);
# END
#
# Set Http request method, body and headers
# VAR response := SENDHTTPREQUEST("/example/setValue", "GET", "value=" + St, "header1:value1", "header2:value2", ...);\r
# Or VAR request := HTTPREQUEST("/example/setValue");
# request.Method := "PUT";
# VAR response := SENDHTTPREQUEST(request);
#r
#
# Send TCP, UDP data:
# VAR data1 := "{\"name\":\"John\", \"age\":" + St + "}";
# SENDDATA(data1);
# VAR data2 := TOBYTES("{\"name\":\"John\", \"age\":" + St + "}", "iso-8859-1");
# SENDDATA(data2);
# You can process received TCP or UDP data in the Listener script
#
#
# Upload data to FTP:
# FTPUPLOAD("filePath", "somedata=" + St, "write"); # use "append" mode to append data to existing file






#MQTTPUBLISH(topic + "/relay/0/command",if());
```

Figyelő

```taphome
VAR whatSt := "shellies/shellyplug-s-"+deviceID+"/relay/0";
IF (whatSt = RECEIVEDMSG.TOPIC)
 IF (TOSTRING(RECEIVEDMSG.PAYLOAD) = "on")
  St := 1;
 ELSE
  St := 0;
 END
END
```

**Kapcsolat:** Packet Parser → MQTT

Lehetséges fejlesztések (6)

- Connection Status — LWT topic — true on connect, false on disconnect. Could detect offline device.
- Overtemperature Alert — 1 = overheated, 0 = normal. Could trigger safety alarm when device exceeds safe operating temperature.
- Temperature Status — String: Normal, High, or Very High. Human-readable temperature classification.
- Button Input State — 0 or 1 — physical button state on the device.
- Button Input Event — JSON payload with event type (S=short, L=long, SS=double, SSS=triple) and event counter.
- Overpower State — Relay topic can report 'overpower' payload when load exceeds rating. Not parsed in listener script.

## Importálási paraméterek

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

| Az alkalmazás kéri | Alapérték              |
|--------------------|------------------------|
| Mqtt Broker IP-cím | `192.168.0.1`          |
| Mqtt Broker port   | `1883`                 |
| Device ID          | Importáláskor adja meg |

## 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 Plug S — Device-Specific MQTT API
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen1/#shelly-plug-plugs-mqtt) 2026-03-31

## Kapcsolódó dokumentáció

- [MQTT Integration](https://taphome.com/hu/compatibility/mqtt-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/)
- [MQTT bróker](https://taphome.com/hu/docs/integration/packet-parser/mqtt-broker/)
- [Listener szkriptek](https://taphome.com/hu/docs/script/listener-scripts/)

