TapHome

Shelly 1PM Gen3

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:

shelly1pmg3-{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 1PM Gen3

Shelly 1PM Gen3 este un releu Wi-Fi compact cu măsurarea integrată a puterii. Se montează în spatele unui întrerupător de perete standard și poate comanda un circuit de până la 16 A (3500 W la 230 V AC) sau 10 A (la 24–30 V DC). TapHome comunică cu dispozitivul prin HTTP, folosind API-ul JSON-RPC 2.0 Gen2+/Gen3 în rețeaua locală — nu este necesară conexiunea la cloud.

Spre deosebire de modelul original Shelly 1PM (Gen1), care folosește un API REST cu endpointul /status, versiunea Gen3 folosește API-ul RPC cu apeluri de metode precum /rpc/Switch.GetStatus. Hardware-ul Gen3 are un procesor ESP mai rapid, cu 8 MB flash, acceptă până la 6 conexiuni HTTP simultane (față de 2 la Gen1) și poate fi actualizat pentru Matter.

Șablonul oferă comanda releului și un contor electric care citește consumul de putere în timp real și consumul de energie cumulat.

Configurare

Shelly 1PM Gen3 se conectează prin Wi-Fi. La importul șablonului în TapHome, introduceți adresa IP a dispozitivului (valoarea implicită: 192.168.0.1).

Pentru integrarea cu TapHome, autentificarea pe dispozitivul Shelly trebuie să fie dezactivată. TapHome nu acceptă HTTP Digest Auth, folosită de dispozitivele Gen2+/Gen3. Deschideți interfața web Shelly (http://{device-ip}) → Settings → Authentication și asigurați-vă că este dezactivată.

Dacă pe dispozitivul Shelly este activat modul ECO, pot apărea erori de timeout ale comunicării din cauza intervalelor scurte de interogare folosite de șablon (2,5–3 secunde). Dacă întâmpinați probleme intermitente de conectivitate, dezactivați modul ECO în interfața web Shelly.

Funcțiile dispozitivului

Comanda releului

Șablonul oferă releul ca dispozitiv de tip întrerupător. Starea releului se citește din răspunsul /rpc/Switch.GetStatus?id=0 (câmpul output, boolean), iar releul se comandă prin /rpc/Switch.Set?id=0&on=true sau on=false.

Măsurarea puterii

Contorul electric integrat citește două valori din răspunsul /rpc/Switch.GetStatus?id=0:

  • Putere în timp real — apower, raportată în wați și convertită de șablon în kW
  • Consum total — aenergy.total, raportat în wați-oră și convertit de șablon în kWh

Contorul oferă și trei atribute de service:

  • Curent electric — curentul sarcinii în amperi (câmpul current)
  • Tensiune electrică — tensiunea de alimentare în volți (câmpul voltage)
  • Temperatură — temperatura internă a dispozitivului în °C (câmpul temperature.tC)

Contorul este doar pentru citire — se actualizează automat la fiecare ciclu de interogare (interval de 15 secunde).

Diagnosticare de service

Șablonul oferă la nivelul modulului atribute de service pentru monitorizarea dispozitivului:

  • Wi-Fi — numele SSID al rețelei conectate
  • Adresă IP — adresa IP curentă a dispozitivului în rețeaua Wi-Fi
  • Puterea semnalului — Wi-Fi RSSI în dB
  • MAC — adresa MAC a dispozitivului

Scriptul de citire al modulului verifică și actualizările de firmware disponibile și necesitatea unei reporniri, pe care le afișează ca avertizări în interfața TapHome.

Acțiuni de service

La nivelul modulului sunt disponibile două acțiuni de service:

  • Actualizare firmware — pornește actualizarea firmware-ului la ultima versiune stabilă prin /rpc/Shelly.Update
  • Repornire — pornește repornirea dispozitivului prin /rpc/Shelly.Reboot
Funcții suplimentare

În răspunsurile RPC, Shelly 1PM Gen3 furnizează și factorul de putere, frecvența rețelei (Hz), contoarele energiei returnate/exportate, starea intrării fizice (input:0), timpul de funcționare al dispozitivului, utilizarea RAM și ora dispozitivului. Un temporizator de oprire automată este disponibil prin parametrul toggle_after, protecția la depășirea puterii se poate configura prin Switch.SetConfig → power_limit, iar contoarele electrice se pot reseta prin /rpc/Switch.ResetCounters. Aceste funcții pot fi adăugate într-o actualizare viitoare a șablonului.

Rezolvarea problemelor

Dispozitivul nu răspunde
  1. Verificați dacă Shelly este conectat la Wi-Fi și are o adresă IP validă
  2. Încercați să folosiți numele de gazdă mDNS (shelly1pmg3-AABBCCDDEE.local) în locul adresei IP — adresa IP se poate schimba după reînnoirea DHCP
  3. Deschideți http://{device-ip}/rpc/Shelly.GetDeviceInfo în browser — dacă răspunde cu JSON, dispozitivul este accesibil
  4. Verificați dacă TapHome Core și Shelly sunt în aceeași rețea / VLAN
  5. Verificați dacă autentificarea este dezactivată pe dispozitivul Shelly
Puterea afișată este zero
  1. Verificați dacă sarcina este conectată prin releul Shelly (nu ocolește releul)
  2. Verificați dacă releul este pornit — contorul măsoară doar atunci când curentul trece prin releu
  3. Interogați manual /rpc/Switch.GetStatus?id=0 și verificați dacă apower returnează o valoare diferită de zero
Avertizare de supratemperatură

Shelly 1PM Gen3 are protecție termică internă. Dacă temperatura dispozitivului depășește limitele de siguranță, valoarea temperature din atributele de service ale contorului va crește. Asigurați o ventilație adecvată în jurul dispozitivului, mai ales la comutarea continuă a sarcinilor mari.

Dispozitivele Shelly Gen2+/Gen3 acceptă până la 6 conexiuni HTTP simultane. Deși este o îmbunătățire semnificativă față de Gen1 (2 conexiuni), evitați interogarea simultană din prea multe sisteme (TapHome, Home Assistant, scripturi proprii), pentru a nu epuiza conexiunile.

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 1PM Gen3 Modul
Atribute de service
Wi-Fi
Adresă IP
Puterea semnalului
MAC
Acțiuni de service
Actualizare firmware
Repornire
Variabile personalizate

Shelly 1PM Gen3

Citire (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
Atribute de service
Wifi
PARSEJSON(WiFi.GetStatus, "ssid")
${ipAddress}
PARSEJSON(WiFi.GetStatus, "sta_ip")
${xml_signal_strength} [dB]
PARSEJSON(WiFi.GetStatus, "rssi")
MAC
PARSEJSON(Sys.GetStatus, "mac")
Acțiuni de service
${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
Întrerupător Comutator
boolean
Valori / Stări: ON · OFF

Întrerupător

Citirea stării comutatorului
var x := (sendhttprequest("/rpc/Switch.GetStatus?id=0"));
var status := x.Content;
return(PARSEJSON(status, "$.output", true));
Scrierea stării comutatorului
VAR response := SENDHTTPREQUEST("rpc/Switch.Set?id=0&on=" + if(St,"true","false"));
IF response.IsSuccess = false
  ADDERROR(response.StatusCode);
END
Contor electric Contor electric Doar citire

Măsurarea consumului de putere și de energie — putere instantanee (kW) și energie cumulată (kWh), cu citirea curentului, tensiunii și temperaturii

numeric Unitate: kW / kWh
Atribute de service
Curent electric
Tensiune electrică
Temperatură

Contor electric

Citirea consumului total
return(parsejson(parsejson(Switch.GetStatus,"aenergy"), "total")/1000);
Citirea cererii
return(parsejson(Switch.GetStatus,"apower")/1000);
Citire (modul)
VAR response := SENDHTTPREQUEST("/rpc/Switch.GetStatus?id=0");
IF response.IsSuccess
    Switch.GetStatus := response.Content;
END
Atribute de service
${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"));
Conexiune: Packet Parser → HTTP • Nume gazdă: shelly1pmg3-{MAC}.local
Îmbunătățiri posibile (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

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