TapHome

Shelly 3EM

Packet Parser → HTTP
Trimis de
Ultima actualizare: 03. 2026

Acest dispozitiv acceptă mDNS

În loc să folosiți o adresă IP, puteți accesa dispozitivul la:

shelly3em-{MAC}.local

Înlocuiți {MAC} cu adresa MAC a dispozitivului dvs. (majuscule, fără două puncte).

TapHome acceptă mDNS — folosirea unui nume de gazdă este mai fiabilă decât un IP static.

Shelly 3EM

Shelly 3EM este un contor electric trifazat Wi-Fi cu trei clești CT (transformatoare de curent) de 120 A și un releu integrat de 10 A pentru contactor. Monitorizează independent, pe fiecare fază, puterea activă, tensiunea, curentul, factorul de putere și energia cumulată. TapHome comunică cu dispozitivul prin rețeaua locală — nu este necesară conexiunea la cloud.

Pentru acest dispozitiv sunt disponibile două șabloane TapHome: un șablon HTTP (implicit, cu interogare periodică prin REST API) și un șablon MQTT (cu abonare la mesaje prin broker). Ambele șabloane oferă același set de dispozitive — 3 contoare electrice (câte unul pe fază) și 1 întrerupător pentru contactor. Alegeți protocolul în funcție de cerințele instalației.

Conectarea hardware

Shelly 3EM necesită alimentare de la rețea (110–230 V AC), conectată la bornele L și N. Fiecare dintre cei trei clești CT incluși se conectează la bornele CT1, CT2, respectiv CT3. Ieșirea releului pentru contactor este pe borna O (maximum 10 A).

Montarea cleștilor CT
  • Fiecare clește CT se prinde în jurul conductorului de fază al circuitului monitorizat — nu este necesară tăierea conductorului
  • Săgeata de pe cleștele CT trebuie să indice sensul curentului (de la sursă spre sarcină)
  • Cleștii CT pot monitoriza un sistem trifazat (L1, L2, L3) sau trei circuite monofazate independente

NU montați un clește CT pe conductorul de fază înainte de a-l conecta la Shelly 3EM. Pe cablurile de legătură ale transformatorului poate apărea tensiune înaltă chiar și atunci când este conectat doar transformatorul.

Comanda contactorului

Ieșirea releului (borna O) are un curent nominal de 10 A și poate comuta direct sarcini mici sau poate acționa bobina unui contactor extern pentru comutarea sarcinilor mai mari.

Configurare

Configurarea șablonului HTTP

La importul șablonului, introduceți adresa IP a dispozitivului. Șablonul interoghează trei endpointuri separate (/emeter/0, /emeter/1, /emeter/2) pentru datele de energie ale fiecărei faze și /relay/0 pentru starea contactorului. Răspunsul pentru fiecare fază este memorat într-o variabilă personalizată (emeter0, emeter1, emeter2), pentru a reduce numărul de apeluri HTTP per ciclu de interogare.

Configurarea șablonului MQTT

Șablonul MQTT necesită trei parametri de import:

ParametruDescriereExemplu
MQTT Broker IPAdresa brokerului MQTT192.168.1.10
MQTT Broker PortPortul brokerului (implicit 1883)1883
Device IDSufixul adresei MAC folosit în topicurile MQTTB929CC

ID-ul dispozitivului (dID) reprezintă ultimele 6 caractere ale adresei MAC, în hexazecimal cu litere mari. Se găsește în interfața web Shelly la Settings → Device Info sau prin GET http://{ip}/settings → câmpul mqtt.id.

Modulul se abonează la shellies/shellyem3-{dID}/#, iar scripturile de ascultare direcționează mesajele emeter ale fiecărei faze și mesajele releului către dispozitivele corespunzătoare.

Șablonul MQTT folosește prefixul de topic shellyem3-{dID}, în timp ce documentația oficială a API-ului indică shelly3em-{id}. Ambele formate funcționează — variabila dID poate fi setată de utilizator. Verificați prefixul de topic real abonându-vă la shellies/# cu un client MQTT.

