
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 trasformatore di corrente esterno (pinza CT) – disponibile nelle varianti 50A e 120A – consentendo il monitoraggio non invasivo di due circuiti separati contemporaneamente. Questo template si collega al dispositivo tramite un broker MQTT nella rete locale. Non è necessaria una connessione cloud.
Il template espone tre dispositivi: due contatori elettrici (uno per canale CT) che tracciano il consumo energetico cumulativo e un interruttore per il relè contattore.
Configurazione
Device ID
Lo Shelly EM utilizza un Device ID nel formato shellyem-XXXXXX, dove XXXXXX sono gli ultimi 6 caratteri dell’indirizzo MAC in formato esadecimale (es. shellyem-B929CC). Durante l’importazione del template, inserisci solo la parte esadecimale (es. B929CC) nel parametro Device ID.
Il Device ID si trova:
- Nell’interfaccia web Shelly: Settings > Device Info
- Tramite API:
GET http://<device-ip>/settings– campomqtt.id
Questo dispositivo supporta la scoperta mDNS. Puoi usare l’hostname
shellyem-{MAC}.localinvece dell’indirizzo IP quando configuri il broker MQTT. Sostituisci{MAC}con l’indirizzo MAC completo in formato esadecimale (es.shellyem-b929cc.local). L’uso dell’hostname previene problemi di connettività quando l’indirizzo IP del dispositivo cambia.
Configurazione MQTT
Prima di importare il template, abilita MQTT sullo Shelly EM:
- Apri l’interfaccia web Shelly su
http://<device-ip> - Vai su Internet & Security > Advanced — Developer Settings
- Spunta Enable action execution via MQTT
- Nel campo Server, inserisci l’indirizzo del broker MQTT nel formato
broker-ip:1883 - Premi SAVE
Sui dispositivi Shelly Gen1, abilitare MQTT disabilita Shelly Cloud. Le due funzioni non possono funzionare contemporaneamente.
Configurazione template
Dopo l’importazione del template in TapHome:
- Imposta MQTT Broker IP sull’indirizzo del tuo broker MQTT
- Imposta MQTT Broker Port (predefinito
1883) - Imposta Device ID sulla parte esadecimale del Device ID dello Shelly EM (es.
B929CC)
Il modulo si iscrive a shellies/# e gli script listener su ogni dispositivo filtrano i messaggi in base al Device ID configurato.
Funzionalità del dispositivo
Misurazione energetica (per canale)
Ogni canale è esposto come dispositivo Contatore elettrico indipendente in TapHome. Lo script listener si iscrive a due topic MQTT per canale:
| Topic | Unità | Descrizione |
|---|---|---|
emeter/{i}/energy | watt-minuti | Energia cumulativa dall’ultimo riavvio – divisa per 60 000 per convertire in kWh |
emeter/{i}/total | Wh | Energia totale consumata persistente – sopravvive ai riavvii |
Il template memorizza entrambi i valori: Ed (energia dal topic watt-minuti, convertita in kWh) e To (consumo totale in Wh dal topic persistente).
Il topic
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 un attributo di servizio Tensione, che legge la tensione di rete RMS dal topic MQTT emeter/{i}/voltage.
Gli script
readtotalconsumptionereaddemandsono boilerplate commentato del template – tutti i dati energetici arrivano tramite il listener MQTT. Ciò significa che il template non fornisce letture di potenza istantanea (W). Vengono tracciati solo l’energia cumulativa (kWh) e il consumo totale (Wh). La potenza attiva istantanea è disponibile tramite il topic MQTTemeter/{i}/power, ma questo template non vi si iscrive.
Relè contattore
L’uscita relè è esposta come interruttore in TapHome. Il relè è dimensionato per 2A / 230 VAC – è progettato solo per il controllo del contattore, non per la commutazione diretta del carico.
- Lettura: si iscrive a
shellies/shellyem-{id}/relay/0– payloadoncorrisponde a acceso,offa spento - Scrittura: pubblica
onooffsushellies/shellyem-{id}/relay/0/command
Il relè è dimensionato per soli 2A. Per carichi superiori a questo limite, usa sempre un contattore esterno. Il collegamento diretto di carichi ad alta potenza danneggia il relè.
Risoluzione dei problemi
Nessun dato energetico
- Verifica che MQTT sia abilitato nell’interfaccia web Shelly (Internet & Security > Advanced – MQTT)
- Controlla che l’indirizzo e la porta del broker MQTT siano corretti sia nelle impostazioni del dispositivo Shelly che del modulo TapHome
- Verifica che la variabile personalizzata Device ID corrisponda esattamente al Device ID dello Shelly (es.
B929CC) - Usando un client MQTT (es. MQTT Explorer), iscriviti a
shellies/#e verifica che il dispositivo pubblichi i topicemeter/0/energyeemeter/1/energy
Dati da un solo canale
- Verifica che la pinza CT sia collegata al jack da 3,5 mm corretto (canale 0 o canale 1)
- Controlla che corrente scorra nel conduttore monitorato – la pinza CT deve circondare un singolo conduttore, non l’intero cavo
- Iscriviti separatamente ai topic
shellies/shellyem-{id}/emeter/0/#eshellies/shellyem-{id}/emeter/1/#e verifica che entrambi i canali pubblichino dati
Il relè non risponde
- Controlla che lo Shelly EM sia alimentato e connesso al broker MQTT
- Pubblica manualmente
onooffsushellies/shellyem-{id}/relay/0/commandtramite un client MQTT per testare il funzionamento del relè indipendentemente da TapHome - Verifica il cablaggio corretto dell’uscita relè (controlla le etichette dei morsetti sul dispositivo)
I dispositivi Shelly Gen1 non supportano MQTT su TLS. La comunicazione tra il dispositivo e il broker MQTT non è crittografata (plain MQTT, porta 1883). Assicurati che il broker MQTT sia su una rete locale affidabile.