---
title: "Shelly 1PM"
description: "Shelly 1PM egycsatornás Wi-Fi relé teljesítményméréssel MQTT-n keresztül TapHome-mal. Relévezérlés, valós idejű teljesítmény és kumulatív energia."
url: "https://taphome.com/hu/compatibility/shelly-1pm-mqtt/"
language: hu
lastmod: 2026-03-31
generator: hugo
ai:
  topics: ["mqtt","smart-plug","wifi","relay","power-metering"]
  questions: ["Hogyan integráljam a Shelly 1PM-et TapHome-mal MQTT-n keresztül?","Mit mér a Shelly 1PM MQTT TapHome sablon?","Hogyan konfigurálhatok több Shelly 1PM egységet egy TapHome sablonban?","Miért nem küld a Shelly 1PM MQTT teljesítményadatokat?","Hogyan találom meg a Shelly 1PM MQTT Device ID-ját?","Jelzi a Shelly 1PM MQTT a túlmelegedést és túlterhelést TapHome-ban?"]
---

# Shelly 1PM

Kommunikáció: Packet Parser → MQTT

- [Shelly 1PM termékoldal](https://www.shelly.com/en/products/shop/shelly-1pm)
- [Shelly Gen1 MQTT API referencia](https://shelly-api-docs.shelly.cloud/gen1/)

> 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 1PM egy kompakt egycsatornás Wi-Fi relés kapcsoló beépített teljesítményméréssel. Elfér egy szabványos fali kapcsoló mögött, és egyetlen áramkört vezérelhet 16 A-ig (3500 W 230 V mellett). A TapHome MQTT-n keresztül kommunikál az eszközzel — ez a Shelly 1PM sablon MQTT változata, amely akkor ajánlott, ha a helyi MQTT kommunikációt részesíted előnyben a HTTP polling helyett.

A sablon modulonként legfeljebb 5 Shelly 1PM egységet támogat. Minden egységet egy egyedi `pulgNtopic` változó különböztet meg, amely az eszköz MQTT Client ID-jára mutat. Minden egység egy relés kapcsolót és egy villamos mérőt biztosít.

## Konfiguráció

### Device ID

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

A Device ID megtalálható:

- Az eszköz címkéjén (MAC-cím)
- A Shelly webes felületén: **Settings** → **Device Info**
- API-n keresztül: `GET http://<device-ip>/settings` → `mqtt.id` mező

> [!TIP]
> Ez az eszköz támogatja az **mDNS discovery**-t. A TapHome konfigurálásakor IP-cím helyett használhatod a `shelly1pm-{MAC}.local` hostnevet. Cseréld ki a `{MAC}`-et az eszköz MAC-címének utolsó 6 karakterére kisbetűs hexadecimális formátumban (pl. `shelly1pm-112233.local`). A hostname használata megelőzi a csatlakozási problémákat az eszköz IP-címének változásakor.

### Sablon beállítása

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

1. Nyisd meg a **Shelly 1PM MQTT** modult
2. Állítsd be az **MQTT Broker IP**-t és a **Port**-ot (alapértelmezés: `1883`)
3. Minden Shelly 1PM egységhez állítsd be a `pulgNtopic` változót a megfelelő Shelly 1PM Device ID-jára (pl. `shelly1pm-112233`)

A modul feliratkozik a `shellies/#` topicra, és a listener szkriptek a konfigurált topic-előtag alapján szűrik az üzeneteket.

> [!TIP]
> Csak a ténylegesen használt slotokat konfiguráld. A nem konfigurált slotok (az alapértelmezett `shelly1pm-deviceidN` értékkel) nem egyeznek valódi eszközzel, és figyelmen kívül hagyhatók.

## Eszközfunkciók

### Relévezérlés

Minden egység egy kapcsolóeszközt biztosít a TapHome-ban. A relé állapota a `shellies/<id>/relay/0` topicból olvasható, és `on` vagy `off` üzenet küldésével vezérelhető a `shellies/<id>/relay/0/command` topicra.

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

Minden egység tartalmaz egy villamos mérőt, amely két értéket olvas:

- **Valós idejű teljesítmény** — `shellies/<id>/relay/0/power` wattban jelentve, a sablon kW-ra konvertálja
- **Összesített fogyasztás** — `shellies/<id>/relay/0/energy` watt-percben jelentve, a sablon kWh-ra konvertálja

A mérő csak olvasható — automatikusan frissül, amikor az eszköz új adatokat publikál.

### Hőmérséklet- és túlterhelés-figyelés

Minden kapcsolóeszköz négy szervizattribútumot biztosít:

- **Belső hőmérséklet** — az eszköz hőmérséklete °C-ban a `shellies/<id>/temperature` topicból
- **Hőmérséklet állapot** — hőmérsékleti szint: Normal, High vagy Very High (`shellies/<id>/temperature_status`)
- **Túlmelegedés** — túlhőmérséklet riasztási jelző (`shellies/<id>/overtemperature`)
- **Túlterhelés** — a terhelés teljesítményét (W) jelenti túlterhelés észlelésekor (`shellies/<id>/overpower_value`)

### További funkciók

A Shelly 1PM online/offline állapotot is publikál az MQTT Last Will and Testament (LWT) topicon keresztül, teljes JSON állapotüzenetet (firmware ≥1.8.0), fizikai bemenet állapotát és bemeneti eseményeket (rövid/dupla/tripla/hosszú nyomás). Ezek a funkciók egy jövőbeli sablonfrissítésben adhatók hozzá.

## Hibaelhárítás

### Az eszköz nem küld adatokat

1. Ellenőrizd, hogy a Shelly 1PM csatlakozik a Wi-Fi-hez és az MQTT engedélyezve van az eszközbeállításokban
2. Ellenőrizd, hogy a `pulgNtopic` változó pontosan megegyezik a Device ID-vel (pl. `shelly1pm-112233`)
3. Erősítsd meg az MQTT broker IP-címének és portjának helyességét a modulbeállításokban
4. Használj MQTT klienst (pl. MQTT Explorer) a `shellies/#` feliratkozáshoz, és ellenőrizd, hogy az eszköz publikál üzeneteket

### A teljesítménymérés nullát mutat

1. Erősítsd meg, hogy a terhelés a Shelly relén keresztül van csatlakoztatva (nem megkerülve)
2. Ellenőrizd, hogy a relé be van kapcsolva — a mérő csak akkor mér, amikor áram folyik a relén keresztül
3. Iratkozz fel a `shellies/<id>/relay/0/power` topicra egy MQTT kliensben, és ellenőrizd, hogy az eszköz nem nulla értéket jelent

### Túlmelegedési figyelmeztetés

A Shelly 1PM beépített hővédelemmel rendelkezik. Ha az eszköz hőmérséklete meghaladja a biztonságos határértékeket, a `temperature_status` "High" vagy "Very High" értékre változik, és az `overtemperature` `true` lesz. Biztosíts megfelelő szellőzést az eszköz körül, különösen nagy terhelések kapcsolásakor.

> [!WARNING]
> A Shelly Gen1 eszközök **nem támogatják** az MQTT-t TLS-en keresztül. Az eszköz é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 van.

## 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 10

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

Shelly 1PM MQTT Modul

Egyéni változók

`pulg1topic` (string) = shelly1pm-deviceid1 Az első Shelly 1PM egység MQTT device ID-ja — formátum: 'shelly1pm-DEVICEID' (a Device ID a Shelly webes felületen található → Settings → Device Info)

Open http://shellyIpAddress → Settings → Device info → copy Device ID

`pulg2topic` (string) = shelly1pm-deviceid2 A második Shelly 1PM egység MQTT device ID-ja 

`pulg3topic` (string) = shelly1pm-deviceid3 A harmadik Shelly 1PM egység MQTT device ID-ja 

`pulg4topic` (string) = shelly1pm-deviceid4 A negyedik Shelly 1PM egység MQTT device ID-ja 

`pulg5topic` (string) = shelly1pm-deviceid5 Az ötödik Shelly 1PM egység MQTT device ID-ja

Villamos mérő 1 Villanyóra Csak olvasható

Valós idejű teljesítmény (kW) és kumulatív energia (kWh) az 1. Shelly 1PM egységhez

numeric Egység: kW / kWh

Figyelő

```taphome
IF(INDEXOF(pulg1topic, "shelly1pm-deviceid") = 0)
    ADDERROR("Set correct 'pulg1topic' value in module variables. Topic format is 'shelly1pm-<deviceid>'. The Device ID can be found by opening url 'http://shellyIpAddress', in Settings -> Device info.");
    RETURN(-1);
END

IF(INDEXOF(RECEIVEDMSG.TOPIC, "shellies/" + pulg1topic + "/relay/0/") != 0)
    RETURN(0);
END

IF(RECEIVEDMSG.TOPIC = "shellies/" + pulg1topic + "/relay/0/power")
    VAR valueP := TOSTRING(RECEIVEDMSG.PAYLOAD);

    Ed := IF(ISNULL(valueP), NaN, TODOUBLE(valueP) / 1000.0);
ELSEIF(RECEIVEDMSG.TOPIC = "shellies/" + pulg1topic + "/relay/0/energy")
    VAR valueE := TOSTRING(RECEIVEDMSG.PAYLOAD);

    To := IF(ISNULL(valueE), NaN, TODOUBLE(valueE) / 60000.0);
END
```

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

Relévezérlés az 1. Shelly 1PM egységhez — ki/be kapcsolás hőmérséklet- és túlterhelés-figyeléssel

boolean

Értékek / Állapotok: ON · OFF

Kapcsoló állapot írása

```taphome
VAR value := IF(St = 1, "on", "off");
MQTTPUBLISH("shellies/" + pulg1topic + "/relay/0/command", value);
```

Figyelő

```taphome
IF(INDEXOF(pulg1topic, "shelly1pm-deviceid") = 0)
    ADDERROR("Set correct 'pulg1topic' value in module variables. Topic format is 'shelly1pm-<deviceid>'. The Device ID can be found by opening url 'http://shellyIpAddress', in Settings -> Device info.");
    RETURN(-1);
END

IF(INDEXOF(RECEIVEDMSG.TOPIC, "shellies/" + pulg1topic) != 0)
    RETURN(0);
END

IF(RECEIVEDMSG.TOPIC = "shellies/" + pulg1topic + "/relay/0")
    VAR value := TOSTRING(RECEIVEDMSG.PAYLOAD);
    
    IF(value = "on")
        St := 1;
    ELSEIF(value = "off")
        St := 0;
    ELSE
        ADDERROR("Unknown switch state");
    END
ELSEIF(RECEIVEDMSG.TOPIC = "shellies/" + pulg1topic + "/temperature")
    internalTemp := TOSTRING(RECEIVEDMSG.PAYLOAD);
ELSEIF(RECEIVEDMSG.TOPIC = "shellies/" + pulg1topic + "/overtemperature")
    overTemp := TOSTRING(RECEIVEDMSG.PAYLOAD);
ELSEIF(RECEIVEDMSG.TOPIC = "shellies/" + pulg1topic + "/temperature_status")
    tempStatus := TOSTRING(RECEIVEDMSG.PAYLOAD);
ELSEIF(RECEIVEDMSG.TOPIC = "shellies/" + pulg1topic + "/overpower_value")
    overPower := TOSTRING(RECEIVEDMSG.PAYLOAD);
END
```

Szerviz attribútumok

Internal temperature

```taphome
IF(LENGTH(internalTemp) = 0, "Unknown", internalTemp + "°C");
```

Overheated

```taphome
IF(LENGTH(overTemp) = 0, "Unknown", IF(overtemp = 0, "No", "Yes"));
```

Temperature status

```taphome
IF(LENGTH(tempStatus) = 0, "Unknown", tempStatus);
```

Overpower

```taphome
IF(LENGTH(overPower) = 0, "0W", overPower + "W");
```

Villamos mérő 2 Villanyóra Csak olvasható

Valós idejű teljesítmény (kW) és kumulatív energia (kWh) a 2. Shelly 1PM egységhez

numeric Egység: kW / kWh

Figyelő

```taphome
IF(INDEXOF(pulg2topic, "shelly1pm-deviceid") = 0)
    ADDERROR("Set correct 'pulg2topic' value in module variables. Topic format is 'shelly1pm-<deviceid>'. The Device ID can be found by opening url 'http://shellyIpAddress', in Settings -> Device info.");
    RETURN(-1);
END

IF(INDEXOF(RECEIVEDMSG.TOPIC, "shellies/" + pulg2topic + "/relay/0/") != 0)
    RETURN(0);
END

IF(RECEIVEDMSG.TOPIC = "shellies/" + pulg2topic + "/relay/0/power")
    VAR valueP := TOSTRING(RECEIVEDMSG.PAYLOAD);

    Ed := IF(ISNULL(valueP), NaN, TODOUBLE(valueP) / 1000.0);
ELSEIF(RECEIVEDMSG.TOPIC = "shellies/" + pulg2topic + "/relay/0/energy")
    VAR valueE := TOSTRING(RECEIVEDMSG.PAYLOAD);

    To := IF(ISNULL(valueE), NaN, TODOUBLE(valueE) / 60000.0);
END
```

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

Relévezérlés a 2. Shelly 1PM egységhez — ki/be kapcsolás hőmérséklet- és túlterhelés-figyeléssel

boolean

Értékek / Állapotok: ON · OFF

Kapcsoló állapot írása

```taphome
VAR value := IF(St = 1, "on", "off");
MQTTPUBLISH("shellies/" + pulg2topic + "/relay/0/command", value);
```

Figyelő

```taphome
IF(INDEXOF(pulg2topic, "shelly1pm-deviceid") = 0)
    ADDERROR("Set correct 'pulg2topic' value in module variables. Topic format is 'shelly1pm-<deviceid>'. The Device ID can be found by opening url 'http://shellyIpAddress', in Settings -> Device info.");
    RETURN(-1);
END

IF(INDEXOF(RECEIVEDMSG.TOPIC, "shellies/" + pulg2topic) != 0)
    RETURN(0);
END

IF(RECEIVEDMSG.TOPIC = "shellies/" + pulg2topic + "/relay/0")
    VAR value := TOSTRING(RECEIVEDMSG.PAYLOAD);
    
    IF(value = "on")
        St := 1;
    ELSEIF(value = "off")
        St := 0;
    ELSE
        ADDERROR("Unknown switch state");
    END
ELSEIF(RECEIVEDMSG.TOPIC = "shellies/" + pulg2topic + "/temperature")
    internalTemp := TOSTRING(RECEIVEDMSG.PAYLOAD);
ELSEIF(RECEIVEDMSG.TOPIC = "shellies/" + pulg2topic + "/overtemperature")
    overTemp := TOSTRING(RECEIVEDMSG.PAYLOAD);
ELSEIF(RECEIVEDMSG.TOPIC = "shellies/" + pulg2topic + "/temperature_status")
    tempStatus := TOSTRING(RECEIVEDMSG.PAYLOAD);
ELSEIF(RECEIVEDMSG.TOPIC = "shellies/" + pulg2topic + "/overpower_value")
    overPower := TOSTRING(RECEIVEDMSG.PAYLOAD);
END
```

Szerviz attribútumok

Internal temperature

```taphome
IF(LENGTH(internalTemp) = 0, "Unknown", internalTemp + "°C");
```

Overheated

```taphome
IF(LENGTH(overTemp) = 0, "Unknown", IF(overtemp = 0, "No", "Yes"));
```

Temperature status

```taphome
IF(LENGTH(tempStatus) = 0, "Unknown", tempStatus);
```

Overpower

```taphome
IF(LENGTH(overPower) = 0, "0W", overPower + "W");
```

Villamos mérő 3 Villanyóra Csak olvasható

Valós idejű teljesítmény (kW) és kumulatív energia (kWh) a 3. Shelly 1PM egységhez

numeric Egység: kW / kWh

Figyelő

```taphome
IF(INDEXOF(pulg3topic, "shelly1pm-deviceid") = 0)
    ADDERROR("Set correct 'pulg3topic' value in module variables. Topic format is 'shelly1pm-<deviceid>'. The Device ID can be found by opening url 'http://shellyIpAddress', in Settings -> Device info.");
    RETURN(-1);
END

IF(INDEXOF(RECEIVEDMSG.TOPIC, "shellies/" + pulg3topic + "/relay/0/") != 0)
    RETURN(0);
END

IF(RECEIVEDMSG.TOPIC = "shellies/" + pulg3topic + "/relay/0/power")
    VAR valueP := TOSTRING(RECEIVEDMSG.PAYLOAD);

    Ed := IF(ISNULL(valueP), NaN, TODOUBLE(valueP) / 1000.0);
ELSEIF(RECEIVEDMSG.TOPIC = "shellies/" + pulg3topic + "/relay/0/energy")
    VAR valueE := TOSTRING(RECEIVEDMSG.PAYLOAD);

    To := IF(ISNULL(valueE), NaN, TODOUBLE(valueE) / 60000.0);
END
```

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

Relévezérlés a 3. Shelly 1PM egységhez — ki/be kapcsolás hőmérséklet- és túlterhelés-figyeléssel

boolean

Értékek / Állapotok: ON · OFF

Kapcsoló állapot írása

```taphome
VAR value := IF(St = 1, "on", "off");
MQTTPUBLISH("shellies/" + pulg3topic + "/relay/0/command", value);
```

Figyelő

```taphome
IF(INDEXOF(pulg3topic, "shelly1pm-deviceid") = 0)
    ADDERROR("Set correct 'pulg3topic' value in module variables. Topic format is 'shelly1pm-<deviceid>'. The Device ID can be found by opening url 'http://shellyIpAddress', in Settings -> Device info.");
    RETURN(-1);
END

IF(INDEXOF(RECEIVEDMSG.TOPIC, "shellies/" + pulg3topic) != 0)
    RETURN(0);
END

IF(RECEIVEDMSG.TOPIC = "shellies/" + pulg3topic + "/relay/0")
    VAR value := TOSTRING(RECEIVEDMSG.PAYLOAD);
    
    IF(value = "on")
        St := 1;
    ELSEIF(value = "off")
        St := 0;
    ELSE
        ADDERROR("Unknown switch state");
    END
ELSEIF(RECEIVEDMSG.TOPIC = "shellies/" + pulg3topic + "/temperature")
    internalTemp := TOSTRING(RECEIVEDMSG.PAYLOAD);
ELSEIF(RECEIVEDMSG.TOPIC = "shellies/" + pulg3topic + "/overtemperature")
    overTemp := TOSTRING(RECEIVEDMSG.PAYLOAD);
ELSEIF(RECEIVEDMSG.TOPIC = "shellies/" + pulg3topic + "/temperature_status")
    tempStatus := TOSTRING(RECEIVEDMSG.PAYLOAD);
ELSEIF(RECEIVEDMSG.TOPIC = "shellies/" + pulg3topic + "/overpower_value")
    overPower := TOSTRING(RECEIVEDMSG.PAYLOAD);
END
```

Szerviz attribútumok

Internal temperature

```taphome
IF(LENGTH(internalTemp) = 0, "Unknown", internalTemp + "°C");
```

Overheated

```taphome
IF(LENGTH(overTemp) = 0, "Unknown", IF(overtemp = 0, "No", "Yes"));
```

Temperature status

```taphome
IF(LENGTH(tempStatus) = 0, "Unknown", tempStatus);
```

Overpower

```taphome
IF(LENGTH(overPower) = 0, "0W", overPower + "W");
```

Villamos mérő 4 Villanyóra Csak olvasható

Valós idejű teljesítmény (kW) és kumulatív energia (kWh) a 4. Shelly 1PM egységhez

numeric Egység: kW / kWh

Figyelő

```taphome
IF(INDEXOF(pulg4topic, "shelly1pm-deviceid") = 0)
    ADDERROR("Set correct 'pulg4topic' value in module variables. Topic format is 'shelly1pm-<deviceid>'. The Device ID can be found by opening url 'http://shellyIpAddress', in Settings -> Device info.");
    RETURN(-1);
END

IF(INDEXOF(RECEIVEDMSG.TOPIC, "shellies/" + pulg4topic + "/relay/0/") != 0)
    RETURN(0);
END

IF(RECEIVEDMSG.TOPIC = "shellies/" + pulg4topic + "/relay/0/power")
    VAR valueP := TOSTRING(RECEIVEDMSG.PAYLOAD);

    Ed := IF(ISNULL(valueP), NaN, TODOUBLE(valueP) / 1000.0);
ELSEIF(RECEIVEDMSG.TOPIC = "shellies/" + pulg4topic + "/relay/0/energy")
    VAR valueE := TOSTRING(RECEIVEDMSG.PAYLOAD);

    To := IF(ISNULL(valueE), NaN, TODOUBLE(valueE) / 60000.0);
END
```

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

Relévezérlés a 4. Shelly 1PM egységhez — ki/be kapcsolás hőmérséklet- és túlterhelés-figyeléssel

boolean

Értékek / Állapotok: ON · OFF

Kapcsoló állapot írása

```taphome
VAR value := IF(St = 1, "on", "off");
MQTTPUBLISH("shellies/" + pulg4topic + "/relay/0/command", value);
```

Figyelő

```taphome
IF(INDEXOF(pulg4topic, "shelly1pm-deviceid") = 0)
    ADDERROR("Set correct 'pulg4topic' value in module variables. Topic format is 'shelly1pm-<deviceid>'. The Device ID can be found by opening url 'http://shellyIpAddress', in Settings -> Device info.");
    RETURN(-1);
END

IF(INDEXOF(RECEIVEDMSG.TOPIC, "shellies/" + pulg4topic) != 0)
    RETURN(0);
END

IF(RECEIVEDMSG.TOPIC = "shellies/" + pulg4topic + "/relay/0")
    VAR value := TOSTRING(RECEIVEDMSG.PAYLOAD);
    
    IF(value = "on")
        St := 1;
    ELSEIF(value = "off")
        St := 0;
    ELSE
        ADDERROR("Unknown switch state");
    END
ELSEIF(RECEIVEDMSG.TOPIC = "shellies/" + pulg4topic + "/temperature")
    internalTemp := TOSTRING(RECEIVEDMSG.PAYLOAD);
ELSEIF(RECEIVEDMSG.TOPIC = "shellies/" + pulg4topic + "/overtemperature")
    overTemp := TOSTRING(RECEIVEDMSG.PAYLOAD);
ELSEIF(RECEIVEDMSG.TOPIC = "shellies/" + pulg4topic + "/temperature_status")
    tempStatus := TOSTRING(RECEIVEDMSG.PAYLOAD);
ELSEIF(RECEIVEDMSG.TOPIC = "shellies/" + pulg4topic + "/overpower_value")
    overPower := TOSTRING(RECEIVEDMSG.PAYLOAD);
END
```

Szerviz attribútumok

Internal temperature

```taphome
IF(LENGTH(internalTemp) = 0, "Unknown", internalTemp + "°C");
```

Overheated

```taphome
IF(LENGTH(overTemp) = 0, "Unknown", IF(overtemp = 0, "No", "Yes"));
```

Temperature status

```taphome
IF(LENGTH(tempStatus) = 0, "Unknown", tempStatus);
```

Overpower

```taphome
IF(LENGTH(overPower) = 0, "0W", overPower + "W");
```

Villamos mérő 5 Villanyóra Csak olvasható

Valós idejű teljesítmény (kW) és kumulatív energia (kWh) az 5. Shelly 1PM egységhez

numeric Egység: kW / kWh

Figyelő

```taphome
IF(INDEXOF(pulg5topic, "shelly1pm-deviceid") = 0)
    ADDERROR("Set correct 'pulg5topic' value in module variables. Topic format is 'shelly1pm-<deviceid>'. The Device ID can be found by opening url 'http://shellyIpAddress', in Settings -> Device info.");
    RETURN(-1);
END

IF(INDEXOF(RECEIVEDMSG.TOPIC, "shellies/" + pulg5topic + "/relay/0/") != 0)
    RETURN(0);
END

IF(RECEIVEDMSG.TOPIC = "shellies/" + pulg5topic + "/relay/0/power")
    VAR valueP := TOSTRING(RECEIVEDMSG.PAYLOAD);

    Ed := IF(ISNULL(valueP), NaN, TODOUBLE(valueP) / 1000.0);
ELSEIF(RECEIVEDMSG.TOPIC = "shellies/" + pulg5topic + "/relay/0/energy")
    VAR valueE := TOSTRING(RECEIVEDMSG.PAYLOAD);

    To := IF(ISNULL(valueE), NaN, TODOUBLE(valueE) / 60000.0);
END
```

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

Relévezérlés az 5. Shelly 1PM egységhez — ki/be kapcsolás hőmérséklet- és túlterhelés-figyeléssel

boolean

Értékek / Állapotok: ON · OFF

Kapcsoló állapot írása

```taphome
VAR value := IF(St = 1, "on", "off");
MQTTPUBLISH("shellies/" + pulg5topic + "/relay/0/command", value);
```

Figyelő

```taphome
IF(INDEXOF(pulg5topic, "shelly1pm-deviceid") = 0)
    ADDERROR("Set correct 'pulg5topic' value in module variables. Topic format is 'shelly1pm-<deviceid>'. The Device ID can be found by opening url 'http://shellyIpAddress', in Settings -> Device info.");
    RETURN(-1);
END

IF(INDEXOF(RECEIVEDMSG.TOPIC, "shellies/" + pulg5topic) != 0)
    RETURN(0);
END

IF(RECEIVEDMSG.TOPIC = "shellies/" + pulg5topic + "/relay/0")
    VAR value := TOSTRING(RECEIVEDMSG.PAYLOAD);
    
    IF(value = "on")
        St := 1;
    ELSEIF(value = "off")
        St := 0;
    ELSE
        ADDERROR("Unknown switch state");
    END
ELSEIF(RECEIVEDMSG.TOPIC = "shellies/" + pulg5topic + "/temperature")
    internalTemp := TOSTRING(RECEIVEDMSG.PAYLOAD);
ELSEIF(RECEIVEDMSG.TOPIC = "shellies/" + pulg5topic + "/overtemperature")
    overTemp := TOSTRING(RECEIVEDMSG.PAYLOAD);
ELSEIF(RECEIVEDMSG.TOPIC = "shellies/" + pulg5topic + "/temperature_status")
    tempStatus := TOSTRING(RECEIVEDMSG.PAYLOAD);
ELSEIF(RECEIVEDMSG.TOPIC = "shellies/" + pulg5topic + "/overpower_value")
    overPower := TOSTRING(RECEIVEDMSG.PAYLOAD);
END
```

Szerviz attribútumok

Internal temperature

```taphome
IF(LENGTH(internalTemp) = 0, "Unknown", internalTemp + "°C");
```

Overheated

```taphome
IF(LENGTH(overTemp) = 0, "Unknown", IF(overtemp = 0, "No", "Yes"));
```

Temperature status

```taphome
IF(LENGTH(tempStatus) = 0, "Unknown", tempStatus);
```

Overpower

```taphome
IF(LENGTH(overPower) = 0, "0W", overPower + "W");
```

**Kapcsolat:** Packet Parser → MQTT • Hostname: `shelly1pm-{MAC}.local`

Lehetséges fejlesztések (5)

- Connection Status — LWT topic — true on connect, false on disconnect. Could detect offline units.
- Full Status JSON — Complete /status as JSON (fw ≥1.8.0). Could parse wifi\_sta.rssi, uptime, has\_update.
- Input State — Physical input state (0/1). Shelly 1PM has one input — could be used for detached switch scenarios.
- Input Event — JSON with event type (S=short, SS=double, SSS=triple, L=long) and event\_cnt. Useful for button automation.
- Internal Temperature (Fahrenheit) — Same as temperature topic but in Fahrenheit. Redundant — Celsius already implemented via service attribute.

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

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

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

