TapHome

Shelly 1PM Gen3

Packet Parser → HTTP
Beküldő
Utoljára frissítve: 03. 2026
Shelly 1PM Gen3

A Shelly 1PM Gen3 egy kompakt Wi-Fi relé beépített teljesítményméréssel. Elfér egy szabványos fali kapcsoló mögött, és egy áramkört képes vezérelni legfeljebb 16 A (3500 W 230 V AC mellett) vagy 10 A (24–30 V DC mellett) terheléssel. A TapHome HTTP-n keresztül kommunikál az eszközzel a Gen2+/Gen3 JSON-RPC 2.0 API segítségével a helyi hálózaton — felhőkapcsolat nem szükséges.

Az eredeti Shelly 1PM-mel (Gen1) ellentétben, amely REST API-t használ a /status végponttal, a Gen3 verzió RPC API-t alkalmaz metódushívásokkal, mint például /rpc/Switch.GetStatus. A Gen3 hardver gyorsabb ESP processzorral rendelkezik 8 MB flash memóriával, akár 6 egyidejű HTTP-kapcsolatot támogat (a Gen1 2-jével szemben), és Matter-kompatibilis.

A sablon relévezérlést és villamos mérőt biztosít, amely valós idejű teljesítményfelvételt és összesített energiafogyasztást mér.

Konfiguráció

A Shelly 1PM Gen3 Wi-Fi-n keresztül csatlakozik. A TapHome sablonimportálásakor adja meg az eszköz IP-címét (alapértelmezett helyőrző: 192.168.0.1).

