Contatore Modbus TCP in Home Assistant: guida alla configurazione
Integrare un contatore di energia Modbus TCP in Home Assistant
Modbus TCP è uno dei modi più rapidi per collegare un contatore di energia a Home Assistant. Funziona sulla rete locale, non dipende da una connessione Internet ed è adatto al monitoraggio della potenza in tempo reale, alle automazioni basate sul surplus solare, al controllo dei carichi e all’Energy Dashboard di Home Assistant.
Tutti gli attuali contatori di energia IAMMETER supportano Modbus TCP. È possibile integrarli con Home Assistant in due modi:
- Integrazione IAMMETER HACS Modbus — configurazione tramite interfaccia, creazione automatica delle entità e intervallo di scansione configurabile.
- Integrazione Modbus integrata in Home Assistant — configurazione YAML con controllo diretto di registri e sensori.
Questa guida illustra le differenze e aiuta a configurare il metodo più adatto.
HACS Modbus o integrazione Modbus di Home Assistant?
Entrambi i metodi leggono gli stessi dati Modbus TCP locali dal contatore. La differenza principale riguarda il modo in cui vengono configurate le entità di Home Assistant.
| Funzione | IAMMETER HACS Modbus | Modbus integrato in Home Assistant |
|---|---|---|
| Configurazione lato Home Assistant | Interfaccia utente | YAML |
| Configurazione dei registri | Creata dall’integrazione | Definita manualmente |
| Intervallo di scansione | Configurabile; 3 secondi per impostazione predefinita | Configurabile per ogni sensore |
| Metadati Energy Dashboard | Inclusi per le entità energetiche supportate | Da configurare in YAML |
| Rilevamento automatico/assistito | Configurazione assistita da SSDP | No |
| Funzionamento locale | Sì | Sì |
| Possibilità di continuare a usare IAMMETER Cloud | Sì | Sì |
| Più adatto a | La maggior parte degli utenti di Home Assistant | Utenti avanzati e registri personalizzati |
Per la maggior parte degli utenti, l’integrazione HACS Modbus è l’opzione più semplice. Utilizzare l’integrazione Modbus integrata in Home Assistant quando servono un elenco di registri personalizzato, uno schema specifico per i nomi delle entità, una regola di scalatura o un intervallo di polling distinto per ogni sensore.
Se non sono necessari aggiornamenti rapidi, confrontare le alternative HTTP e MQTT nella panoramica delle integrazioni dei contatori di energia con Home Assistant.
Prima di iniziare
Sono necessari:
- un contatore di energia IAMMETER collegato alla stessa LAN di Home Assistant;
- l’indirizzo IP locale del contatore;
- la porta TCP
502accessibile tra Home Assistant e il contatore; - una versione recente del firmware del contatore;
- HACS installato, se si sceglie l’integrazione IAMMETER HACS.
È consigliabile riservare l’indirizzo IP del contatore nel router. La variazione dell’indirizzo DHCP è una causa comune dell’improvvisa indisponibilità di un’integrazione Modbus che prima funzionava.
Metodo 1: configurare IAMMETER Modbus tramite HACS
L’integrazione IAMMETER HACS Modbus è pensata per chi desidera dati locali rapidi senza definire manualmente ogni registro in YAML.
Passaggio 1: installare l’integrazione
- Aprire HACS in Home Assistant.
- Cercare IamMeter Modbus.
- Installare la versione più recente.
- Riavviare Home Assistant se richiesto.
Informazioni sul progetto e sulle versioni:
Utilizzare l’ultima versione disponibile. L’impostazione dell’intervallo di scansione è supportata dall’integrazione aggiornata e viene trasmessa al DataUpdateCoordinator.
Passaggio 2: aggiungere il contatore in Home Assistant
- Accedere a Impostazioni → Dispositivi e servizi.
- Selezionare Aggiungi integrazione.
- Cercare IamMeter Modbus.
- Inserire l’indirizzo IP del contatore e la porta Modbus TCP.
- Selezionare il tipo di contatore o la configurazione delle fasi appropriata.
- Impostare l’intervallo di scansione oppure mantenere il valore predefinito di 3 secondi.
- Inviare il modulo e verificare che il dispositivo e le entità siano stati creati.
L’integrazione crea un numero diverso di entità per i contatori monofase, a due canali e trifase. Un elenco di entità più breve non significa che un modello monofase abbia un supporto limitato in Home Assistant.
Passaggio 3: controllare le entità
Aprire il dispositivo IAMMETER in Impostazioni → Dispositivi e servizi. A seconda del modello, le entità disponibili possono includere:
- tensione;
- corrente;
- potenza attiva;
- fattore di potenza;
- energia importata;
- energia esportata;
- potenza reattiva o energia reattiva, quando rese disponibili dal contatore e dall’insieme di registri applicabile.
Le entità dell’energia importata ed esportata utilizzano i kWh e includono i metadati energetici di Home Assistant richiesti dall’Energy Dashboard.
Passaggio 4: scegliere un intervallo di scansione appropriato
L’intervallo di scansione predefinito è di 3 secondi. È un buon punto di partenza per dashboard in tempo reale e automazioni basate sulla potenza.
Valori iniziali consigliati:
| Applicazione | Intervallo di scansione consigliato |
|---|---|
| Controllo in tempo reale di un relè o del surplus solare | 1–5 secondi |
| Dashboard della potenza in tempo reale | 3–10 secondi |
| Monitoraggio energetico generale | 10–30 secondi |
Un’impostazione di un secondo rappresenta una richiesta di polling, non garantisce che ogni dashboard di Home Assistant si aggiorni visibilmente una volta al secondo. Anche la latenza di rete, il numero di registri, il carico del recorder e il comportamento di aggiornamento dell’interfaccia incidono sul risultato.
Evitare un polling inutilmente aggressivo. Per la maggior parte delle automazioni, un aggiornamento stabile ogni 2–5 secondi è più utile dell’intervallo minimo possibile.
Metodo 2: utilizzare l’integrazione Modbus integrata in Home Assistant
Home Assistant include un’integrazione Modbus standard. Questo metodo funziona completamente in locale e non richiede HACS, ma la connessione e i sensori devono essere definiti in YAML.
L’esempio seguente legge la tensione e la potenza attiva da un contatore monofase:
modbus:
- name: iammeter_hub
type: tcp
host: 192.168.1.6
port: 502
sensors:
- name: IAMMETER Voltage
slave: 1
address: 0
input_type: holding
data_type: uint16
scale: 0.01
precision: 1
unit_of_measurement: V
device_class: voltage
state_class: measurement
scan_interval: 5
- name: IAMMETER Active Power
slave: 1
address: 2
input_type: holding
data_type: int32
unit_of_measurement: W
device_class: power
state_class: measurement
scan_interval: 5
Sostituire 192.168.1.6 con l’indirizzo IP effettivo del contatore. Consultare la mappa dei registri applicabile prima di aggiungere altri sensori:
Registri Modbus IAMMETER comuni
Gli indirizzi seguenti illustrano i blocchi di fase standard utilizzati dai comuni contatori IAMMETER. Utilizzare sempre la documentazione aggiornata dei registri come riferimento autorevole.
| Misura | Fase A / monofase | Fase B | Fase C | Tipo di dati |
|---|---|---|---|---|
| Tensione | 0 | 10 | 20 | uint16 |
| Corrente | 1 | 11 | 21 | uint16 |
| Potenza attiva | 2 | 12 | 22 | int32 |
| Energia importata | 4 | 14 | 24 | uint32 |
| Energia esportata | 6 | 16 | 26 | uint32 |
Utilizzare la scala, la precisione e l’ordine delle word documentati per ogni registro. Non dedurre la scalatura dell’energia dall’esempio della tensione.
Dopo aver modificato il file YAML:
- eseguire il controllo della configurazione di Home Assistant;
- riavviare Home Assistant;
- aprire Strumenti per sviluppatori → Stati;
- verificare che le nuove entità mostrino valori e unità plausibili.
Aggiungere l’energia importata ed esportata all’Energy Dashboard
L’Energy Dashboard di Home Assistant richiede entità di energia cumulativa, non la potenza istantanea.
Per un sensore di energia Modbus configurato manualmente, includere i metadati appropriati:
unit_of_measurement: kWh
device_class: energy
state_class: total_increasing
Accedere quindi a Impostazioni → Dashboard → Energia e selezionare l’entità dell’energia importata come consumo dalla rete e quella dell’energia esportata come energia restituita alla rete.
Non selezionare un’entità di potenza attiva misurata in watt per un campo energetico dell’Energy Dashboard. La potenza indica il valore istantaneo; i kWh importati/esportati registrano l’energia cumulativa.
Modelli IAMMETER supportati
Tutti gli attuali contatori di energia IAMMETER supportano sia HACS Modbus sia l’integrazione Modbus integrata in Home Assistant.
| Modello | Configurazione del contatore | Nota per Home Assistant |
|---|---|---|
| WEM3080 | Monofase | Insieme di entità monofase |
| WEM2067 | Due canali per applicazioni monofase | Due canali di misura |
| WEM3080T | Trifase | Tre fasi/gruppi di entità |
| WEM3050T | Trifase o split-phase | Tre canali di misura |
| WEM3080TD | Trifase a tre fili e cablaggi speciali | Interpretare le entità in base alla modalità di cablaggio |
| WEM3046T / WEM3046TE | Ingresso per TA esterno da 5 A | Applicare il rapporto del TA esterno |
WEM3046T e WEM3046TE misurano l’uscita secondaria da 5 A di un trasformatore di corrente esterno. Per ottenere corrente, potenza ed energia effettive sul lato primario, è necessario applicare il rapporto corretto del TA. Questa è una caratteristica del sistema di misura con TA da 5 A, non una limitazione di compatibilità con Home Assistant o Modbus.
Modbus e IAMMETER Cloud possono funzionare contemporaneamente?
Sì. Home Assistant legge Modbus TCP localmente mentre il contatore può continuare a caricare i dati su IAMMETER Cloud. Non è necessario impostare il contatore sulla modalità di caricamento MQTT per utilizzare Modbus.
In questo modo si ottengono due viste complementari:
- dati locali rapidi e automazioni in Home Assistant;
- report a lungo termine, analisi dei costi dell’elettricità, analisi del fotovoltaico e accesso remoto in IAMMETER Cloud.
Evitare più client Modbus ad alta frequenza
Come modello di installazione sicuro, utilizzare un solo client di polling Modbus TCP attivo per contatore. Non configurare Home Assistant, Node-RED, un PLC e un altro data logger affinché interroghino in modo indipendente lo stesso contatore ad alta frequenza.
Se più sistemi necessitano delle stesse misure in tempo reale, lasciare che un solo sistema legga Modbus e ridistribuisca i dati, oppure utilizzare un’architettura MQTT in cui più client si iscrivono a un broker.
Risoluzione dei problemi
Home Assistant non riesce a connettersi alla porta 502
- Verificare che Home Assistant e il contatore si trovino sulla stessa rete raggiungibile.
- Verificare l’indirizzo IP del contatore e riservarlo nel router.
- Controllare che la porta TCP
502non sia bloccata da un firewall o da una regola VLAN. - Assicurarsi che un altro client Modbus non mantenga o riapra ripetutamente la connessione.
Le entità non sono disponibili o i valori non cambiano
- Verificare il tipo di contatore/fase selezionato nell’integrazione HACS.
- Con YAML, controllare lo slave ID, l’indirizzo del registro, il tipo di dati, la scala e l’ordine delle word.
- Aumentare temporaneamente l’intervallo di scansione per escludere un polling troppo aggressivo.
- Riavviare l’integrazione dopo aver modificato l’indirizzo IP del contatore.
I valori sono eccessivamente alti o bassi
- Controllare la scalatura del registro e il tipo di dati.
- Per WEM3046T/WEM3046TE, verificare il rapporto del TA esterno.
- Verificare che l’entità corrisponda alla fase o al canale di misura previsto.
Le entità energetiche non compaiono nell’Energy Dashboard
- Utilizzare l’energia importata/esportata cumulativa in kWh.
- Verificare
device_class: energy. - Verificare
state_class: total_increasing. - Non utilizzare un’entità di potenza in watt.
Creare automazioni con i dati di potenza in tempo reale
Quando le entità Modbus sono operative, Home Assistant può utilizzare la potenza attiva o quella esportata verso la rete per controllare altri dispositivi. Alcuni esempi:
- controllare un relè con i dati di potenza Modbus in tempo reale;
- ricaricare un veicolo elettrico quando l’esportazione solare supera una soglia;
- riscaldare l’acqua con il surplus solare disponibile;
- avvisare l’utente quando il consumo domestico supera un limite;
- ridurre un carico controllabile prima di importare elettricità costosa nelle ore di punta.
Mantenere la guida all’integrazione incentrata innanzitutto sull’acquisizione di dati affidabili. Aggiungere la logica di controllo solo dopo aver verificato la convenzione dei segni, le unità, l’intervallo di aggiornamento e il comportamento quando il contatore non è disponibile.