TapHome

Shelly Pro 3EM

Packet Parser → HTTP
Inviato da
Ultimo aggiornamento: 03. 2026
Shelly Pro 3EM

Lo Shelly Pro 3EM è un contatore di energia trifase professionale su guida DIN, progettato per l’uso con trasformatori di corrente (TC) esterni. È disponibile in tre varianti — Pro 3EM (TC 120 A), Pro 3EM-400 (TC 400 A) e Pro 3EM-3CT63 (TC integrati 63 A). Il dispositivo si connette alla rete locale tramite Wi-Fi o Ethernet (RJ45) e fornisce misurazioni in tempo reale tramite l’API HTTP RPC Gen2+. TapHome interroga il dispositivo via HTTP sulla porta 80 — non è necessaria alcuna connessione cloud.

Il template include undici dispositivi organizzati per la misurazione bidirezionale dell’energia: sensori di corrente per fase (L1, L2, L3), contatori di energia From Grid e To Grid per fase, e contatori totali From Grid e To Grid. I dispositivi From Grid tracciano l’energia prelevata dalla rete, mentre i dispositivi To Grid tracciano l’energia immessa in rete (es. da pannelli solari) — il valore di potenza è invertito per mostrare l’immissione come numero positivo.

Collegamento hardware

Lo Shelly Pro 3EM si monta su una guida DIN standard (94 × 19 × 69 mm). Richiede quattro ingressi di tensione (tre conduttori di fase + neutro) tramite morsetti a vite e quattro ingressi TC esterni (tre fasi + neutro). Il dispositivo è alimentato tra una qualsiasi fase e il neutro (100–260 V AC, 50/60 Hz).

Indicazioni principali per il cablaggio:

  • Ingressi di tensione: LA, LB, LC (uno per fase) + N (neutro)
  • Ingressi TC: Tre TC di fase + un TC di neutro, collegati ai rispettivi jack di ingresso TC
  • Ethernet: Un connettore RJ45 per la connessione LAN (scollegare l’alimentazione prima di inserire/rimuovere il cavo LAN)
  • Sezione del conduttore: 0,5–2,5 mm² (20–14 AWG), lunghezza di spelatura 6–7 mm, coppia massima 0,4 Nm

La protezione esterna deve essere dimensionata per un massimo di 16 A con caratteristica B o C e una capacità di interruzione minima di 6 kA. Il campo di tensione operativa è 100–260 V per fase.

Configurazione

Lo Shelly Pro 3EM si connette tramite Wi-Fi o Ethernet. Durante l’importazione del template TapHome, inserire l’indirizzo IP del dispositivo (placeholder predefinito 192.168.0.1).

Autenticazione

TapHome non supporta l’autenticazione HTTP Digest. Assicurarsi che l’autenticazione sia disabilitata sul dispositivo Shelly prima di aggiungerlo a TapHome. Questa impostazione si trova nell’interfaccia web Shelly in Impostazioni → Autenticazione.

Selezione del tipo di TC

Dopo aver collegato i trasformatori di corrente, configurare il tipo di TC tramite l’interfaccia web Shelly o chiamando EM.SetConfig con il valore ct_type appropriato. Usare EM.GetCTTypes per elencare i tipi supportati (tipicamente 120A e 400A). Se il tipo TC non è impostato, il dispositivo segnala un errore ct_type_not_set e le misurazioni non saranno disponibili.

Calibrazione fase-fase

Il Pro 3EM supporta la calibrazione canale-canale per migliorare la precisione delle misurazioni tra le fasi. La calibrazione richiede un carico minimo di 500 W per canale e richiede circa 5 secondi. Usare EM.PhaseToPhaseCalib per calibrare e EM.PhaseToPhaseCalibReset per ripristinare le impostazioni di fabbrica.

Modalità ECO

Se la modalità ECO è abilitata sul dispositivo Shelly, potrebbe causare timeout di comunicazione a causa dell’intervallo di polling di 3 secondi utilizzato da TapHome. Disabilitare la modalità ECO per un funzionamento affidabile.

Funzionalità del dispositivo

Monitoraggio corrente per fase

Tre sensori di corrente (L1 Current, L2 Current, L3 Current) riportano la corrente istantanea in Ampere per ciascuna fase, letta direttamente dai campi a_current, b_current e c_current di EM.GetStatus. Sono semplici valori senza conversione di unità.

Misurazione bidirezionale dell’energia per fase

