TapHome

Shelly 3EM

Packet Parser → HTTP
Beküldő
Utoljára frissítve: 03. 2026
Shelly 3EM

A Shelly 3EM egy Wi-Fi háromfázisú energiamérő három 120 A CT (áramváltó) csatlakozóval és beépített 10 A kontaktor relével. Fázisonként függetlenül méri a hatásos teljesítményt, feszültséget, áramot, teljesítménytényezőt és a kumulatív energiát. A TapHome a helyi hálózaton kommunikál az eszközzel — nincs szükség felhőkapcsolatra.

Az eszközhöz két TapHome sablon áll rendelkezésre: egy HTTP sablon (alapértelmezett, REST API pollinggal) és egy MQTT sablon (bróker alapú üzenetfeliratkozással). Mindkét sablon ugyanazokat az eszközöket biztosítja — 3 energiamérőt (fázisonként egyet) és 1 kontaktor kapcsolót. A protokollt a telepítési követelmények alapján válaszd ki.

Hardveres csatlakoztatás

A Shelly 3EM hálózati tápellátást igényel (110–230 V AC) az L és N csatlakozókra kötve. A három mellékelt CT csatlakozó rendre a CT1, CT2 és CT3 kapcsokra csatlakozik. A kontaktor relé kimenete az O kapcson található (max 10 A).

CT csatlakozók telepítése
  • Minden CT csatlakozó a monitorizált áramkör fázisvezetéke köré pattintható — nincs szükség kábelvágásra
  • A CT csatlakozón lévő nyílnak az áramfolyás irányába kell mutatnia (a forrástól a terhelés felé)
  • A CT csatlakozók háromfázisú rendszert (L1, L2, L3) vagy három független egyfázisú áramkört is monitorozhatnak

NE csatlakoztasd a CT csatlakozót a fázisvezetékre, mielőtt bekötöd a Shelly 3EM-be. A transzformátor csatlakozókábelein magas feszültség lehet jelen akkor is, ha csak a transzformátor van csatlakoztatva.

Kontaktor vezérlés

A relé kimenet (O kapocs) 10 A-re méretezett, és közvetlenül kapcsolhat kisebb terheléseket, vagy vezérelhet egy külső kontaktor tekercset nagyobb terhelések kapcsolásához.

Konfiguráció

HTTP sablon beállítása

A sablon importálásakor add meg az eszköz IP-címét. A sablon három különálló végpontot polloz (/emeter/0, /emeter/1, /emeter/2) a fázisonkénti energiaadatokhoz és a /relay/0-t a kontaktor állapotához. Minden fázis válasza egy egyéni változóba (emeter0, emeter1, emeter2) kerül gyorsítótárazásra, hogy minimalizálja a HTTP-hívások számát lekérdezési ciklusonként.

MQTT sablon beállítása

Az MQTT sablon három import paramétert igényel:

ParaméterLeírásPélda
MQTT Broker IPAz MQTT bróker címe192.168.1.10
MQTT Broker PortBróker port (alapértelmezett 1883)1883
Device IDMAC-cím utolsó 6 karaktere az MQTT topicokbanB929CC

A Device ID (dID) a MAC-cím utolsó 6 karaktere nagybetűs hexadecimális formátumban. A Shelly webes felületén a SettingsDevice Info alatt, vagy a GET http://{ip}/settingsmqtt.id mezőben találod.

A modul feliratkozik a shellies/shellyem3-{dID}/# topicra, és a listener szkriptek a fázisonkénti emeter és relay üzeneteket a megfelelő eszközökhöz irányítják.

Az MQTT sablon a shellyem3-{dID} topic prefixet használja, míg a hivatalos API dokumentáció a shelly3em-{id} formátumra hivatkozik. Mindkét formátum működik — a dID változó konfigurálható. A tényleges topic prefixet ellenőrizd úgy, hogy MQTT klienssel feliratkozol a shellies/# topicra.

A Gen1 Shelly eszközökön az MQTT engedélyezése letiltja a Shelly Cloudot. Mindkettő nem futhat egyszerre. Ez firmware korlátozás.

Eszközképességek

Fázisonkénti energiamérés

A sablon három energiamérőt hoz létre — minden fázishoz egyet. Minden mérő a következőket méri:

  • Hatásos teljesítmény — pillanatnyi teljesítmény W-ban, a sablon kW-ra számítja át (÷ 1000)
  • Összes felhasznált energia — kumulatív energia Wh-ban, a sablon kWh-ra számítja át (÷ 1000)

A HTTP sablonban minden fázis az /emeter/{i} végpontból olvasódik. Az MQTT sablonban az értékek a shellies/shellyem3-{dID}/emeter/{i}/power és .../total topicokról érkeznek.

Fázisonkénti villamos paraméterek

