
Lo Shelly EM è un contatore di energia monofase con due canali di misurazione indipendenti e un’uscita relè da 2A per il controllo del contattore. Ogni canale si collega a un morsetto CT (trasformatore di corrente) esterno — disponibile nelle varianti da 50A e 120A — consentendo il monitoraggio non invasivo di due circuiti separati contemporaneamente. TapHome si integra con il dispositivo localmente tramite Wi-Fi usando l’API REST HTTP o MQTT. Non è richiesta alcuna connessione cloud.
Sono disponibili due template TapHome: un template HTTP che interroga gli endpoint REST del dispositivo, e un template MQTT che riceve i dati tramite broker MQTT. Entrambi espongono gli stessi tre dispositivi — due contatori di energia (uno per canale) e un interruttore contattore.
Configurazione
Template HTTP
Il template HTTP richiede solo l’indirizzo IP del dispositivo (o hostname mDNS). TapHome interroga tre endpoint ogni 15 secondi:
/emeter/0/— dati energetici canale 1/emeter/1/— dati energetici canale 2settings/relay/0— stato relè e verifica programmazione
Lo script di lettura a livello modulo memorizza ogni risposta in una variabile personalizzata (emeterZero, emeterOne, status), così gli script dei singoli dispositivi possono elaborare i dati senza chiamate HTTP ridondanti.
Il template verifica anche lo stato della programmazione del relè da
settings/relay/0. Se la programmazione interna è abilitata sul dispositivo Shelly, il template segnala un errore — disabilita la programmazione nell’interfaccia web Shelly per evitare conflitti con le automazioni TapHome.
Template MQTT
Il template MQTT richiede l’IP del broker, la porta e lo Shelly Device ID (formato: shellyem-XXXXXXXXXXXX, dove X = cifre esadecimali MAC). Il Device ID si trova nell’interfaccia web Shelly sotto Settings > Device Info.
Dopo aver abilitato MQTT sullo Shelly EM (Internet & Security > Advanced — MQTT), TapHome si sottoscrive ai topic shellies/shellyem-{deviceID}/ e riceve i dati tramite script listener.
Sui dispositivi Shelly Gen1, l’abilitazione di MQTT disabilita Shelly Cloud. Entrambi non possono funzionare contemporaneamente.
Funzionalità del dispositivo
Misurazione energia (per canale)
Ogni canale è esposto in TapHome come contatore di energia indipendente:
- Potenza istantanea — potenza attiva in kW (convertita da W dividendo per 1000)
- Energia cumulativa — energia totale consumata in kWh (HTTP: convertita da Wh; MQTT: usa il topic persistente
totalin Wh)
Il template HTTP legge i campi power e total dalla risposta JSON di /emeter/{i}/. Il template MQTT ascolta il topic emeter/{i}/energy (watt-minuti, diviso per 60.000 per kWh) e il topic emeter/{i}/total (watt-ore, persistente tra i riavvii).
Il topic MQTT
energysi azzera al riavvio del dispositivo. Per il tracciamento persistente dell’energia, il template legge anche il topictotalche sopravvive ai riavvii.
Ogni canale espone anche tre attributi di servizio:
| Attributo | Unità | Descrizione |
|---|---|---|
| Tensione | V | Tensione di rete efficace |
| Energia restituita | Wh | Energia totale immessa in rete — per impianti solari/misurazione bidirezionale |
| Potenza reattiva | VAR | Potenza reattiva istantanea |
Il template MQTT espone solo la tensione come attributo di servizio per canale. Potenza reattiva ed energia restituita sono disponibili solo nel template HTTP.
Interruttore contattore
L’uscita relè è esposta in TapHome come interruttore. Il relè è dimensionato per 2A / 230 VAC — è progettato esclusivamente per il controllo del contattore, non per la commutazione diretta dei carichi.
- HTTP: legge
isondasettings/relay/0e controlla tramite/relay/0?turn=ono/relay/0?turn=off - MQTT: legge dal topic
shellies/shellyem-{id}/relay/0e pubblicaon/offsushellies/shellyem-{id}/relay/0/command
Il relè è dimensionato per soli 2A. Per carichi che superano questo valore nominale, utilizza sempre un contattore esterno. Il collegamento diretto di carichi ad alta potenza danneggerà il relè.
Funzionalità aggiuntive
Lo Shelly EM fornisce anche fattore di potenza (0,00-1,00) e un flag di validità della misurazione per canale, configurazione dei canali (rapporto CT, limite di potenza massima), reset del contatore energetico, timer di spegnimento automatico sul relè e intensità del segnale Wi-Fi. Tramite MQTT sono disponibili anche topic aggiuntivi per potenza in tempo reale, potenza reattiva ed energia restituita per canale. Queste funzionalità possono essere aggiunte in un futuro aggiornamento del template.
Risoluzione dei problemi
Il dispositivo non risponde (HTTP)
- Verifica che lo Shelly EM sia connesso al Wi-Fi e abbia un indirizzo IP valido
- Apri
http://{device-ip}/shellynel browser — se risponde con un JSON contenente"type":"SHEM", il dispositivo è raggiungibile - Controlla che TapHome CCU e Shelly EM siano nella stessa rete / VLAN
Nessun dato su un canale
- Verifica che il morsetto CT sia inserito nel jack da 3,5mm corretto (canale 0 o canale 1)
- Controlla che la corrente stia fluendo attraverso il conduttore monitorato — il morsetto CT deve circondare un singolo conduttore, non l’intero cavo
- Interroga manualmente
/emeter/0/e/emeter/1/e conferma valoripowerdiversi da zero
I messaggi MQTT non arrivano
- Conferma che MQTT è abilitato nell’interfaccia web Shelly (Internet & Security > Advanced — MQTT)
- Verifica che indirizzo e porta del broker siano corretti sia nel dispositivo Shelly che nelle impostazioni del modulo TapHome
- Controlla che la variabile
deviceIDcorrisponda esattamente al Device ID Shelly (es.B929CC) - Usa un client MQTT (es. MQTT Explorer) per sottoscriverti a
shellies/#e verificare che il dispositivo pubblichi messaggi
Errore conflitto programmazione
Il template HTTP controlla il campo schedule in settings/relay/0. Se il dispositivo Shelly ha la programmazione interna abilitata, il template segnala un errore. Disabilita la programmazione nell’interfaccia web Shelly (Settings > Relay > Schedule) — usa le automazioni TapHome al suo posto.
I dispositivi Shelly Gen1 supportano solo 2 connessioni HTTP simultanee. Se TapHome e un altro sistema (es. Home Assistant) interrogano contemporaneamente lo stesso dispositivo, la comunicazione potrebbe diventare inaffidabile. Considera il passaggio al template MQTT per ambienti multi-sistema.