Ogni fase ha due dispositivi contatore — From Grid e To Grid:

  • L1/L2/L3 From Grid — potenza attiva prelevata dalla rete (W, convertita in kW) ed energia cumulativa consumata dalla rete (Wh, convertita in kWh). Ogni dispositivo From Grid espone anche quattro attributi di servizio: Fattore di potenza, Corrente [A], Tensione [V] e Energia totale restituita [kWh].
  • L1/L2/L3 To Grid — potenza attiva immessa in rete (W, divisa per −1000 per mostrare l’immissione come kW positivo) ed energia cumulativa restituita (Wh, convertita in kWh). I dispositivi To Grid non hanno attributi di servizio.

Gli attributi di servizio dei dispositivi From Grid forniscono un quadro completo per fase: corrente e tensione in tempo reale, fattore di potenza per la valutazione della qualità dell’energia e un contatore di energia restituita per tracciare l’immissione cumulativa insieme al contatore di consumo From Grid.

Misurazione totale bidirezionale dell’energia

Due dispositivi aggregati riassumono tutte e tre le fasi:

  • Total From Grid — potenza attiva trifase combinata (kW) e totale energia cumulativa consumata dalla rete (kWh)
  • Total To Grid — potenza restituita trifase combinata (kW, invertita) e totale energia cumulativa immessa in rete (kWh)

Tutti i dispositivi utilizzano un intervallo di polling di 3 secondi corrispondente al ciclo di lettura del modulo.

Funzionalità aggiuntive

Lo Shelly Pro 3EM espone nativamente anche la potenza apparente per fase e totale, la misurazione della corrente del neutro (esclusiva del modello Pro — non disponibile sul 3EM Gen3), la frequenza di rete per fase, la corrente totale su tutte le fasi e la diagnostica del modulo (Wi-Fi SSID, indirizzo IP, intensità del segnale, indirizzo MAC). L’aggiornamento firmware e il riavvio sono disponibili anche tramite l’API RPC. Il rilevamento di errori nella sequenza delle fasi e la registrazione dati fino a 60 giorni con risoluzione al minuto con esportazione CSV/JSON sono supportati nativamente. Queste funzionalità possono essere aggiunte in un futuro aggiornamento del template.

Risoluzione dei problemi

Il dispositivo non risponde
  1. Verificare che Shelly sia connesso a Wi-Fi o LAN e abbia un indirizzo IP valido
  2. Provare a usare l’hostname mDNS (ShellyPro3EM-XXXXXXXXXXXX.local) invece dell’indirizzo IP — l’IP potrebbe essere cambiato dopo un rinnovo DHCP
  3. Aprire http://{ip-dispositivo}/rpc/Shelly.GetDeviceInfo in un browser — se risponde con JSON, il dispositivo è raggiungibile
  4. Verificare che TapHome Core e Shelly siano sulla stessa rete / VLAN
Errore ct_type_not_set

Se il componente EM o EMData segnala un errore ct_type_not_set, il tipo di trasformatore di corrente non è stato configurato. Impostare il tipo TC tramite l’interfaccia web Shelly o chiamando EM.SetConfig con il valore ct_type appropriato. Usare EM.GetCTTypes per elencare i tipi supportati.

Errore di sequenza delle fasi

Se l’errore phase_sequence appare in EM.GetStatus, le fasi sono collegate in ordine inverso (A-C-B invece di A-B-C). Ricablare le fasi nell’ordine corretto oppure abilitare monitor_phase_sequence nella configurazione EM se l’ordine invertito è intenzionale.

Valori negativi o zero sui dispositivi To Grid

I dispositivi To Grid utilizzano una conversione invertita (divisione per −1000) per rappresentare l’immissione in rete come numero positivo. Se non c’è immissione (il sistema sta solo consumando), il valore di potenza To Grid sarà zero o negativo. Questo è il comportamento atteso — il dispositivo From Grid traccia il consumo, il dispositivo To Grid traccia l’esportazione.

I dispositivi Shelly Gen2+/Gen3 supportano fino a 6 connessioni HTTP simultanee. Ogni sistema di polling (TapHome, Home Assistant, ecc.) consuma connessioni. Evitare di eseguire troppe integrazioni sullo stesso dispositivo contemporaneamente.

Come installare in TapHome

Prerequisiti

  • Dispositivo Shelly installato e acceso
  • Rete Wi-Fi locale (2,4 GHz)
  • TapHome CCU sulla stessa rete

Passaggio 1 — Collegare Shelly al Wi-Fi

Opzione A — App Shelly (consigliata):

  1. Scarica l’app Shelly (iOS / Android)
  2. Tocca +Add Device e segui la procedura guidata di associazione Bluetooth
  3. Inserisci le credenziali Wi-Fi quando richiesto