Minden energiamérő négy szervizattribútumot biztosít:

  • Feszültség — effektív feszültség (V)
  • Áram — effektív áram (A)
  • Teljesítménytényező — a hatásos és a látszólagos teljesítmény aránya (0,00–1,00)
  • Összes visszatáplált energia — a hálózatba visszatáplált energia Wh-ban, hasznos napelemes/FV telepítéseknél kétirányú méréssel
Energiaszámláló nullázása

Minden fázishoz tartozik egy Reset total szervizakció, amely nullázza az adott fázis energiaszámlálóit. HTTP módban a /emeter/{i}?reset_totals hívást indítja; MQTT módban reset_totals üzenetet publikál a shellies/shellyem3-{dID}/emeter/{i}/command topicra.

Kontaktor kapcsoló

A sablon a kontaktor relét kapcsolóként jeleníti meg. A relé állapota a /relay/0ison (HTTP) vagy a shellies/shellyem3-{dID}/relay/0 topic (MQTT) alapján olvasódik, és a /relay/0?turn=on|off (HTTP) vagy a .../relay/0/command topic (MQTT) segítségével vezérelhető.

További képességek

A Shelly 3EM ezen kívül meddő teljesítményt (VAR), fázisonkénti mérési érvényességi jelzőt (is_valid), háromfázisú összteljesítményt (total_power a /status-ból), Wi-Fi jelerősséget, eszköz üzemidőt, firmware frissítési állapotot, fázisonkénti túlteljesítmény-küszöböket és historikus energiaadatok exportálását (CSV) is biztosít. A kontaktor relén automatikus kikapcsolási időzítő áll rendelkezésre. Ezek a funkciók egy jövőbeli sablonfrissítésben adhatók hozzá.

Hibaelhárítás

Az eszköz nem válaszol (HTTP)
  1. Ellenőrizd, hogy a Shelly 3EM csatlakozik a Wi-Fi-hez és érvényes IP-címe van
  2. Nyisd meg a http://{device-ip}/shelly címet böngészőben — ha válaszol, az eszköz elérhető
  3. Ellenőrizd, hogy a TapHome Core és a Shelly 3EM ugyanazon a hálózaton / VLAN-on van
Nem érkeznek MQTT üzenetek
  1. Erősítsd meg, hogy az MQTT engedélyezve van a Shelly webes felületén (Internet & SecurityAdvanced — MQTT)
  2. Ellenőrizd, hogy a bróker címe és portja helyes mind a Shelly eszközben, mind a TapHome sablonban
  3. Ellenőrizd, hogy a dID egyéni változó megegyezik a tényleges eszközazonosítóval — iratkozz fel a shellies/# topicra MQTT klienssel a topic prefix ellenőrzéséhez
  4. Győződj meg róla, hogy az MQTT bróker fut és elérhető mind a Shelly, mind a TapHome Core számára
Az energiaértékek nullát vagy NaN-t mutatnak
  1. Erősítsd meg, hogy a CT csatlakozók megfelelően csatlakoznak a Shelly 3EM kapcsaihoz (CT1, CT2, CT3) és a fázisvezetékek köré vannak pattintva
  2. Ellenőrizd, hogy a CT csatlakozón lévő nyíl a helyes irányba mutat (forrástól a terhelés felé)
  3. Pollozd az /emeter/0, /emeter/1, /emeter/2 végpontokat manuálisan, és ellenőrizd, hogy a power és total mezők nem nulla értékeket tartalmaznak

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 3EM Modul
Egyéni változók
Villamos mérő (1. fázis) Villanyóra Csak olvasható

1. fázis energiamonitorozás — hatásos teljesítmény (kW), kumulatív energia (kWh), feszültség, áram, teljesítménytényező és visszatáplált energia

numeric Egység: W / kWh
Szerviz attribútumok
Teljesítménytényező
Áram [A]
Feszültség [V]
Összes visszatáplált energia [Wh]Hálózatba visszatáplált energia — napelemes/FV telepítéseknél releváns kétirányú méréssel
Szerviz műveletek
Számláló nullázása

Villamos mérő (1. fázis)

Összes fogyasztás olvasása
RETURN(todouble(PARSEjson(emeter0, "total"))/1000);
Igény olvasása
RETURN(todouble(PARSEjson(emeter0, "power"))/1000);
Olvasás (modul)
VAR response := SENDHTTPREQUEST("/emeter/0");
IF response.IsSuccess
 emeter0 := response.Content;
ELSE
 ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
 RETURN(NaN);
END
Szerviz attribútumok
power factor
RETURN(todouble(PARSEjson(emeter0, "pf")));
Current [A]
RETURN(PARSEjson(emeter0, "current"));
voltage [V]
RETURN(PARSEjson(emeter0, "voltage"));
Total returned energy [Wh]
RETURN(PARSEjson(emeter0, "total_returned"));
Szerviz műveletek
Reset total
sendhttprequest("/emeter/0?reset_totals");
Villamos mérő (2. fázis) Villanyóra Csak olvasható