A TapHome integrációhoz a Shelly eszközön a hitelesítésnek kikapcsoltnak kell lennie. A TapHome nem támogatja a Gen2+/Gen3 eszközök által használt HTTP Digest Auth hitelesítést. Nyissa meg a Shelly webes felületét (http://{device-ip}) → Beállítások → Hitelesítés, és győződjön meg róla, hogy ki van kapcsolva.

Ha az ECO mód engedélyezve van 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. Kapcsolja ki az ECO módot a Shelly webes felületén, ha időszakos kapcsolódási problémákat tapasztal.

Eszközképességek

Relévezérlés

A sablon a relét kapcsolóként teszi elérhetővé. A relé állapota a /rpc/Switch.GetStatus?id=0 válaszból olvasható (output mező, boolean), és a /rpc/Switch.Set?id=0&on=true vagy on=false paranccsal vezérelhető.

Teljesítménymérés

A beépített villamos mérő két értéket olvas a /rpc/Switch.GetStatus?id=0 válaszból:

  • Pillanatnyi teljesítményapower wattban, a sablon kW-ra konvertálja
  • Összesített fogyasztásaenergy.total wattórában, a sablon kWh-ra konvertálja

A villamos mérő három szervizattribútumot is elérhetővé tesz:

  • Elektromos áram — terhelési áram amperben (current mező)
  • Elektromos feszültség — tápfeszültség voltban (voltage mező)
  • Hőmérséklet — az eszköz belső hőmérséklete °C-ban (temperature.tC mező)

A mérő csak olvasható — minden lekérdezési ciklusban automatikusan frissül (15 másodperces intervallum).

Szervizdiagnosztika

A sablon modulszintű szervizattribútumokat tesz elérhetővé az eszköz monitorozásához:

  • WiFi — a csatlakoztatott SSID neve
  • IP-cím — aktuális állomás IP
  • Jelerősség — WiFi RSSI dB-ben
  • MAC — az eszköz MAC-címe

A modul olvasó szkriptje elérhető firmware-frissítéseket és függőben lévő újraindítási igényeket is ellenőriz, amelyeket figyelmeztetésként jelenít meg a TapHome felületén.

Szervizműveletek

Modulszinten két szervizművelet érhető el:

  • Firmware frissítése — firmware-frissítést indít a legújabb stabil verzióra a /rpc/Shelly.Update segítségével
  • Újraindítás — eszköz újraindítást indít a /rpc/Shelly.Reboot segítségével
További képességek

A Shelly 1PM Gen3 RPC válaszaiban emellett elérhetővé teszi a teljesítménytényezőt, hálózati frekvenciát (Hz), visszatáplált/exportált energia számlálókat, fizikai bemenet állapotát (input:0), üzemidőt, RAM-használatot és eszközidőt. Az automatikus kikapcsolási időzítő a toggle_after paraméteren keresztül érhető el, és a túlterhelésvédelem a Switch.SetConfig → power_limit segítségével konfigurálható. Az energiaszámlálók a /rpc/Switch.ResetCounters paranccsal nullázhatók. Ezek a képességek egy jövőbeli sablonfrissítésben adhatók hozzá.

Hibaelhárítás

Az eszköz nem válaszol
  1. Ellenőrizze, hogy a Shelly csatlakozik a Wi-Fi-hez és érvényes IP-címmel rendelkezik
  2. Próbálja meg az mDNS hosztnevet (shelly1pmg3-AABBCCDDEE.local) IP-cím helyett — az IP megváltozhatott egy DHCP-megújítás után
  3. Nyissa 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őrizze, hogy a TapHome Core és a Shelly azonos hálózaton / VLAN-on van-e
  5. Győződjön meg róla, hogy a hitelesítés ki van kapcsolva a Shelly eszközön
A teljesítményértékek nullát mutatnak
  1. Győződjön meg róla, hogy a terhelés a Shelly relén keresztül van csatlakoztatva (nincs megkerülve)
  2. Ellenőrizze, hogy a relé be van-e kapcsolva — a mérő csak akkor mér, ha áram folyik a relén keresztül
  3. Kérdezze le manuálisan a /rpc/Switch.GetStatus?id=0 végpontot, és ellenőrizze, hogy az apower nem nulla értéket ad-e vissza
Túlmelegedési figyelmeztetés

A Shelly 1PM Gen3 belső hővédelemmel rendelkezik. Ha az eszköz hőmérséklete meghaladja a biztonságos határértékeket, a villamos mérő szervizattribútumaiban a temperature érték emelkedni fog. Biztosítson megfelelő szellőzést az eszköz körül, különösen nagy terhelések folyamatos kapcsolása esetén.

A Shelly Gen2+/Gen3 eszközök akár 6 egyidejű HTTP-kapcsolatot támogatnak. Bár ez jelentős javulás a Gen1-hez képest (2 kapcsolat), kerülje a túl sok rendszerből történő egyidejű lekérdezést (TapHome, Home Assistant, egyéni szkriptek), hogy elkerülje a kapcsolatok kimerülését.

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 (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 & SecurityWi-Fi Mode - Client
  4. Adja meg az SSID-t és a jelszót → Save

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

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

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

Shelly 1PM Gen3 Modul
Szerviz attribútumok
WiFi
IP-cím
Jelerősség
MAC
Szerviz műveletek
Firmware frissítése
Újraindítás
Egyéni változók

Shelly 1PM Gen3

Olvasás (modul)
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
PARSEJSON(WiFi.GetStatus, "ssid")
${ipAddress}
PARSEJSON(WiFi.GetStatus, "sta_ip")
${xml_signal_strength} [dB]
PARSEJSON(WiFi.GetStatus, "rssi")
MAC
PARSEJSON(Sys.GetStatus, "mac")
Szerviz műveletek
${xml_update_fw}
VAR response := SENDHTTPREQUEST("/rpc/Shelly.Update?stage=\"stable\"");
IF response.IsSuccess
    return("OK");
else
    return("Error");
END

Reboot
VAR response := SENDHTTPREQUEST("/rpc/Shelly.Reboot");
IF response.IsSuccess
    return("OK");
else
    return("Error");
END
Kapcsoló Kapcsoló
boolean
Értékek / Állapotok: ON · OFF

Kapcsoló

Kapcsoló állapot olvasása
var x := (sendhttprequest("/rpc/Switch.GetStatus?id=0"));
var status := x.Content;
return(PARSEJSON(status, "$.output", true));
Kapcsoló állapot írása
VAR response := SENDHTTPREQUEST("rpc/Switch.Set?id=0&on=" + if(St,"true","false"));
IF response.IsSuccess = false
  ADDERROR(response.StatusCode);
END
Villamos mérő Villanyóra Csak olvasható

Energiafogyasztás mérés — pillanatnyi teljesítmény (kW) és összesített energia (kWh) áram-, feszültség- és hőmérsékletméréssel

numeric Egység: kW / kWh
Szerviz attribútumok
Elektromos áram
Elektromos feszültség
Hőmérséklet

Villamos mérő

Összes fogyasztás olvasása
return(parsejson(parsejson(Switch.GetStatus,"aenergy"), "total")/1000);
Igény olvasása
return(parsejson(Switch.GetStatus,"apower")/1000);
Olvasás (modul)
VAR response := SENDHTTPREQUEST("/rpc/Switch.GetStatus?id=0");
IF response.IsSuccess
    Switch.GetStatus := response.Content;
END
Szerviz attribútumok
${electric_current} [A]
return(parsejson(Switch.GetStatus,"current"));
${electric_voltage} [V]
return(parsejson(Switch.GetStatus,"voltage"));
${temperature} [°C]
return(parsejson(parsejson(Switch.GetStatus,"temperature"), "tC"));
Kapcsolat: Packet Parser → HTTP
Lehetséges fejlesztések (10)
  • Power Factor — Power factor value, available in Switch.GetStatus response for metered devices
  • Network Frequency — AC network frequency in Hz, available in Switch.GetStatus response
  • Returned Energy — Returned/exported energy in Wh, for bi-directional metering scenarios
  • Input State — Physical switch/button input state, available via /rpc/Input.GetStatus?id=0
  • 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)
  • Overpower Protection — Configurable power limit threshold in Watts, relay turns off when exceeded

Források