Opzione B — Modalità AP (senza app):

  1. Al primo avvio il dispositivo crea un hotspot: ShellyXXX-AABBCCDDEE
  2. Collega il tuo telefono/PC a questo hotspot
  3. Apri http://192.168.33.1Internet & SecurityWi-Fi Mode - Client
  4. Inserisci SSID e password → Save

Shelly supporta solo reti a 2,4 GHz. Le reti a 5 GHz non appariranno nella scansione.

Passaggio 2 — Trovare l’indirizzo IP

Dopo la connessione al Wi-Fi, trova l’indirizzo IP assegnato tramite uno di questi metodi:

  • App Shelly: Dettaglio dispositivo → Device info → Indirizzo IP
  • Interfaccia web Shelly: Connettiti all’AP del dispositivo prima della configurazione Wi-Fi — l’IP viene mostrato dopo il salvataggio
  • Tabella DHCP del router: Cerca un hostname come shelly1pm-AABBCCDDEE
  • mDNS: Esegui il ping di shelly<model>-<mac>.local (es. shelly1pm-AABBCCDDEE.local) dalla stessa rete

Assegna un IP statico (prenotazione DHCP) nel tuo router per il dispositivo Shelly per evitare che l’indirizzo cambi dopo un riavvio del router.

Passaggio 3 — Configurazione in TapHome

  1. In TapHome, aggiungi un nuovo modulo Packet Parser (HTTP)
  2. IP Address: inserisci l’IP dal passaggio 2 (es. 192.168.1.50)
  3. Port: 80 (predefinito, nessuna modifica necessaria)
  4. Importa il template — TapHome interrogherà periodicamente /status per leggere lo stato del dispositivo

L’autenticazione HTTP è disabilitata per impostazione predefinita sui dispositivi Shelly. Se hai abilitato la protezione con accesso, TapHome attualmente non supporta HTTP Basic Auth — mantieni l’autenticazione disabilitata per l’integrazione con TapHome.

Dispositivi disponibili

Shelly Pro 3 EM Modulo
Variabili personalizzate

Shelly Pro 3 EM

Lettura (modulo)
VAR response := SENDHTTPREQUEST("/rpc/EM.GetStatus?id=0");
IF response.IsSuccess
    EMStatus := response.Content;
END;

response := SENDHTTPREQUEST("/rpc/EMData.GetStatus?id=0");
IF response.IsSuccess
    EMDataStatus := response.Content;
END
L1 Corrente Variabile Solo lettura
numeric Unità: A json_path

L1 Corrente

Lettura
todouble(PARSEjson(EMStatus, "a_current"))
L1 From Grid Contatore elettrico Solo lettura

Potenza attiva fase A (kW) ed energia cumulativa prelevata dalla rete (kWh), con tensione, corrente, fattore di potenza ed energia restituita

numeric Unità: kW / kWh json_path
Attributi di servizio
Fattore di potenza
Corrente
Tensione
Energia totale restituitaEnergia cumulativa restituita (immessa in rete) della fase A in kWh

L1 From Grid

Lettura consumo totale
todouble(PARSEjson(EMDataStatus, "a_total_act_energy"))/1000
Lettura domanda
todouble(PARSEjson(EMStatus, "a_act_power"))/1000
Attributi di servizio
power factor
RETURN(todouble(PARSEjson(EMStatus, "a_pf")));
Current [A]
RETURN(todouble(PARSEjson(EMStatus, "a_current")));
voltage [V]
RETURN(todouble(PARSEjson(EMStatus, "a_voltage")));
Total returned energy [kWh]
RETURN(todouble(PARSEjson(EMDataStatus, "a_total_act_ret_energy"))/1000);
L1 To Grid Contatore elettrico Solo lettura

Potenza restituita fase A (kW, invertita) ed energia cumulativa immessa in rete (kWh)

numeric Unità: kW / kWh json_path

L1 To Grid

Lettura consumo totale
todouble(PARSEjson(EMDataStatus, "a_total_act_ret_energy"))/1000
Lettura domanda
todouble(PARSEjson(EMStatus, "a_act_power"))/-1000
L2 Corrente Variabile Solo lettura
numeric Unità: A json_path

L2 Corrente

Lettura
todouble(PARSEjson(EMStatus, "b_current"))
L2 From Grid Contatore elettrico Solo lettura

Potenza attiva fase B (kW) ed energia cumulativa prelevata dalla rete (kWh), con tensione, corrente, fattore di potenza ed energia restituita

numeric Unità: kW / kWh json_path
Attributi di servizio
Fattore di potenza
Corrente
Tensione
Energia totale restituitaEnergia cumulativa restituita (immessa in rete) della fase B in kWh

L2 From Grid