La dispozitivele Shelly Gen1, activarea MQTT dezactivează Shelly Cloud. Cele două nu pot funcționa simultan. Este o limitare a firmware-ului.

Funcțiile dispozitivului

Contorizarea energiei pe fiecare fază

Șablonul creează trei dispozitive de tip contor electric — câte unul pentru fiecare fază. Fiecare contor citește:

  • Putere activă — puterea instantanee în W, convertită de șablon în kW (÷ 1000)
  • Energie totală consumată — energia cumulată în Wh, convertită de șablon în kWh (÷ 1000)

În șablonul HTTP, datele fiecărei faze se citesc din endpointul propriu /emeter/{i}. În șablonul MQTT, valorile sosesc pe topicurile shellies/shellyem3-{dID}/emeter/{i}/power și .../total.

Parametrii electrici pe fiecare fază

Fiecare contor electric oferă patru atribute de service:

  • Tensiune — tensiunea RMS (V)
  • Curent — curentul RMS (A)
  • Factor de putere — raportul dintre puterea activă și cea aparentă (0,00–1,00)
  • Energie totală returnată — energia returnată în rețea, în Wh, utilă pentru instalațiile solare/fotovoltaice cu contorizare bidirecțională
Resetarea contoarelor electrice

Fiecare fază are acțiunea de service Resetare total, care resetează contoarele electrice ale fazei respective. În modul HTTP apelează /emeter/{i}?reset_totals; în modul MQTT publică reset_totals pe topicul shellies/shellyem3-{dID}/emeter/{i}/command.

Întrerupătorul pentru contactor

Șablonul oferă releul pentru contactor ca dispozitiv de tip întrerupător. Starea releului se citește din /relay/0 → ison (HTTP) sau din topicul shellies/shellyem3-{dID}/relay/0 (MQTT), iar releul se comandă prin /relay/0?turn=on|off (HTTP) sau prin topicul .../relay/0/command (MQTT).

Funcții suplimentare

Shelly 3EM oferă și puterea reactivă (VAR), un indicator de validitate a măsurării pe fiecare fază (is_valid), suma puterii pe toate cele 3 faze (total_power din /status), puterea semnalului Wi-Fi, timpul de funcționare al dispozitivului, starea actualizării firmware-ului, pragurile de depășire a puterii pe fiecare fază și exportul datelor istorice de energie (CSV). Pentru releul contactorului este disponibil un temporizator de oprire automată. Aceste funcții pot fi adăugate într-o actualizare viitoare a șablonului.

Rezolvarea problemelor

Dispozitivul nu răspunde (HTTP)
  1. Verificați dacă Shelly 3EM este conectat la Wi-Fi și are o adresă IP validă
  2. Deschideți http://{device-ip}/shelly în browser — dacă răspunde, dispozitivul este accesibil
  3. Verificați dacă TapHome Core și Shelly 3EM sunt în aceeași rețea / VLAN
Nu se primesc mesaje MQTT
  1. Verificați dacă MQTT este activat în interfața web Shelly (Internet & Security → Advanced — MQTT)
  2. Verificați dacă adresa și portul brokerului sunt corecte atât pe dispozitivul Shelly, cât și în șablonul TapHome
  3. Verificați dacă variabila personalizată dID corespunde ID-ului real al dispozitivului — abonați-vă la shellies/# cu un client MQTT pentru a verifica prefixul de topic folosit de dispozitiv
  4. Asigurați-vă că brokerul MQTT funcționează și este accesibil atât din Shelly, cât și din TapHome Core
Valorile energiei sunt zero sau NaN
  1. Verificați dacă cleștii CT sunt conectați corect la bornele Shelly 3EM (CT1, CT2, CT3) și prinși în jurul conductoarelor de fază
  2. Verificați dacă săgeata cleștelui CT indică sensul corect (de la sursă spre sarcină)
  3. Interogați manual /emeter/0 și verificați câmpul is_valid — false indică un clește CT deconectat sau defect
  4. Verificați valorile power și total — dacă ambele sunt 0, este posibil ca pe acel circuit să nu existe sarcină

