---
title: "Shelly 2PM Gen3"
description: "Kétcsatornás relé teljesítményméréssel vagy motoros redőny-/reluxavezérlés HTTP RPC API-n. TapHome integráció Shelly 2PM Gen3 profilváltással."
url: "https://taphome.com/hu/compatibility/shelly-2pm-gen3/"
language: hu
lastmod: 2026-03-29
generator: hugo
ai:
  topics: ["http","electric-meter","wifi","relay","power-metering","cover","blind","mdns","profile"]
  questions: ["Hogyan integrálható a Shelly 2PM Gen3 a TapHome-mal?","Mi a különbség a switch és cover profil között a Shelly 2PM Gen3-on?","Hogyan vezérelhető motoros reluxa a Shelly 2PM Gen3 és TapHome segítségével?","Hogyan válthatok relé és redőny üzemmód között a Shelly 2PM Gen3-on?","Miért mutat profilhibát a Shelly 2PM Gen3 sablon a TapHome-ban?","Hogyan kalibrálható a Shelly 2PM Gen3 redőny a pozícióvezérléshez?"]
---

# Shelly 2PM Gen3

Kommunikáció: Packet Parser → HTTP

- [Shelly 2PM Gen3 termékoldal](https://www.shelly.com/en/products/shop/shelly-2-pm-gen3)

> 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 2PM Gen3 egy kompakt kétcsatornás Wi-Fi relé modul beépített teljesítményméréssel. Elfér egy hagyományos fali kapcsoló mögött, és két független áramkört vezérelhet egyenként 10 A-ig (összesen 16 A 230 V AC-nál), vagy egyetlen motoros redőnyt/reluxát. A TapHome HTTP-n kommunikál az eszközzel a Gen2+/Gen3 JSON-RPC 2.0 API-n keresztül a helyi hálózaton — felhőkapcsolat nem szükséges.

Az eszköz két üzemmódprofilt támogat — **switch** és **cover** — választható a Shelly webes felületén vagy a TapHome szervizakcióval. Switch profilban mindkét relékimenet (O1 és O2) függetlenül működik csatornánkénti teljesítményméréssel. Cover profilban a két kimenet egyetlen motort hajt redőnyökhöz, reluxákhoz vagy függönyökhöz, pozícióvezérléssel, lamella-támogatással és kalibrálással.

A Shelly 1PM Gen3-mal ellentétben, amely egyetlen áramkört vezérel, a 2PM Gen3 kétcsatornás vezérlést vagy motoros redőnytámogatást biztosít. Mindkettő ugyanazt a Gen3 platformot használja ESP processzorral (8 MB flash), legfeljebb 6 egyidejű HTTP-kapcsolattal és Matter frissítési lehetőséggel.

## Konfiguráció

A Shelly 2PM Gen3 Wi-Fi-n csatlakozik. A TapHome sablonimport során add meg az eszköz IP-címét (alapértelmezett helyőrző: `192.168.0.1`).

> [!WARNING]
> A hitelesítést **ki kell kapcsolni** a Shelly eszközön a TapHome integrációhoz. A TapHome nem támogatja a Gen2+/Gen3 eszközök által használt HTTP Digest Auth hitelesítést. Nyisd meg a Shelly webes felületét (`http://{device-ip}`) → Settings → Authentication, és győződj meg róla, hogy ki van kapcsolva.

> [!NOTE]
> Ha az ECO mód be van kapcsolva a Shelly eszközön, kommunikációs időtúllépéseket okozhat a sablon gyors lekérdezési intervallumai (2,5–3 másodperc) miatt. Kapcsold ki az ECO módot a Shelly webes felületén, ha időszakos kapcsolódási problémákat tapasztalsz.

### Profilválasztás

A Shelly 2PM Gen3 egyszerre az egyik profilban működik. Az aktív profil határozza meg, mely TapHome eszközök működőképesek:

- **Switch profil** — aktiválja mindkét relé kapcsolót (Kapcsoló 1 és Kapcsoló 2) független teljesítményméréssel. A redőny és reluxa eszközök profilhibát mutatnak.
- **Cover profil** — aktiválja a redőnyt és reluxát. A kapcsoló eszközök profilhibát mutatnak.

Az aktív profil modulszintű szervizattribútumként („Profil") látható a TapHome-ban. A profil módosításához használd a **Profil beállítása** szervizakciót modulszinten, vagy válts a Shelly webes felületén. Profilváltás után az eszköz újraindul, és csak az új profilnak megfelelő eszközök működnek hiba nélkül.

> [!TIP]
> A sablon mind a négy eszköztípust tartalmazza (2 kapcsoló + redőny + reluxa), de csak az aktív profilnak megfelelő eszközök működnek. A rossz profilban lévő eszközök hibaüzenetet jelenítenek meg, például „Profile is not set to switch" vagy „Profile is not set to cover" — ez elvárt viselkedés, nem meghibásodás.

### Redőny kalibrálása

Cover profil használatakor a motor mozgási határait kalibrálni kell a pozícióvezérlés működéséhez. Amíg a kalibrálás nem fejeződik be, a sablon „Calibration is required" hibát jelenít meg. Kalibrálj a Shelly webes felületén vagy a **Automatikus kalibrálás indítása** szervizakció elindításával a TapHome-ban. A kalibrálás során a redőny teljesen felnyílik és teljesen lecsukódik a mozgási távolságok méréséhez.

## Eszközképességek

### Relévezérlés (switch profil)

A sablon két független relé kapcsolót tesz elérhetővé. Minden kapcsoló a `/rpc/Switch.GetStatus?id={0,1}` végpontról olvassa az állapotát (`output` mező, boolean), és a `/rpc/Switch.Set?id={0,1}&on=true|false` végponton vezérli a relét.

Minden kapcsoló szervizattribútumokat is biztosít csatornánkénti felügyelethez:

- **Hőmérséklet** — belső eszközhőmérséklet °C-ban (`temperature.tC`)
- **Energiafogyasztás** — kumulatív energia Wh-ban (`aenergy.total`)
- **Teljesítményfelvétel** — pillanatnyi teljesítmény W-ban (`apower`)
- **Elektromos feszültség** — tápfeszültség V-ban (`voltage`)
- **Elektromos áram** — terhelési áram A-ban (`current`)
- **Frekvencia** — AC hálózati frekvencia Hz-ben (`freq`)
- **Teljesítménytényező** — teljesítménytényező értéke (`pf`)

A kapcsolók 2,5 másodpercenként frissülnek.

### Redőnyvezérlés (cover profil)

A redőny eszköz motoros redőnyt, függönyt vagy napellenzőt vezérel. A pozíciót a `/rpc/Cover.GetStatus?id=0` végpontról olvassa (`current_pos` és `target_pos` mezők, 0–100), és a `/rpc/Cover.GoToPosition?id=0&pos=N` végponton írja. A sablon megfordítja a pozícióskálát: 0 = teljesen nyitott és 100 = teljesen zárt a TapHome-ban.

A redőny szervizattribútumai:

- **Hőmérséklet** — belső eszközhőmérséklet °C-ban
- **Energiafogyasztás** — kumulatív motorenergia Wh-ban
- **Teljesítményfelvétel** — pillanatnyi motorteljesítmény W-ban
- **Elektromos feszültség** — tápfeszültség V-ban
- **Elektromos áram** — motoráram A-ban

Az **Automatikus kalibrálás indítása** szervizakció a kalibrálás közvetlen elindítására szolgál a TapHome-ból.

### Reluxavezérlés (cover profil)

A reluxa eszköz a redőnyt lamella-vezérléssel egészíti ki horizontális reluxákhoz. A pozíción kívül a lamellapozíciót (`slat_pos`) is olvassa és írja a `/rpc/Cover.GoToPosition?id=0&pos=N&slat_pos=M` végponton. Mind a pozíció-, mind a dőlésszög-skála meg van fordítva (0 = nyitott, 100 = zárt a TapHome-ban).

A reluxa ugyanazokat a szervizattribútumokat biztosítja, mint a redőny, plusz:

- **Lamella** — mutatja, hogy a lamellavezérlés engedélyezve van-e vagy sem (a `Cover.GetConfig → $.slat.enable` alapján)
- **Lamella nyitási idő** — beállított lamellanyitási időtartam másodpercben
- **Lamella zárási idő** — beállított lamellazárási időtartam másodpercben

> [!NOTE]
> **Ismert sablonhiba:** A „Slat close time" szervizattribútum `$.slat.open_time`-ot olvas `$.slat.close_time` helyett a Cover konfigurációból. Mindkét lamellaidő-attribútum jelenleg ugyanazt az értéket mutatja (a nyitási időt). Ezt egy jövőbeli sablonfrissítés fogja javítani.

Két szervizakció érhető el a reluxa eszközön:

- **Automatikus kalibrálás indítása** — elindítja a pozícókalibrálást
- **Lamella beállítása** — engedélyezi a lamellavezérlést és beállítja a nyitási/zárási időtartamokat (egyenként 0,1–5 másodperc) a `/rpc/Cover.SetConfig` végponton

> [!WARNING]
> A lamellavezérlést engedélyezni kell, mielőtt a reluxa eszköz vezérelhetné a dőlésszöget. Ha a lamellapozíció nem érhető el az eszközről, a reluxa „Slat position must be enabled for blinds" hibát mutat. Használd a **Lamella beállítása** szervizakciót az engedélyezéshez és a nyitási/zárási időtartamok beállításához.

### Szervizdiagnosztika

A sablon modulszintű szervizattribútumokat biztosít az eszközfelügyelethez:

- **WiFi** — a csatlakoztatott SSID neve
- **IP-cím** — aktuális állomás IP-cím
- **Jelerősség** — WiFi RSSI dB-ben
- **MAC** — az eszköz MAC-címe
- **Profil** — jelenleg aktív eszközprofil (switch vagy cover)

A modul olvasási szkriptje firmware-frissítések elérhetőségét és függő újraindítási követelményeket is ellenőrzi, amelyeket figyelmeztetésként jelenít meg a TapHome felületén.

### Szervizakciók

Három szervizakció érhető el modulszinten:

- **Firmware frissítése** — firmware-frissítést indít a legújabb stabil verzióra a `/rpc/Shelly.Update` végponton
- **Újraindítás** — eszköz újraindítást indít a `/rpc/Shelly.Reboot` végponton
- **Profil beállítása** — vált a cover és switch üzemmód között a `/rpc/Shelly.SetProfile` végponton

### További képességek

A Shelly 2PM Gen3 fizikai bemeneti állapotokat (`input:0`, `input:1`), visszatáplált/exportált energia számlálókat, üzemidőt, RAM-használatot és eszközidőt is szolgáltat az RPC-válaszaiban. Auto-off időzítő elérhető a `toggle_after` paraméteren, túlterhelés-védelem konfigurálható a `Switch.SetConfig → power_limit` beállítással, és az energiaszámlálók visszaállíthatók a `/rpc/Switch.ResetCounters` végponton. Cover módban közvetlen nyitás/zárás/leállítás parancsok és a redőny mozgási állapota (open/opening/closed/closing/stopped/calibrating) elérhető. Ezek a képességek egy jövőbeli sablonfrissítésben kerülhetnek hozzáadásra.

## Hibaelhárítás

### Az eszköz nem válaszol

1. Ellenőrizd, hogy a Shelly csatlakozik a Wi-Fi-hez és érvényes IP-címe van
2. Próbáld az mDNS hosztnevet (`shelly2pmg3-AABBCCDDEE.local`) az IP-cím helyett — az IP megváltozhatott DHCP-megújítás után
3. Nyisd meg a `http://{device-ip}/rpc/Shelly.GetDeviceInfo` címet a böngészőben — ha JSON-nal válaszol, az eszköz elérhető
4. Ellenőrizd, hogy a TapHome Core és a Shelly ugyanazon a hálózaton / VLAN-on vannak
5. Győződj meg róla, hogy a hitelesítés ki van kapcsolva a Shelly eszközön

### Profil-eltérési hibák

Ha egy eszköz „Profile is not set to switch" vagy „Profile is not set to cover" üzenetet mutat:

1. Ellenőrizd, melyik profil aktív jelenleg — a „Profil" szervizattribútum modulszinten mutatja az aktuális módot
2. Válts a megfelelő profilra a **Profil beállítása** szervizakcióval, vagy távolítsd el a nem használt eszközöket a TapHome-ból
3. Profilváltás után az eszköz automatikusan újraindul — várj néhány másodpercet az újracsatlakozásra

### A redőny pozícióvezérlése nem működik

1. Ellenőrizd, hogy az eszköz cover profilban van — a switch profil nem biztosít redőnyfunkcionalitást
2. Indítsd el az **Automatikus kalibrálás indítása** szervizakciót — a pozícióvezérlés befejezett kalibrálást igényel
3. Ellenőrizd, hogy a motor megfelelően csatlakozik az O1 és O2 kapcsokhoz
4. Kérdezd le a `/rpc/Cover.GetStatus?id=0` végpontot manuálisan, és ellenőrizd, hogy a `pos_control` `true`

### A reluxa dőlése nem reagál

1. Győződj meg róla, hogy a lamellavezérlés engedélyezve van — ellenőrizd a „Lamella" szervizattribútumot (az „Enabled" értéket kell mutatnia)
2. Ha le van tiltva, használd a **Lamella beállítása** szervizakciót az engedélyezéshez és a nyitási/zárási idők beállításához
3. Ellenőrizd, hogy a reluxa motor támogatja a dőlésszög-műveletet — dőlés nélküli redőnyök figyelmen kívül hagyják a lamellaparancsokat

### Túlhőmérsékleti figyelmeztetés

A Shelly 2PM Gen3 belső hővédelemmel rendelkezik. Ha az eszköz hőmérséklete meghaladja a biztonságos határértékeket, a `temperature` érték emelkedik az eszköz szervizattribútumaiban. Biztosíts megfelelő szellőzést az eszköz körül, különösen nagy terhelések kapcsolásakor. A maximális kapcsolási áram csatornánként 10 A, összesen 16 A (18 A csúcs).

> [!WARNING]
> A Shelly Gen2+/Gen3 eszközök legfeljebb **6 egyidejű HTTP-kapcsolatot** támogatnak. Bár ez jelentős javulás a Gen1-hez képest (2 kapcsolat), kerüld a túl sok rendszerből történő egyidejű lekérdezést (TapHome, Home Assistant, egyéni szkriptek), hogy elkerüld a kapcsolatkimerülést. A Shelly 2PM Gen3 sablon lekérdezési ciklusonként legfeljebb 4 egyidejű végpontot használ, ami korlátozott mozgásteret hagy további kapcsolatoknak.

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

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

Shelly 2PM Gen3 Modul

Szerviz attribútumok

|            |                                                                                  |
|------------|----------------------------------------------------------------------------------|
| WiFi       |                                                                                  |
| IP-cím     |                                                                                  |
| Jelerősség |                                                                                  |
| MAC        |                                                                                  |
| Profil     | Aktív eszközprofil — switch (kettős kapcsoló) vagy cover (motoros reluxa/redőny) |

Szerviz műveletek

|                     |                                                                                 |
|---------------------|---------------------------------------------------------------------------------|
| Firmware frissítése |                                                                                 |
| Újraindítás         |                                                                                 |
| Profil beállítása   | Váltás a cover és switch üzemmód között — az eszköz profilváltás után újraindul |

Egyéni változók

Olvasás (modul)

```taphome
VAR response := SENDHTTPREQUEST("/rpc/Sys.GetStatus");
IF response.IsSuccess
    Sys.GetStatus := response.Content;
END

response := SENDHTTPREQUEST("/rpc/Sys.GetConfig");
IF response.IsSuccess
    Sys.GetConfig := response.Content;
END

response := SENDHTTPREQUEST("/rpc/WiFi.GetStatus");
IF response.IsSuccess
    WiFi.GetStatus := response.Content;
END

if ! ISNULL(parsejson(Sys.GetStatus, "available_updates.stable", true))
    addwarning("New firmware update is available");
end

if parsejson(Sys.GetStatus, "restart_required", true)
    addwarning("Restart required");
end
```

Szerviz attribútumok

Wifi

```taphome
PARSEJSON(WiFi.GetStatus, "ssid")
```

${ipAddress}

```taphome
PARSEJSON(WiFi.GetStatus, "sta_ip")
```

${xml\_signal\_strength} \[dB]

```taphome
PARSEJSON(WiFi.GetStatus, "rssi")
```

MAC

```taphome
PARSEJSON(Sys.GetStatus, "mac")
```

Profile

```taphome
PARSEJSON(Sys.GetConfig, "$.device.profile");
```

Szerviz műveletek

${xml\_update\_fw}

```taphome
VAR response := SENDHTTPREQUEST("/rpc/Shelly.Update?stage=\"stable\"");
IF response.IsSuccess
    return("OK");
else
    return("Error");
END

```

${restart}

```taphome
VAR response := SENDHTTPREQUEST("/rpc/Shelly.Reboot");
IF response.IsSuccess
    return("OK");
else
    return("Error");
END
```

Set Profile

Paraméterek: Profile

```taphome
VAR response := SENDHTTPREQUEST("/rpc/Shelly.SetProfile?name=\"" + 
switch(prof,
0, "cover",
1, "switch",
"")
+ "\"");
IF response.IsSuccess
    return("OK");
else
    return("Error");
END
```

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

1\. relékimenet csatornánkénti teljesítményméréssel — switch profil szükséges

boolean

Értékek / Állapotok: ON · OFF

Kapcsoló állapot olvasása

```taphome
VAR response := SENDHTTPREQUEST("/rpc/Switch.GetStatus?id=" + ID);
IF response.IsSuccess
    Switch.GetStatus := response.Content;  
END
return(PARSEJSON(Switch.GetStatus, "$.output", true));
```

Kapcsoló állapot írása

```taphome
VAR response := SENDHTTPREQUEST("rpc/Switch.Set?id=" + ID + "&on=" + if(St,"true","false"));
IF response.IsSuccess = false
  ADDERROR(response.StatusCode);
END
```

Olvasás (modul)

```taphome
if PARSEJSON(Sys.GetConfig, "$.device.profile") != "switch"
	adderror("Profile is not set to switch (" + PARSEJSON(Sys.GetConfig, "$.device.profile") + ")");
end

VAR response := SENDHTTPREQUEST("/rpc/Switch.GetStatus?id=" + ID);
IF response.IsSuccess
    Switch.GetStatus := response.Content;  
END

response := SENDHTTPREQUEST("/rpc/Switch.GetConfig?id=" + ID);
IF response.IsSuccess
    Switch.GetConfig := response.Content;
END

if ! ISNULL(parsejson(Switch.GetStatus, "errors", true))
    adderror("Error: " + parsejson(Switch.GetStatus, "errors"));
end
```

Szerviz attribútumok

${device\_variable\_realtemperature} \[°C]

```taphome
parsejson(Switch.GetStatus, "$.temperature.tC", true)
```

${device\_variable\_electricityconsumption} \[Wh]

```taphome
parsejson(Switch.GetStatus, "$.aenergy.total", true)
```

${device\_variable\_electricitydemand} \[W]

```taphome
parsejson(Switch.GetStatus, "$.apower", true)
```

${valueLogType\_ElectricVoltage} \[V]

```taphome
parsejson(Switch.GetStatus, "$.voltage", true)
```

${valueLogType\_ElectricCurrent} \[A]

```taphome
parsejson(Switch.GetStatus, "$.current", true)
```

${frequency} \[Hz]

```taphome
parsejson(Switch.GetStatus, "$.freq", true)
```

Power Factor

```taphome
parsejson(Switch.GetStatus, "$.pf", true)
```

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

2\. relékimenet csatornánkénti teljesítményméréssel — switch profil szükséges

boolean

Értékek / Állapotok: ON · OFF

Kapcsoló állapot olvasása

```taphome
VAR response := SENDHTTPREQUEST("/rpc/Switch.GetStatus?id=" + ID);
IF response.IsSuccess
    Switch.GetStatus := response.Content;  
END
return(PARSEJSON(Switch.GetStatus, "$.output", true));
```

Kapcsoló állapot írása

```taphome
VAR response := SENDHTTPREQUEST("rpc/Switch.Set?id=" + ID + "&on=" + if(St,"true","false"));
IF response.IsSuccess = false
  ADDERROR(response.StatusCode);
END
```

Olvasás (modul)

```taphome
if PARSEJSON(Sys.GetConfig, "$.device.profile") != "switch"
	adderror("Profile is not set to switch (" + PARSEJSON(Sys.GetConfig, "$.device.profile") + ")");
end

VAR response := SENDHTTPREQUEST("/rpc/Switch.GetStatus?id=" + ID);
IF response.IsSuccess
    Switch.GetStatus := response.Content;  
END

response := SENDHTTPREQUEST("/rpc/Switch.GetConfig?id=" + ID);
IF response.IsSuccess
    Switch.GetConfig := response.Content;
END

if ! ISNULL(parsejson(Switch.GetStatus, "errors", true))
    adderror("Error: " + parsejson(Switch.GetStatus, "errors"));
end
```

Szerviz attribútumok

${device\_variable\_realtemperature} \[°C]

```taphome
parsejson(Switch.GetStatus, "$.temperature.tC", true)
```

${device\_variable\_electricityconsumption} \[Wh]

```taphome
parsejson(Switch.GetStatus, "$.aenergy.total", true)
```

${device\_variable\_electricitydemand} \[W]

```taphome
parsejson(Switch.GetStatus, "$.apower", true)
```

${valueLogType\_ElectricVoltage} \[V]

```taphome
parsejson(Switch.GetStatus, "$.voltage", true)
```

${valueLogType\_ElectricCurrent} \[A]

```taphome
parsejson(Switch.GetStatus, "$.current", true)
```

${frequency} \[Hz]

```taphome
parsejson(Switch.GetStatus, "$.freq", true)
```

Power Factor

```taphome
parsejson(Switch.GetStatus, "$.pf", true)
```

Redőny Csúszka Olvasás és írás

Motoros redőny vagy függöny pozícióvezérléssel — cover profil és kalibrálás szükséges

numeric Egység: %

Szerviz attribútumok

|                       |
|-----------------------|
| Hőmérséklet           |
| Energiafogyasztás     |
| Teljesítményfelvétel  |
| Elektromos feszültség |
| Elektromos áram       |

Szerviz műveletek

|                                 |
|---------------------------------|
| Automatikus kalibrálás indítása |

Olvasás (modul)

```taphome
if PARSEJSON(Sys.GetConfig, "$.device.profile") != "cover"
	adderror("Profile is not set to cover (" + PARSEJSON(Sys.GetConfig, "$.device.profile") + ")");
end

VAR response := SENDHTTPREQUEST("/rpc/Cover.GetStatus?id=" + ID);
IF response.IsSuccess
    Cover.GetStatus := response.Content;  
END

response := SENDHTTPREQUEST("/rpc/Cover.GetConfig?id=" + ID);
IF response.IsSuccess
    Cover.GetConfig := response.Content;
END

if ! parsejson(Cover.GetStatus, "$.pos_control", true)
    #adderror("${presence_calibration_required}");
    adderror("Calibration is required");
end

if ! ISNULL(parsejson(Cover.GetStatus, "errors", true))
    adderror("Error: " + parsejson(Cover.GetStatus, "errors"));
end
```

Redőnyszint olvasása

```taphome
var pos := PARSEJSON(Cover.GetStatus, "$.current_pos", true);
if ! isnull(PARSEJSON(Cover.GetStatus, "$.target_pos", true))
	pos := PARSEJSON(Cover.GetStatus, "$.target_pos", true);
end

return(linear(pos,0,1,100,0));
```

Redőnyszint írása

```taphome
VAR response := SENDHTTPREQUEST("rpc/Cover.GoToPosition?id=" + ID + "&pos=" + round(linear(Bl,0,100,1,0)));
IF response.IsSuccess = false
  ADDERROR(response.StatusCode);
END

response := SENDHTTPREQUEST("/rpc/Cover.GetStatus?id=" + ID);
IF response.IsSuccess
    Cover.GetStatus := response.Content;  
END
```

Szerviz attribútumok

${device\_variable\_realtemperature} \[°C]

```taphome
parsejson(Cover.GetStatus, "$.temperature.tC", true)
```

${device\_variable\_electricityconsumption} \[Wh]

```taphome
parsejson(Cover.GetStatus, "$.aenergy.total", true)
```

${device\_variable\_electricitydemand} \[W]

```taphome
parsejson(Cover.GetStatus, "$.apower", true)
```

${valueLogType\_ElectricVoltage} \[V]

```taphome
parsejson(Cover.GetStatus, "$.voltage", true)
```

${valueLogType\_ElectricCurrent} \[A]

```taphome
parsejson(Cover.GetStatus, "$.current", true)
```

Szerviz műveletek

${start\_automatic\_calibration}

```taphome
VAR response := SENDHTTPREQUEST("/rpc/Cover.Calibrate?id=" + ID);
IF response.IsSuccess
    return("OK");
else
    return("Error");
END
```

Reluxa Redőny Olvasás és írás

Reluxa pozíció- és lamellavezérléssel — cover profil, kalibrálás és lamella engedélyezése szükséges

numeric Egység: %

Szerviz attribútumok

|                       |                                                                                |
|-----------------------|--------------------------------------------------------------------------------|
| Hőmérséklet           |                                                                                |
| Energiafogyasztás     |                                                                                |
| Teljesítményfelvétel  |                                                                                |
| Elektromos feszültség |                                                                                |
| Elektromos áram       |                                                                                |
| Lamella               | A lamella dőlésszög-vezérlés engedélyezve van-e a Shelly Cover konfigurációban |
| Lamella nyitási idő   |                                                                                |
| Lamella zárási idő    |                                                                                |

Szerviz műveletek

|                                 |                                                                                  |
|---------------------------------|----------------------------------------------------------------------------------|
| Automatikus kalibrálás indítása |                                                                                  |
| Lamella beállítása              | Lamellavezérlés engedélyezése és nyitási/zárási idő beállítása (0,1–5 másodperc) |

Olvasás (modul)

```taphome
if PARSEJSON(Sys.GetConfig, "$.device.profile") != "cover"
	adderror("Profile is not set to cover (" + PARSEJSON(Sys.GetConfig, "$.device.profile") + ")");
end

VAR response := SENDHTTPREQUEST("/rpc/Cover.GetStatus?id=" + ID);
IF response.IsSuccess
    Cover.GetStatus := response.Content;  
END

response := SENDHTTPREQUEST("/rpc/Cover.GetConfig?id=" + ID);
IF response.IsSuccess
    Cover.GetConfig := response.Content;
END

if ! parsejson(Cover.GetStatus, "$.pos_control", true)
    #adderror("${presence_calibration_required}");
    adderror("Calibration is required");
end

if ! ISNULL(parsejson(Cover.GetStatus, "errors", true))
    adderror("Error: " + parsejson(Cover.GetStatus, "errors"));
end
```

Redőnyszint olvasása

```taphome
var pos := PARSEJSON(Cover.GetStatus, "$.current_pos", true);
var target := PARSEJSON(Cover.GetStatus, "$.target_pos", true);
var slatPos := PARSEJSON(Cover.GetStatus, "$.slat_pos", true);

BlSend := 0;
if BsSend = 0 and (Bs = 0 or Bs = 1) 
	if (!isnull(target))
		DeltaPos := 0;
		return(linear(target,0,1,100,0));
	else
		return(linear(pos - DeltaPos,0,1,100,0));	
	end
end

return(Bl);
```

Redőnyszint írása

```taphome
var pos := PARSEJSON(Cover.GetStatus, "$.current_pos", true);
var target := PARSEJSON(Cover.GetStatus, "$.target_pos", true);
var slatPos := PARSEJSON(Cover.GetStatus, "$.slat_pos", true);

VAR response := SENDHTTPREQUEST("rpc/Cover.GoToPosition?id=0&pos=" + round(linear(Bl,0,100,1,0)));
BlSend := 1;
IF response.IsSuccess = false
  ADDERROR(response.StatusCode);
END

#response := SENDHTTPREQUEST("/rpc/Cover.GetStatus?id=0");
#IF response.IsSuccess
#    Cover.GetStatus := response.Content;  
#END
```

Lamella dőlés olvasása

```taphome
var pos := PARSEJSON(Cover.GetStatus, "$.current_pos", true);
var slatPos := PARSEJSON(Cover.GetStatus, "$.slat_pos", true);
var state := PARSEJSON(Cover.GetStatus, "$.state", true);
var date := NOW();

if ISNULL(slatPos)
    adderror("Slat position must be enabled for blinds");
    return(NaN);
end

if state = "closing" or state = "opening"
	BsSend := 1;
	return(Bs);
end

if BsSend > 1
	BsSend := 1;
	return(Bs);
else
	if BsSend = 1
		BsSend := 0;
		DeltaPos := pos - round(linear(Bl,0,100,1,0));	
	end
	return(linear(slatPos,0,1,100,0));
end
```

Lamella dőlés írása

```taphome
var date := NOW();
var pos := PARSEJSON(Cover.GetStatus, "$.current_pos", true);

if BlSend = 0
	VAR response := SENDHTTPREQUEST("rpc/Cover.GoToPosition?id=0&pos=" + pos + "&slat_pos=" + round(linear(Bs,0,100,1,0)));
	BsSend := date.UNIXTIME;
	IF response.IsSuccess = false
	  ADDERROR(response.StatusCode);
	END
end

#response := SENDHTTPREQUEST("/rpc/Cover.GetStatus?id=0");
#IF response.IsSuccess
#    Cover.GetStatus := response.Content;  
#END
```

Szerviz attribútumok

${device\_variable\_realtemperature} \[°C]

```taphome
parsejson(Cover.GetStatus, "$.temperature.tC", true)
```

${device\_variable\_electricityconsumption} \[Wh]

```taphome
parsejson(Cover.GetStatus, "$.aenergy.total", true)
```

${device\_variable\_electricitydemand} \[W]

```taphome
parsejson(Cover.GetStatus, "$.apower", true)
```

${valueLogType\_ElectricVoltage} \[V]

```taphome
parsejson(Cover.GetStatus, "$.voltage", true)
```

${valueLogType\_ElectricCurrent} \[A]

```taphome
parsejson(Cover.GetStatus, "$.current", true)
```

Slat

```taphome
if(parsejson(Cover.GetConfig, "$.slat.enable", true), "Enabled", "Disabled")
```

Slat open time \[s]

```taphome
parsejson(Cover.GetConfig, "$.slat.open_time ", true)
```

Slat close time \[s]

```taphome
parsejson(Cover.GetConfig, "$.slat.open_time ", true)
```

Szerviz műveletek

${start\_automatic\_calibration}

```taphome
VAR response := SENDHTTPREQUEST("/rpc/Cover.Calibrate?id=" + ID);
IF response.IsSuccess
    return("OK");
else
    return("Error");
END
```

Set Slat

Paraméterek: Open time \[s] (0.1–5 ot), Close time \[s] (0.1–5 ct)

```taphome
VAR response := SENDHTTPREQUEST("/rpc/Cover.SetConfig?id=" + ID + 
	"&config={\"slat\":{\"enable\":true, \"open_time\": " + ot +", \"close_time\": " + ct +"}}");
IF response.IsSuccess
    return("OK");
else
    return("Error");
END
```

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

Lehetséges fejlesztések (11)

- Input 1 State — Physical switch/button input 1 state, available via /rpc/Input.GetStatus?id=0
- Input 2 State — Physical switch/button input 2 state, available via /rpc/Input.GetStatus?id=1
- Returned Energy — Returned/exported energy in Wh, for bi-directional metering scenarios
- Uptime — Seconds since last reboot, available in Sys.GetStatus response
- RAM Usage — Total and free RAM in bytes, available in Sys.GetStatus response
- Device Time — Current device time in HH:MM format, available in Sys.GetStatus response
- Auto-off Timer — Auto-reset timer in seconds via toggle\_after parameter, could be added as switch parameter
- Reset Energy Counters — Resets energy measurement counters (aenergy, ret\_aenergy) for both channels
- Overpower Protection — Configurable power limit threshold in Watts, relay turns off when exceeded
- Cover State — Cover movement state (open/opening/closed/closing/stopped/calibrating), available in Cover.GetStatus
- Cover Open/Close/Stop Commands — Direct open/close/stop commands without position parameter; template uses GoToPosition instead

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

## Források

- Shelly Gen2+/Gen3 RPC API Reference
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen2/) 2026-03-27
- Shelly Gen2+ Switch Component API
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/Switch/) 2026-03-27
- Shelly Gen2+ System (Sys) Component API
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/Sys/) 2026-03-27
- Shelly Gen2+ WiFi Component API
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/WiFi/) 2026-03-27
- Home Assistant Shelly Integration
  
  [www.home-assistant.io](https://www.home-assistant.io/integrations/shelly/) 2026-03-27
- Shelly 2PM Gen3 Knowledge Base
  
  [kb.shelly.cloud](https://kb.shelly.cloud/knowledge-base/shelly-2pm-gen3) 2026-03-29

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