Lettura consumo totale
todouble(PARSEjson(EMDataStatus, "b_total_act_energy"))/1000
Lettura domanda
todouble(PARSEjson(EMStatus, "b_act_power"))/1000
Attributi di servizio
power factor
RETURN(todouble(PARSEjson(EMStatus, "b_pf")));
current [A[
RETURN(todouble(PARSEjson(EMStatus, "b_current")));
voltage [V]
RETURN(todouble(PARSEjson(EMStatus, "b_voltage")));
total returned energy [kWh]
RETURN(todouble(PARSEjson(EMDataStatus, "b_total_act_ret_energy"))/1000);
L2 To Grid Contatore elettrico Solo lettura

Potenza restituita fase B (kW, invertita) ed energia cumulativa immessa in rete (kWh)

numeric Unità: kW / kWh json_path

L2 To Grid

Lettura consumo totale
todouble(PARSEjson(EMDataStatus, "b_total_act_ret_energy"))/1000
Lettura domanda
todouble(PARSEjson(EMStatus, "b_act_power"))/-1000
L3 Corrente Variabile Solo lettura
numeric Unità: A json_path

L3 Corrente

Lettura
todouble(PARSEjson(EMStatus, "c_current"))
L3 From Grid Contatore elettrico Solo lettura

Potenza attiva fase C (kW) ed energia cumulativa prelevata dalla rete (kWh), con tensione, corrente, fattore di potenza ed energia restituita

numeric Unità: kW / kWh json_path
Attributi di servizio
Fattore di potenza
Corrente
Tensione
Energia totale restituitaEnergia cumulativa restituita (immessa in rete) della fase C in kWh

L3 From Grid

Lettura consumo totale
todouble(PARSEjson(EMDataStatus, "c_total_act_energy"))/1000
Lettura domanda
todouble(PARSEjson(EMStatus, "c_act_power"))/1000
Attributi di servizio
power factor
RETURN(todouble(PARSEjson(EMStatus, "c_pf")));
current [A]
RETURN(todouble(PARSEjson(EMStatus, "c_current")));
voltage [V]
RETURN(todouble(PARSEjson(EMStatus, "c_voltage")));
Total returned energy [kWh]
RETURN(todouble(PARSEjson(EMDataStatus, "c_total_act_ret_energy"))/1000);
L3 To Grid Contatore elettrico Solo lettura

Potenza restituita fase C (kW, invertita) ed energia cumulativa immessa in rete (kWh)

numeric Unità: kW / kWh json_path

L3 To Grid

Lettura consumo totale
todouble(PARSEjson(EMDataStatus, "c_total_act_ret_energy"))/1000
Lettura domanda
todouble(PARSEjson(EMStatus, "c_act_power"))/-1000
Total From Grid Contatore elettrico Solo lettura

Potenza attiva trifase combinata (kW) ed energia cumulativa totale prelevata dalla rete (kWh)

numeric Unità: kW / kWh json_path

Total From Grid

Lettura consumo totale
todouble(PARSEjson(EMDataStatus, "total_act"))/1000
Lettura domanda
todouble(PARSEjson(EMStatus, "total_act_power"))/1000
Total To Grid Contatore elettrico Solo lettura

Potenza restituita trifase combinata (kW, invertita) ed energia cumulativa totale immessa in rete (kWh)

numeric Unità: kW / kWh json_path

Total To Grid

Lettura consumo totale
todouble(PARSEjson(EMDataStatus, "total_act_ret"))/1000
Lettura domanda
todouble(PARSEjson(EMStatus, "total_act_power"))/-1000
Connessione: Packet Parser → HTTP
Possibili miglioramenti (14)
  • Phase A Apparent Power — Apparent power in VA, available per phase — could complement active power
  • Total Apparent Power — Sum of apparent power on all phases [VA]
  • Neutral Current — Current on neutral conductor [A] — Pro 3EM supports this (unlike 3EM Gen3)
  • Grid Frequency — Network frequency in Hz, available per phase — not exposed as device or SA
  • Total Current — Sum of current on all three phases [A]
  • MAC Address — No module-level service attributes in this template (unlike 3EM Gen3)
  • WiFi SSID — No module-level service attributes in this template (unlike 3EM Gen3)
  • Signal Strength — WiFi RSSI in dBm — not polled by module readscript
  • Firmware Update — No module-level service actions in this template (unlike 3EM Gen3)
  • Reboot — No module-level service actions in this template (unlike 3EM Gen3)
  • Uptime — Seconds since last reboot
  • Free RAM — Available RAM in bytes
  • Total Returned Energy (dedicated) — Already implemented as Total To Grid device (readtotalconsumption), listed for completeness
  • Phase Sequence Monitoring — Enable/disable phase sequence error detection via EM.SetConfig

Fonti