Dispozitivele Shelly Gen1 acceptă doar 2 conexiuni HTTP simultane. Dacă TapHome și un alt sistem (de ex. Home Assistant) interoghează simultan același dispozitiv, comunicarea poate deveni instabilă. Dacă dispozitivul trebuie monitorizat din mai multe sisteme, luați în considerare folosirea șablonului MQTT.

Cum se instalează în TapHome

Cerințe preliminare

  • Dispozitiv Shelly instalat și pornit
  • Rețea Wi-Fi locală (2,4 GHz)
  • TapHome CCU în aceeași rețea

Pasul 1 — Conectați dispozitivul Shelly la Wi-Fi

Varianta A — aplicația Shelly (recomandat):

  1. Descărcați aplicația Shelly (iOS / Android)
  2. Atingeți + → Add Device și urmați asistentul de împerechere prin Bluetooth
  3. Introduceți datele de conectare la Wi-Fi când vi se solicită

Varianta B — modul AP (fără aplicație):

  1. La prima pornire, dispozitivul creează un hotspot: ShellyXXX-AABBCCDDEE
  2. Conectați telefonul/PC-ul la acest hotspot
  3. Deschideți http://192.168.33.1 → Internet & Security → Wi-Fi Mode - Client
  4. Introduceți SSID-ul și parola → Save

Shelly acceptă doar rețele de 2,4 GHz. Rețelele de 5 GHz nu vor apărea la scanare.

Pasul 2 — Găsiți adresa dispozitivului

Dispozitivele Shelly Gen1 acceptă mDNS (Zeroconf). Puteți accesa dispozitivul folosind un nume de gazdă în locul adresei IP:

1
shelly<model>-<MAC>.local

De exemplu: shelly1pm-AABBCCDDEE.local (adresa MAC în hexazecimal cu majuscule, fără două puncte).

Recomandat: folosiți Scanner IP din TapHome. Deschideți aplicația TapHome și folosiți Scanner IP (Setări → Rețea → Scanare). Scannerul descoperă dispozitivele din rețea și afișează atât adresa IP, cât și numele de gazdă mDNS. Pentru o conexiune mai fiabilă folosiți numele de gazdă în locul adresei IP — acesta rămâne același chiar dacă adresa IP a dispozitivului se schimbă după o repornire a routerului.

Metode alternative pentru aflarea adresei IP:

  • Aplicația Shelly: detaliile dispozitivului → Device info → adresa IP
  • Interfața web Shelly: conectați-vă la AP-ul dispozitivului înainte de configurarea Wi-Fi — adresa IP se afișează după salvare
  • Tabelul DHCP al routerului: căutați un nume de gazdă de forma shelly1pm-AABBCCDDEE

Pasul 3 — Configurați dispozitivul în TapHome

  1. În TapHome adăugați un nou modul Packet Parser (HTTP)
  2. Address: introduceți numele de gazdă mDNS (de ex. shelly1pm-AABBCCDDEE.local) sau adresa IP de la pasul 2
  3. Port: 80 (implicit, nu este necesară nicio modificare)
  4. Importați șablonul — TapHome va interoga periodic /status pentru a citi starea dispozitivului

Autentificarea HTTP este dezactivată implicit pe dispozitivele Shelly. Dacă ați activat protecția prin autentificare, rețineți că TapHome nu acceptă momentan HTTP Basic Auth — pentru integrarea cu TapHome lăsați autentificarea dezactivată.

Dispozitive disponibile

Shelly 3EM Modul
Variabile personalizate
Contor electric (faza 1) Contor electric Doar citire

Monitorizarea energiei pe faza 1 — putere activă (kW), energie cumulată (kWh), tensiune, curent, factor de putere și energie returnată

