
Shelly Plus 2PM este un releu Wi-Fi compact cu două canale și măsurarea integrată a puterii pe ambele canale. Se montează în spatele unui întrerupător de perete standard și poate comanda două circuite independente de până la 10 A fiecare (16 A în total la 230 V AC) sau un singur rulou motorizat. TapHome comunică cu dispozitivul prin HTTP, folosind API-ul RPC Gen2+ în rețeaua locală — nu este necesară conexiunea la cloud.
Dispozitivul are două profiluri de funcționare — switch și cover — care se selectează în interfața web Shelly sau prin acțiunea de service din TapHome. În profilul switch, ambele ieșiri de releu (O1 și O2) funcționează independent, cu monitorizarea puterii pe fiecare canal. În profilul cover, cele două ieșiri acționează un singur motor pentru rulouri, jaluzele sau draperii, cu comanda poziției și calibrare.
Shelly Plus 2PM nu se mai produce. Succesorul său, Shelly 2PM Gen3, oferă aceleași funcții cu două profiluri, un procesor mai performant (8 MB flash), până la 6 conexiuni HTTP simultane și posibilitatea de actualizare pentru Matter.
Configurare
Shelly Plus 2PM 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+. 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–5 secunde). Dacă întâmpinați probleme intermitente de conectivitate, dezactivați modul ECO în interfața web Shelly.
Selectarea profilului
Shelly Plus 2PM funcționează la un moment dat într-unul dintre cele două profiluri. Profilul activ determină ce dispozitive TapHome funcționează:
- Profilul switch — activează ambele întrerupătoare cu releu (Întrerupător 1 și Întrerupător 2) și contoarele electrice ale fiecărui canal. Ruloul și contorul electric al ruloului nu vor răspunde.
- Profilul cover — activează ruloul și contorul său electric. Cele două întrerupătoare și contoarele lor electrice nu vor răspunde.
Profilul activ este afișat în TapHome ca atribut de service la nivel de modul („Profil”). Pentru a schimba profilul, folosiți acțiunea de service Profil la nivel de modul sau schimbați-l în interfața web Shelly. După schimbarea profilului, dispozitivul repornește și vor funcționa doar dispozitivele care corespund noului profil.
Șablonul include toate cele șase dispozitive (2 întrerupătoare + 2 contoare electrice pentru întrerupătoare + 1 rulou + 1 contor electric pentru rulou), dar vor funcționa doar dispozitivele care corespund profilului activ. Este un comportament normal — dispozitivele pentru celălalt profil pur și simplu nu răspund.
Calibrarea ruloului
În profilul cover, limitele de cursă ale motorului trebuie calibrate înainte ca comanda poziției să funcționeze. Până la finalizarea calibrării, current_pos returnează null, iar atributul de service „Calibrat” afișează false. Calibrarea se poate face în interfața web Shelly sau prin acțiunea de service Calibrare a ruloului în TapHome. În timpul calibrării, ruloul parcurge o secvență în mai mulți pași (deschidere completă → închidere completă → deschidere completă → închidere în pași → deschidere în pași) pentru a măsura distanțele de deplasare.
Funcțiile dispozitivului
Comanda releului (profilul switch)
Șablonul oferă două întrerupătoare cu releu independente. Fiecare întrerupător își citește starea din /rpc/Switch.GetStatus?id={0,1} (câmpul output, boolean) și comandă releul prin /rpc/Switch.Set?id={0,1}&on=true|false.
Fiecare întrerupător oferă șapte atribute de service:
- Sursă — sursa ultimei comenzi (http, UI, WS_in etc.)
- Temperatură — temperatura internă a dispozitivului în °C
- Stare inițială — comportamentul întrerupătorului la pornirea alimentării (off, on, restore_last sau match_input)
- Mod intrare — modul de conectare a intrării fizice (follow sau detached)
- Limită de putere — pragul maxim de putere în wați pentru protecția la depășirea puterii
- Limită de tensiune — pragul maxim de tensiune în volți
- Limită de curent — pragul maxim de curent în amperi
La fiecare întrerupător sunt disponibile două acțiuni de service:
- Setare stare inițială — configurează comportamentul releului după pornirea alimentării (off, on, restore_last, match_input)
- Setare mod — configurează modul de conectare a intrării fizice (follow, detached)
Măsurarea puterii (profilul switch)
Fiecare canal al întrerupătorului are un contor electric dedicat, care citește două valori din /rpc/Switch.GetStatus:
- 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
Fiecare contor electric oferă și trei atribute de service:
- Tensiune — tensiunea de alimentare în volți
- Curent — curentul sarcinii în amperi
- Factor de putere — factorul de putere al sarcinii
Contoarele sunt doar pentru citire — se actualizează automat la fiecare ciclu de interogare.
Comanda ruloului (profilul cover)
Dispozitivul Rulou comandă un rulou, o draperie sau o copertină motorizată. Citește poziția din /rpc/Cover.GetStatus?id=0 (câmpul current_pos, 0–100 %) și o setează prin /rpc/Cover.GoToPosition?id=0&pos=N.
Ruloul oferă 21 de atribute de service:
- Stare — sursa, starea (open/closed/opening/closing/stopped/calibrating), poziția curentă și cea țintă, timpul maxim de mișcare și momentul pornirii mișcării
- Calibrat — dacă este activată comanda poziției (
pos_control) - Temperatură — temperatura internă a dispozitivului în °C
- Comportament la pornirea alimentării — configurarea stării inițiale (open, closed, stopped)
- Setările intrărilor — modul intrării (single, dual, detached), inversarea intrărilor, inversarea direcțiilor
- Limite de protecție — limită de putere (W), limită de tensiune (V), limită de curent (A)
- Reglarea motorului — pragul de putere în repaus (0–50 W), perioada de confirmare a repausului (0,25–2 s)
- Limite de mișcare — timpul maxim de deschidere (0,1–300 s), timpul maxim de închidere (0,1–300 s)
- Funcții de siguranță — starea detectării obstacolelor, starea întrerupătorului de siguranță
La rulou sunt disponibile șase acțiuni de service:
- Deschidere — deschide complet ruloul
- Închidere — închide complet ruloul
- Oprire — oprește imediat mișcarea
- Calibrare — pornește procedura de calibrare pentru comanda poziției
- Deplasare la poziție — deplasează ruloul într-o anumită poziție (0–100 %)
- Inversare direcții — comută valoarea parametrului
invert_directionsși repornește dispozitivul
Măsurarea puterii (profilul cover)
Ruloul are un contor electric dedicat, care citește din /rpc/Cover.GetStatus:
- 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 electric al ruloului oferă și tensiunea, curentul și factorul de putere ca atribute de service.
Diagnosticare de service
Șablonul oferă două atribute de service la nivel de modul:
- MAC — adresa MAC a dispozitivului din configurația sistemului
- Profil — profilul activ al dispozitivului (switch sau cover)
Scriptul de citire al modulului verifică și restart_required din /rpc/Sys.GetStatus și afișează o avertizare în TapHome dacă este necesară o repornire.
Acțiuni de service
La nivelul modulului sunt disponibile două acțiuni de service:
- Repornire — repornește dispozitivul prin
/rpc/Shelly.Reboot - Profil — comută între profilurile de funcționare switch și cover prin
/rpc/Shelly.SetProfile
Funcții suplimentare
În răspunsurile RPC, Shelly Plus 2PM furnizează și frecvența rețelei (freq), valorile energiei pe minut (aenergy.by_minute), starea intrărilor fizice (input:0, input:1), puterea semnalului Wi-Fi (RSSI) și un endpoint de comutare (toggle) pentru întrerupător. Contoarele electrice se pot reseta prin /rpc/Switch.ResetCounters (profilul switch) sau /rpc/Cover.ResetCounters (profilul cover). În modul cover, poziția lamelelor/înclinarea pentru jaluzelele venețiene este disponibilă atunci când hardware-ul o permite. Aceste funcții pot fi adăugate într-o actualizare viitoare a șablonului.
Rezolvarea problemelor
Dispozitivul nu răspunde
- Verificați dacă Shelly este conectat la Wi-Fi și are o adresă IP validă
- Încercați să folosiți numele de gazdă mDNS (
shellyplus2pm-AABBCCDDEE.local) în locul adresei IP — adresa IP se poate schimba după reînnoirea DHCP - Deschideți
http://{device-ip}/rpc/Shelly.GetDeviceInfoîn browser — dacă răspunde cu JSON, dispozitivul este accesibil - Verificați dacă TapHome Core și Shelly sunt în aceeași rețea / VLAN
- Verificați dacă autentificarea este dezactivată pe dispozitivul Shelly
Profil nepotrivit — dispozitivele nu răspund
Dacă unele dispozitive nu afișează valori, în timp ce altele funcționează corect:
- Verificați ce profil este activ — atributul de service „Profil” la nivel de modul afișează modul curent
- Treceți la profilul corect cu acțiunea de service Profil sau ignorați dispozitivele nefolosite
- După schimbarea profilului, dispozitivul repornește automat — așteptați câteva secunde pentru reconectare
Comanda poziției ruloului nu funcționează
- Verificați dacă dispozitivul este în profilul cover — profilul switch nu oferă funcțiile pentru rulou
- Rulați acțiunea de service Calibrare pe rulou — comanda poziției necesită finalizarea calibrării
- Verificați dacă motorul este conectat corect la bornele O1 și O2
- Interogați manual
/rpc/Cover.GetStatus?id=0și verificați dacăpos_controlestetrue
Calibrarea ruloului eșuează
Calibrarea se întrerupe dacă:
- Ruloul nu ajunge în poziția finală în intervalul
maxtime_opensaumaxtime_close - O funcție de siguranță (detectarea obstacolelor sau întrerupătorul de siguranță) se declanșează în timpul calibrării
- În timpul calibrării este trimisă o comandă externă de oprire
- Direcția motorului nu corespunde răspunsului așteptat
- Dispozitivul repornește în timpul calibrării
Verificați cablajul motorului, măriți maxtime_open/maxtime_close dacă motorul este lent și asigurați-vă că nu există obstacole.
Puterea afișată este zero
- Verificați dacă sarcina este conectată prin releul Shelly (nu ocolește releul)
- Verificați dacă releul este pornit — contorul măsoară doar atunci când curentul trece prin releu
- Interogați manual
/rpc/Switch.GetStatus?id=0(profilul switch) sau/rpc/Cover.GetStatus?id=0(profilul cover) și verificați dacăapowerreturnează o valoare diferită de zero
Dispozitivele Shelly Gen2+ acceptă până la 6 conexiuni HTTP simultane. Deși este o îmbunătățire față de Gen1 (2 conexiuni), evitați interogarea simultană din prea multe sisteme (TapHome, Home Assistant, scripturi proprii), pentru a nu epuiza conexiunile.