2. fázis energiamonitorozás — hatásos teljesítmény (kW), kumulatív energia (kWh), feszültség, áram, teljesítménytényező és visszatáplált energia

numeric Egység: W / kWh
Szerviz attribútumok
Teljesítménytényező
Áram [A]
Feszültség [V]
Összes visszatáplált energia [Wh]Hálózatba visszatáplált energia — napelemes/FV telepítéseknél releváns kétirányú méréssel
Szerviz műveletek
Számláló nullázása

Villamos mérő (2. fázis)

Összes fogyasztás olvasása
RETURN(todouble(PARSEjson(emeter1, "total"))/1000);
Igény olvasása
RETURN(todouble(PARSEjson(emeter1, "power"))/1000);
Olvasás (modul)
VAR response := SENDHTTPREQUEST("/emeter/1");
IF response.IsSuccess
 emeter1 := response.Content;
ELSE
 ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
 RETURN(NaN);
END
Szerviz attribútumok
power factor
RETURN(PARSEjson(emeter1, "pf"));
current [A[
RETURN(PARSEjson(emeter1, "current"));
voltage [V]
RETURN(PARSEjson(emeter1, "voltage"));
total returned energy [Wh]
RETURN(PARSEjson(emeter1, "total_returned"));
Szerviz műveletek
reset total
sendhttprequest("/emeter/1?reset_totals");
Villamos mérő (3. fázis) Villanyóra Csak olvasható

3. fázis energiamonitorozás — hatásos teljesítmény (kW), kumulatív energia (kWh), feszültség, áram, teljesítménytényező és visszatáplált energia

numeric Egység: W / kWh
Szerviz attribútumok
Teljesítménytényező
Áram [A]
Feszültség [V]
Összes visszatáplált energia [Wh]Hálózatba visszatáplált energia — napelemes/FV telepítéseknél releváns kétirányú méréssel
Szerviz műveletek
Számláló nullázása

Villamos mérő (3. fázis)

Összes fogyasztás olvasása
RETURN(todouble(PARSEjson(emeter2, "total"))/1000);
Igény olvasása
RETURN(todouble(PARSEjson(emeter2, "power"))/1000);
Olvasás (modul)
var response := SENDHTTPREQUEST("/emeter/2");
IF response.IsSuccess
 emeter2 := response.Content;
ELSE
 ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
 RETURN(NaN);
END
Szerviz attribútumok
power factor
RETURN(PARSEjson(emeter2, "pf"));
current [A]
RETURN(PARSEjson(emeter2, "current"));
voltage [V]
RETURN(PARSEjson(emeter2, "voltage"));
Total returned energy [Wh]
RETURN(PARSEjson(emeter2, "total_returned"));
Szerviz műveletek
reset total
sendhttprequest("/emeter/2?reset_totals");
Kontaktor kapcsoló Kapcsoló

Beépített 10 A kontaktor relé terhelések kapcsolásához vagy külső kontaktor vezérléséhez

boolean
Értékek / Állapotok: ON · OFF

Kontaktor kapcsoló

Kapcsoló állapot olvasása
VAR response := SENDHTTPREQUEST("/relay/0");
IF response.IsSuccess
 VAR content := response.Content;
 VAR responseHeaders := response.Headers;
 RETURN(PARSEjson(content, "ison"));
ELSE
 ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
 RETURN(NaN);
END
Kapcsoló állapot írása
VAR response := SENDHTTPREQUEST("/relay/0?turn=" + switch(St,1,"on","off"));
IF response.IsSuccess = false
 ADDERROR(response.StatusCode);
END
Kapcsolat: Packet Parser → HTTP
Lehetséges fejlesztések (10)
  • Reactive Power — Per-phase reactive power in VAR; available in /emeter/ response and via MQTT topic .../emeter/{i}/reactive_power
  • Measurement Validity — Boolean flag indicating whether CT clamp measurement is valid; useful for detecting disconnected CT
  • Total Power (3-phase sum) — Sum of active power across all 3 phases in W; available in /status but not in per-phase /emeter/ endpoints
  • WiFi Signal Strength — WiFi RSSI in dBm
  • Uptime — Device uptime in seconds; available in /status but template only polls /emeter/ endpoints, not /status
  • FW Update Available — Firmware update flag from /status
  • Auto-off Timer — Auto-off timer in seconds on contactor relay
  • Per-phase Power Protection — Per-phase overpower threshold; could be exposed as service attribute + action
  • Historical Energy Data (CSV) — Per-phase historical data export as CSV; not applicable for real-time integration
  • Reset All Energy History — Clears ALL stored energy history across all 3 phases; more destructive than per-phase reset_totals

Források