
Lo Shelly Plus 2PM è un relè Wi-Fi compatto a due canali con misurazione della potenza integrata su entrambi i canali. Si installa dietro un interruttore a parete standard e può controllare due circuiti indipendenti, ciascuno fino a 10 A (16 A totali a 230 V AC), o azionare una singola tapparella motorizzata. TapHome comunica con il dispositivo tramite HTTP usando l’API RPC Gen2+ sulla rete locale — non è richiesta alcuna connessione cloud.
Il dispositivo supporta due profili operativi — switch e cover — selezionabili tramite l’interfaccia web Shelly o l’azione di servizio TapHome. Nel profilo switch, entrambe le uscite relè (O1 e O2) operano indipendentemente con monitoraggio della potenza per canale. Nel profilo cover, le due uscite azionano un singolo motore per tapparelle, veneziane o tende, con controllo della posizione e calibrazione.
Lo Shelly Plus 2PM è stato dismesso. Il suo successore, lo Shelly 2PM Gen3, offre la stessa funzionalità a doppio profilo con processore migliorato (8 MB flash), fino a 6 connessioni HTTP simultanee e aggiornabilità a Matter.
Configurazione
Lo Shelly Plus 2PM si connette tramite Wi-Fi. Durante l’importazione del template TapHome, inserire l’indirizzo IP del dispositivo (segnaposto predefinito 192.168.0.1).
L’autenticazione deve essere disabilitata sul dispositivo Shelly per l’integrazione con TapHome. TapHome non supporta l’HTTP Digest Auth utilizzata dai dispositivi Gen2+. Aprire l’interfaccia web Shelly (
http://{ip-dispositivo}) → Settings → Authentication e assicurarsi che sia disattivata.
Se la modalità ECO è abilitata sul dispositivo Shelly, può causare timeout di comunicazione a causa degli intervalli di polling rapidi del template (2,5–5 secondi). Disabilitare la modalità ECO nell’interfaccia web Shelly se si verificano problemi di connettività intermittente.
Selezione del profilo
Lo Shelly Plus 2PM opera in uno dei due profili alla volta. Il profilo attivo determina quali dispositivi TapHome sono funzionali:
- Profilo switch — abilita entrambi i relè (Switch 1 e Switch 2) e i rispettivi contatori di energia per canale. Il dispositivo tapparella e il contatore energia tapparella non risponderanno.
- Profilo cover — abilita il dispositivo tapparella e il suo contatore di energia. I due dispositivi interruttore e i loro contatori di energia non risponderanno.
Il profilo attivo è visibile come attributo di servizio a livello di modulo (“Profile”) in TapHome. Per cambiare il profilo, utilizzare l’azione di servizio Profile a livello di modulo oppure cambiarlo nell’interfaccia web Shelly. Dopo il cambio profilo, il dispositivo si riavvia e solo i dispositivi corrispondenti al nuovo profilo funzioneranno.
Il template include tutti e sei i dispositivi (2 interruttori + 2 contatori energia interruttori + 1 tapparella + 1 contatore energia tapparella), ma solo i dispositivi corrispondenti al profilo attivo funzioneranno. Questo è il comportamento previsto — i dispositivi sul profilo sbagliato semplicemente non rispondono.
Calibrazione della copertura
Quando si utilizza il profilo cover, i limiti di corsa del motore devono essere calibrati prima che il controllo della posizione funzioni. Fino al completamento della calibrazione, current_pos restituisce null e l’attributo di servizio “Calibrated” mostra false. Calibrare tramite l’interfaccia web Shelly o attivando l’azione di servizio Calibrate sul dispositivo Shutter in TapHome. Durante la calibrazione, la copertura esegue una sequenza a più fasi (apertura completa → chiusura completa → apertura completa → chiusura a passi → apertura a passi) per misurare le distanze di corsa.
Funzionalità del dispositivo
Controllo relè (profilo switch)
Il template espone due interruttori relè indipendenti. Ogni interruttore legge il proprio stato da /rpc/Switch.GetStatus?id={0,1} (campo output, boolean) e controlla il relè tramite /rpc/Switch.Set?id={0,1}&on=true|false.
Ogni interruttore espone sette attributi di servizio:
- Source — sorgente dell’ultimo comando (http, UI, WS_in, ecc.)
- Temperature — temperatura interna del dispositivo in °C
- Initial State — comportamento dell’interruttore all’accensione (off, on, restore_last o match_input)
- Input Mode — modalità di cablaggio dell’ingresso fisico (follow o detached)
- Power Limit — soglia di potenza massima in watt per la protezione da sovraccarico
- Voltage Limit — soglia di tensione massima in volt
- Current Limit — soglia di corrente massima in ampere
Due azioni di servizio sono disponibili per ogni interruttore:
- Set Initial State — configura il comportamento del relè dopo l’accensione (off, on, restore_last, match_input)
- Set Mode — configura la modalità di cablaggio dell’ingresso fisico (follow, detached)
Misurazione della potenza (profilo switch)
Ogni canale dell’interruttore ha un contatore di energia dedicato che legge due valori da /rpc/Switch.GetStatus:
- Potenza istantanea —
apowerin watt, convertita in kW dal template - Consumo totale —
aenergy.totalin wattora, convertito in kWh dal template
Ogni contatore di energia espone anche tre attributi di servizio:
- Voltage — tensione di alimentazione in volt
- Current — corrente di carico in ampere
- Power Factor — fattore di potenza del carico
I contatori sono di sola lettura — si aggiornano automaticamente con ogni ciclo di polling.
Controllo tapparella (profilo cover)
Il dispositivo tapparella controlla una tapparella motorizzata, una tenda o un’avvolgibile. Legge la posizione da /rpc/Cover.GetStatus?id=0 (campo current_pos, 0–100%) e scrive tramite /rpc/Cover.GoToPosition?id=0&pos=N.
Il dispositivo tapparella espone 21 attributi di servizio:
- Stato — sorgente, stato (open/closed/opening/closing/stopped/calibrating), posizione attuale e target, timeout movimento e ora di avvio
- Calibrazione — se il controllo posizione è abilitato (
pos_control) - Temperatura — temperatura interna del dispositivo in °C
- Comportamento all’accensione — configurazione stato iniziale (open, closed, stopped)
- Impostazioni ingresso — modalità ingresso (single, dual, detached), scambio ingressi, inversione direzioni
- Limiti di protezione — limite potenza (W), limite tensione (V), limite corrente (A)
- Regolazione motore — soglia potenza a riposo (0–50 W), periodo conferma riposo (0,25–2 s)
- Limiti di movimento — tempo massimo apertura (0,1–300 s), tempo massimo chiusura (0,1–300 s)
- Funzioni di sicurezza — stato rilevamento ostacoli, stato interruttore di sicurezza
Sei azioni di servizio sono disponibili per la tapparella:
- Open — apre completamente la copertura
- Close — chiude completamente la copertura
- Stop — arresta il movimento immediatamente
- Calibrate — avvia la procedura di calibrazione per il controllo posizione
- Go to Position — muove la copertura a una posizione specifica (0–100%)
- Reverse directions — commuta la configurazione
invert_directionse riavvia il dispositivo
Misurazione della potenza (profilo cover)
La tapparella ha un contatore di energia dedicato che legge da /rpc/Cover.GetStatus:
- Potenza istantanea —
apowerin watt, convertita in kW dal template - Consumo totale —
aenergy.totalin wattora, convertito in kWh dal template
Il contatore di energia della tapparella espone anche tensione, corrente e fattore di potenza come attributi di servizio.
Diagnostica di servizio
Il template espone due attributi di servizio a livello di modulo:
- MAC — indirizzo MAC del dispositivo dalla configurazione di sistema
- Profile — profilo dispositivo attualmente attivo (switch o cover)
Lo script di lettura del modulo controlla anche restart_required da /rpc/Sys.GetStatus e mostra un avviso in TapHome se è in attesa un riavvio.
Azioni di servizio
Due azioni di servizio sono disponibili a livello di modulo:
- Reboot — attiva un riavvio del dispositivo tramite
/rpc/Shelly.Reboot - Profile — commuta tra i profili operativi switch e cover tramite
/rpc/Shelly.SetProfile
Funzionalità aggiuntive
Lo Shelly Plus 2PM espone anche frequenza di rete (freq), valori di energia al minuto (aenergy.by_minute), stati degli ingressi fisici (input:0, input:1), potenza del segnale Wi-Fi (RSSI) e un endpoint toggle dell’interruttore nelle sue risposte RPC. I contatori di energia possono essere azzerati tramite /rpc/Switch.ResetCounters (profilo switch) o /rpc/Cover.ResetCounters (profilo cover). In modalità cover, la posizione lamelle/inclinazione per veneziane è disponibile quando l’hardware la supporta. Queste funzionalità potranno essere aggiunte in un futuro aggiornamento del template.
Risoluzione dei problemi
Il dispositivo non risponde
- Verificare che lo Shelly sia connesso al Wi-Fi e abbia un indirizzo IP valido
- Provare a utilizzare l’hostname mDNS (
shellyplus2pm-AABBCCDDEE.local) invece dell’indirizzo IP — l’IP potrebbe essere cambiato dopo un rinnovo DHCP - Aprire
http://{ip-dispositivo}/rpc/Shelly.GetDeviceInfonel browser — se risponde con JSON, il dispositivo è raggiungibile - Verificare che TapHome Core e Shelly siano sulla stessa rete / VLAN
- Assicurarsi che l’autenticazione sia disabilitata sul dispositivo Shelly
Discrepanza profilo — dispositivi non rispondono
Se alcuni dispositivi non mostrano letture mentre altri funzionano correttamente:
- Controllare quale profilo è attualmente attivo — l’attributo di servizio “Profile” a livello di modulo mostra la modalità corrente
- Passare al profilo corretto utilizzando l’azione di servizio Profile oppure ignorare i dispositivi non utilizzati
- Dopo il cambio profilo, il dispositivo si riavvia automaticamente — attendere qualche secondo per la riconnessione
La posizione della copertura non funziona
- Verificare che il dispositivo sia in profilo cover — il profilo switch non espone le funzionalità di copertura
- Eseguire l’azione di servizio Calibrate sul dispositivo Shutter — il controllo posizione richiede calibrazione completata
- Controllare che il motore sia collegato correttamente ai morsetti O1 e O2
- Interrogare manualmente
/rpc/Cover.GetStatus?id=0e verificare chepos_controlsiatrue
La calibrazione della copertura fallisce
La calibrazione si interrompe se:
- La copertura non raggiunge la posizione finale entro
maxtime_openomaxtime_close - Una funzione di sicurezza (rilevamento ostacoli o interruttore di sicurezza) viene attivata durante la calibrazione
- Un comando di arresto esterno viene inviato durante la calibrazione
- La direzione del motore non corrisponde al feedback atteso
- Il dispositivo si riavvia durante la calibrazione
Controllare il cablaggio del motore, aumentare maxtime_open/maxtime_close se il motore è lento e assicurarsi che non siano presenti ostacoli.
Le letture di potenza mostrano zero
- Confermare che il carico sia collegato attraverso il relè Shelly (non bypassato)
- Verificare che il relè sia acceso — il contatore misura solo quando la corrente scorre attraverso il relè
- Interrogare manualmente
/rpc/Switch.GetStatus?id=0(profilo switch) o/rpc/Cover.GetStatus?id=0(profilo cover) e verificare cheapowerrestituisca un valore diverso da zero
I dispositivi Shelly Gen2+ supportano fino a 6 connessioni HTTP simultanee. Sebbene sia un miglioramento rispetto a Gen1 (2 connessioni), evitare il polling simultaneo da troppi sistemi (TapHome, Home Assistant, script personalizzati) per prevenire l’esaurimento delle connessioni.