numeric Unitate: W / kWh
Atribute de service
Factor de putere
Curent [A]
Tensiune [V]
Energie totală returnată [Wh]Energia returnată în rețea — relevantă pentru instalațiile solare/fotovoltaice cu contorizare bidirecțională
Acțiuni de service
Resetare total

Contor electric (faza 1)

Citirea consumului total
RETURN(todouble(PARSEjson(emeter0, "total"))/1000);
Citirea cererii
RETURN(todouble(PARSEjson(emeter0, "power"))/1000);
Citire (modul)
VAR response := SENDHTTPREQUEST("/emeter/0");
IF response.IsSuccess
 emeter0 := response.Content;
ELSE
 ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
 RETURN(NaN);
END
Atribute de service
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"));
Acțiuni de service
Reset total
sendhttprequest("/emeter/0?reset_totals");
Contor electric (faza 2) Contor electric Doar citire

Monitorizarea energiei pe faza 2 — putere activă (kW), energie cumulată (kWh), tensiune, curent, factor de putere și energie returnată

numeric Unitate: W / kWh
Atribute de service
Factor de putere
Curent [A]
Tensiune [V]
Energie totală returnată [Wh]Energia returnată în rețea — relevantă pentru instalațiile solare/fotovoltaice cu contorizare bidirecțională
Acțiuni de service
Resetare total

Contor electric (faza 2)

Citirea consumului total
RETURN(todouble(PARSEjson(emeter1, "total"))/1000);
Citirea cererii
RETURN(todouble(PARSEjson(emeter1, "power"))/1000);
Citire (modul)
VAR response := SENDHTTPREQUEST("/emeter/1");
IF response.IsSuccess
 emeter1 := response.Content;
ELSE
 ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
 RETURN(NaN);
END
Atribute de service
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"));
Acțiuni de service
reset total
sendhttprequest("/emeter/1?reset_totals");
Contor electric (faza 3) Contor electric Doar citire

Monitorizarea energiei pe faza 3 — putere activă (kW), energie cumulată (kWh), tensiune, curent, factor de putere și energie returnată

numeric Unitate: W / kWh
Atribute de service
Factor de putere
Curent [A]
Tensiune [V]
Energie totală returnată [Wh]Energia returnată în rețea — relevantă pentru instalațiile solare/fotovoltaice cu contorizare bidirecțională
Acțiuni de service
Resetare total

Contor electric (faza 3)

Citirea consumului total
RETURN(todouble(PARSEjson(emeter2, "total"))/1000);
Citirea cererii
RETURN(todouble(PARSEjson(emeter2, "power"))/1000);
Citire (modul)
var response := SENDHTTPREQUEST("/emeter/2");
IF response.IsSuccess
 emeter2 := response.Content;
ELSE
 ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
 RETURN(NaN);
END
Atribute de service
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"));
Acțiuni de service
reset total
sendhttprequest("/emeter/2?reset_totals");
Întrerupător pentru contactor Comutator

Releu integrat de 10 A pentru contactor, pentru comutarea sarcinii sau comanda unui contactor extern

boolean
Valori / Stări: ON · OFF

Întrerupător pentru contactor

Citirea stării comutatorului
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
Scrierea stării comutatorului
VAR response := SENDHTTPREQUEST("/relay/0?turn=" + switch(St,1,"on","off"));
IF response.IsSuccess = false
 ADDERROR(response.StatusCode);
END
Conexiune: Packet Parser → HTTP • Nume gazdă: shelly3em-{MAC}.local
Îmbunătățiri posibile (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

Surse

Ați găsit o problemă la acest șablon de dispozitiv?

Spuneți-ne ce nu funcționează, ce lipsește sau cum ar trebui să se comporte șablonul. Feedbackul dvs. ne ajută să păstrăm catalogul corect.

Verificat de TapHome

Doriți să folosiți acest șablon în TapHome Core?

Deschideți acest șablon în Customer Portal pentru a-l aplica într-una dintre locuințele dvs. sau pentru a propune o îmbunătățire și a o trimite înapoi în catalog.

Deschideți în portal