
Lo Shelly Plus 1PM è un interruttore relè Wi-Fi Gen2+ compatto con misurazione della potenza integrata. Si installa dietro un interruttore a parete standard e può controllare un circuito fino a 16 A (3500 W a 230 V AC) o 10 A (30 V DC). Il dispositivo supporta alimentazione 110-240 VAC o 24-30 VDC, rendendolo adatto sia per installazioni a tensione di rete che a bassa tensione. TapHome comunica con il dispositivo localmente tramite Wi-Fi — non è richiesta alcuna connessione cloud.
Sono disponibili due template TapHome: un template HTTP che interroga l’API RPC Gen2+ del dispositivo, e un template MQTT che riceve dati tramite un broker MQTT. Entrambi espongono gli stessi due dispositivi — un contatore di energia e un interruttore relè.
Configurazione
Template HTTP
Il template HTTP richiede solo l’indirizzo IP del dispositivo (valore predefinito 192.168.0.1). TapHome interroga l’endpoint /rpc/Switch.GetStatus?id=0 sia per lo stato del relè che per i dati di misurazione della potenza. Il modulo memorizza la risposta JSON in una variabile status così che i singoli script dei dispositivi possano analizzare i dati senza chiamate HTTP ridondanti.
Template MQTT
Il template MQTT richiede tre parametri durante l’importazione:
- IP del broker MQTT — l’indirizzo IP del broker MQTT (non del dispositivo Shelly stesso)
- Porta del broker MQTT — predefinita
1883 - MQTT Client ID dello Shelly — formato
shellyplus1pm-{deviceid}, si trova nell’interfaccia web Shelly in Settings > MQTT Settings > Client ID
Dopo aver abilitato MQTT sullo Shelly Plus 1PM (Settings > MQTT), TapHome si iscrive a shellyplus1pm-{deviceid}/status/switch:0 e pubblica comandi di controllo su shellyplus1pm-{deviceid}/command/switch:0.
Funzionalità del dispositivo
Controllo relè
Il template espone il relè come dispositivo interruttore. Lo stato del relè viene letto dal campo output (boolean) e controllato tramite /rpc/Switch.Set?id=0 con on=true o on=false (HTTP) o pubblicando on/off sul topic di comando (MQTT).
Il template HTTP interroga il relè con un intervallo di 2,5 secondi, fornendo un feedback dello stato quasi in tempo reale. Il template MQTT riceve aggiornamenti in tempo reale tramite lo script listener.
Misurazione della potenza
Il contatore di energia integrato legge due valori dalla risposta Switch.GetStatus:
- Potenza istantanea —
apowerin watt, convertita in kW dal template (divisione per 1000) - Energia cumulativa —
aenergy.totalin wattora, convertita in kWh dal template (divisione per 1000)
Il contatore è di sola lettura — si aggiorna automaticamente a ogni ciclo di polling (HTTP) o con ogni messaggio di stato MQTT.
Il template HTTP espone anche tre attributi di servizio sul contatore di energia:
| Attributo | Unità | Descrizione |
|---|---|---|
| Corrente | A | Corrente assorbita istantanea |
| Tensione | V | Tensione di rete RMS |
| Temperatura | °C | Temperatura interna del dispositivo |
Il template MQTT espone temperatura interna, tensione e corrente come attributi di servizio a livello di modulo con gli stessi dati, analizzati dal payload di stato MQTT.
Funzionalità aggiuntive
Lo Shelly Plus 1PM espone tramite l’API RPC anche fattore di potenza, frequenza di rete, energia restituita (per misurazione bidirezionale), stato dell’ingresso fisico, intensità del segnale Wi-Fi, indirizzo MAC, tempo di attività, utilizzo RAM e ora del dispositivo. Sono disponibili anche aggiornamento firmware, riavvio dispositivo, timer di spegnimento automatico, reset contatore energia e configurazione protezione sovraccarico. Queste funzionalità potranno essere aggiunte in un futuro aggiornamento del template.
Risoluzione dei problemi
Il dispositivo non risponde (HTTP)
- Verifica che lo Shelly sia connesso al Wi-Fi e abbia un indirizzo IP valido
- Prova a utilizzare l’hostname mDNS (
shellyplus1pm-AABBCCDDEE.local) invece dell’indirizzo IP — l’IP potrebbe essere cambiato dopo un rinnovo DHCP - Apri
http://{ip-dispositivo}/rpc/Shelly.GetDeviceInfonel browser — se risponde con JSON, il dispositivo è raggiungibile - Verifica che TapHome CCU e Shelly siano sulla stessa rete / VLAN
- Assicurati che l’autenticazione HTTP Digest sia disabilitata nell’interfaccia web dello Shelly — TapHome non supporta richieste autenticate
I messaggi MQTT non arrivano
- Verifica che MQTT sia abilitato nell’interfaccia web dello Shelly (Settings > MQTT)
- Conferma che indirizzo e porta del broker siano corretti sia nel dispositivo Shelly che nelle impostazioni del modulo TapHome
- Verifica che la variabile personalizzata
plug1topiccorrisponda esattamente al MQTT Client ID del dispositivo Shelly (es.shellyplus1pm-AABBCCDDEE) - Usa un client MQTT (es. MQTT Explorer) per iscriverti a
shellyplus1pm-#e verificare che il dispositivo pubblichi messaggi
Le letture di potenza mostrano zero
- Conferma che il carico sia collegato attraverso il relè Shelly (non bypassato)
- Verifica che il relè sia acceso — il contatore misura solo quando la corrente scorre attraverso il relè
- Interroga manualmente
/rpc/Switch.GetStatus?id=0e verifica cheapowerrestituisca un valore diverso da zero
Risposta lenta o timeout
- I dispositivi Gen2+ supportano fino a 6 connessioni HTTP simultanee (contro 2 su Gen1) — evita però il polling eccessivo da più sistemi
- Disabilita la modalità ECO nell’interfaccia web dello Shelly se abilitata — mette il dispositivo in modalità sleep tra i polling e può causare timeout con intervalli di polling brevi
- Utilizza un IP statico o una prenotazione DHCP per evitare cambi di indirizzo
- Considera il passaggio al template MQTT in ambienti multi-sistema — MQTT evita completamente il problema del limite di connessioni