Spiacenti, il tuo browser non supporta JavaScript!
Accedi

Monitoraggio Energetico Docker MQTT e Configurazione Avanzata

Monitoraggio Energetico Docker MQTT e Configurazione Avanzata

Dopo che il server IAMMETER-Docker di base è in esecuzione, può essere esteso in un server locale di monitoraggio energetico MQTT, utilizzare MySQL per un set di dati più ampio, inoltrare i dati solari a PVOutput e accettare misurazioni compatibili di terze parti.

Questa guida tratta i percorsi avanzati dei dati e le opzioni di archiviazione. Per installazione, volumi persistenti, primo accesso, configurazione del contatore, backup e aggiornamenti del container, inizia con Monitoraggio Energetico Self-Hosted con Docker.

Contatore IAMMETER / dispositivo compatibile / applicazione personalizzata
                         │
             ┌───────────┼───────────┐
             │           │           │
            HTTP        MQTT       REST API
             │           │           │
             └───────────┼───────────┘
                         ▼
                  IAMMETER-Docker
                         │
       ┌─────────────────┼─────────────────┐
       ▼                 ▼                 ▼
 SQLite / MySQL     MQTT subscribers     PVOutput

Utilizza solo le interfacce richieste dal progetto. Un'installazione di monitoraggio locale semplice non necessita di MySQL, client MQTT esterni o inoltro dati.

1. Prima di Abilitare le Funzionalità Avanzate

Conferma che l'installazione di base sia stabile:

  • il container IAMMETER-Docker è in esecuzione;
  • /app/data è mappato su un archivio persistente;
  • l'host Docker utilizza un indirizzo LAN stabile;
  • il fuso orario del sito è corretto;
  • almeno un contatore o una fonte di dati di test funziona;
  • le password predefinite sono state modificate;
  • esiste un backup aggiornato.

La distribuzione predefinita espone:

  • 5050 per l'applicazione web e l'API;
  • 1883 per MQTT.

Non pubblicare nessuna delle due porte direttamente su Internet. Utilizza un firewall, una VPN o un altro livello di accesso controllato quando è necessario l'accesso remoto.

2. Scegli SQLite o MySQL

IAMMETER-Docker utilizza SQLite per una distribuzione predefinita semplice e supporta MySQL per installazioni con un set di dati più grande.

Database Ideale per Vantaggi Considerazioni
SQLite Home, test e distribuzioni locali più piccole Nessun servizio database separato; configurazione iniziale facile Il database rimane legato al volume dell'applicazione
MySQL Installazioni più grandi o a lungo termine Servizio database separato e migliore adattabilità per set di dati in crescita Richiede distribuzione del database, credenziali, backup e manutenzione

Non passare a MySQL solo perché è disponibile. Utilizzalo quando il volume di dati previsto, il periodo di conservazione o i requisiti di gestione del database giustificano un servizio aggiuntivo.

2.1 Prepara MySQL Prima

Prima di selezionare MySQL in IAMMETER-Docker:

  1. distribuisci un server MySQL raggiungibile;
  2. crea un database e un utente dedicati;
  3. limita quell'utente al database richiesto;
  4. conferma l'accesso di rete dal container IAMMETER-Docker;
  5. configura backup regolari del database;
  6. registra in modo sicuro host, porta, nome e credenziali del database.

Quindi inserisci le impostazioni di connessione MySQL in IAMMETER-Docker e conferma che le nuove misurazioni vengano memorizzate.

Configura MySQL in IAMMETER-Docker

Esegui il backup dei dati esistenti di IAMMETER-Docker prima di cambiare modalità database. Verifica i dati storici e i nuovi caricamenti dopo la modifica.

3. Utilizza IAMMETER-Docker come Server di Monitoraggio Energetico MQTT

IAMMETER-Docker include il supporto MQTT per due diverse direzioni:

  1. Pubblica su IAMMETER-Docker: un contatore o un'applicazione compatibile invia misurazioni al server Docker.
  2. Sottoscrivi da IAMMETER-Docker: Node-RED, un servizio personalizzato o un altro client MQTT riceve misurazioni in tempo reale dal server.

Questi percorsi utilizzano lo stesso schema di topic ma diverse modalità di autenticazione.

3.1 Topic MQTT

Il topic in tempo reale documentato è:

device/<SN>/realtime

Sostituisci <SN> con il numero di serie registrato in IAMMETER-Docker. L'SN nel topic MQTT e nella configurazione del client deve corrispondere al contatore creato nella piattaforma locale.

3.2 Pubblica dati energetici su IAMMETER-Docker

Per un dispositivo o un'applicazione di pubblicazione:

Impostazione Valore
Broker Indirizzo IP o hostname del server IAMMETER-Docker
Porta 1883 per impostazione predefinita
Autenticazione ID Client
ID Client SN del contatore registrato in IAMMETER-Docker
Topic device/<SN>/realtime
Payload Formato dati di caricamento supportato da IAMMETER

Pubblica dati energetici su IAMMETER-Docker tramite MQTT

Prima di utilizzare dati di produzione:

  1. registra l'SN in IAMMETER-Docker;
  2. pubblica un payload di test;
  3. verifica i campi di tensione, corrente, potenza ed energia;
  4. conferma il conteggio delle fasi o dei canali;
  5. verifica le unità e la direzione della potenza attiva;
  6. solo allora abilita la pubblicazione continua.

3.3 Sottoscrivi dati energetici in tempo reale

Per un sottoscrittore MQTT:

Impostazione Valore
Broker Indirizzo del server IAMMETER-Docker
Porta 1883 per impostazione predefinita
Autenticazione Nome utente e password di IAMMETER-Docker
Topic device/<SN>/realtime

Sottoscrivi dati in tempo reale da IAMMETER-Docker

I sottoscrittori tipici includono:

  • flussi di automazione Node-RED;
  • un servizio locale di elaborazione dati;
  • un client di debug MQTT;
  • un gateway che inoltra misurazioni selezionate;
  • una dashboard personalizzata o un servizio di notifica.

Se Node-RED è l'applicazione principale e non è richiesta l'archiviazione storica in IAMMETER-Docker, il contatore può anche connettersi direttamente a Node-RED tramite MQTT, Modbus TCP o la sua API locale. Confronta le opzioni nella guida Node-RED per contatori energetici.

4. Test e Risoluzione dei Problemi MQTT

Inizia con un singolo contatore e un topic esatto, piuttosto che con una sottoscrizione wildcard ampia.

Controlla quanto segue quando non compaiono dati:

  • la porta 1883 è mappata dal container;
  • il client può raggiungere l'host Docker tramite LAN;
  • l'SN esiste in IAMMETER-Docker;
  • l'ID client MQTT e il topic utilizzano lo stesso SN;
  • il topic è device/<SN>/realtime con la capitalizzazione prevista;
  • le modalità di autenticazione di pubblicazione e sottoscrizione non vengono confuse;
  • il payload JSON corrisponde all'ordine dei campi e alle unità supportati;
  • un altro client MQTT non sta disconnettendo la sessione riutilizzando lo stesso ID client.

Per flussi affidabili:

  • utilizza un ID client unico per ogni sottoscrittore;
  • gestisci le riconnessioni e i messaggi duplicati;
  • valida il payload prima di scriverlo in un database;
  • registra l'SN di origine con ogni misurazione memorizzata;
  • utilizza l'isolamento di rete invece di esporre pubblicamente la porta MQTT non crittografata.

5. Inoltra Dati Solari a PVOutput

PVOutput è un servizio di terze parti per condividere e confrontare la generazione solare e i dati di consumo energetico. IAMMETER-Docker può inoltrare i dati del sito a PVOutput.

Utilizza questa opzione quando IAMMETER-Docker rimane il server di raccolta locale ma PVOutput è richiesto per la rendicontazione solare pubblica o esterna.

Prima di abilitare l'inoltro:

  1. crea o seleziona il sistema PVOutput corretto;
  2. ottieni le credenziali PVOutput richieste;
  3. conferma che i canali Grid e Inverter siano assegnati correttamente in IAMMETER-Docker;
  4. controlla il fuso orario del sito;
  5. abilita l'inoltro solo per il sito desiderato;
  6. confronta un totale giornaliero in entrambi i sistemi dopo il primo giorno completo.

Inoltra i dati solari di IAMMETER-Docker a PVOutput

L'inoltro a PVOutput richiede l'accesso a Internet dall'host Docker. È separato dal monitoraggio locale: un guasto temporaneo della connessione a PVOutput non dovrebbe impedire al contatore di continuare a caricare sul server locale.

6. Ricevi Dati da un Dispositivo Tasmota Compatibile

IAMMETER-Docker include un flusso di lavoro MQTT documentato per un dispositivo con capacità di misurazione che esegue Tasmota. L'esempio originale utilizzava un Sonoff POW R2.

Questo è un percorso di compatibilità per payload energetici supportati, non un'affermazione che ogni dispositivo o template Tasmota produca la stessa struttura di misurazione. Testa il dispositivo e il firmware effettivi prima della distribuzione.

Utilizza la seguente struttura MQTT Tasmota:

Impostazione Valore
Host Indirizzo IP di IAMMETER-Docker
Porta Porta MQTT di IAMMETER-Docker, normalmente 1883
Client SN registrato in IAMMETER-Docker
Utente Lascia vuoto per questo flusso di pubblicazione documentato
Password Lascia vuoto per questo flusso di pubblicazione documentato
Topic SN registrato in IAMMETER-Docker
Full Topic device/%topic%/%prefix%/

Configura un contatore Tasmota compatibile per IAMMETER-Docker

Dopo la configurazione, verifica ogni valore riportato in IAMMETER-Docker, inclusi tensione, corrente, potenza attiva, energia e fattore di potenza quando supportato dal dispositivo.

Dati elettrici Tasmota in IAMMETER-Docker

7. Utilizza l'API REST di IAMMETER-Docker

IAMMETER-Docker espone una documentazione API interattiva sul server locale:

http://<docker-host-ip>:5050/docs

L'API REST può essere utilizzata per:

  • caricare misurazioni supportate da un gateway personalizzato;
  • interrogare i dati per una dashboard privata;
  • connettere un'applicazione locale al server self-hosted;
  • testare i payload prima di automatizzare un'integrazione.

Mantieni l'accesso API su una rete affidabile. Se un sistema esterno deve connettersi da remoto, posiziona il servizio dietro un adeguato livello di accesso sicuro invece di esporre la porta dell'applicazione senza protezione.

Per gli sviluppatori che costruiscono un ricevitore completo o una piattaforma personalizzata invece di utilizzare IAMMETER-Docker, consulta Sviluppa il Tuo Sistema di Monitoraggio Energetico.

8. Combina Archiviazione Locale e Servizi Cloud

L'auto-hosting non significa che ogni servizio esterno debba essere disabilitato. IAMMETER-Docker può essere il sistema di registrazione locale mentre i dati selezionati vengono inoltrati altrove.

Architettura Dati locali Dipendenza da Internet Ideale per
Solo locale IAMMETER-Docker Non richiesta dopo la distribuzione Privacy, siti offline e dashboard LAN
Locale + IAMMETER-Cloud IAMMETER-Docker e IAMMETER-Cloud Richiesta per l'inoltro Copia locale più report IAMMETER-Cloud e accesso remoto
Locale + PVOutput IAMMETER-Docker e PVOutput Richiesta per l'inoltro Utenti solari che utilizzano PVOutput
Locale + sottoscrittore MQTT IAMMETER-Docker più archiviazione definita dal sottoscrittore Non richiesta con un sottoscrittore locale Node-RED, automazione ed elaborazione personalizzata

Abilita solo le destinazioni che servono a uno scopo chiaro. Più destinazioni creano più credenziali, dipendenze di rete e percorsi di risoluzione dei problemi.

9. Checklist per Distribuzione Avanzata

  • La raccolta di base di IAMMETER-Docker è già stabile.
  • I backup dei dati persistenti e del database sono verificati.
  • MySQL viene utilizzato solo quando il suo sovraccarico operativo è giustificato.
  • La porta MQTT 1883 è raggiungibile solo da reti affidabili.
  • Ogni client MQTT utilizza un ID client appropriato e unico.
  • L'SN del contatore, il topic e il dispositivo registrato corrispondono.
  • Le unità del payload, il conteggio delle fasi e la direzione della potenza sono state testate.
  • I guasti di inoltro PVOutput o cloud non interrompono la raccolta locale.
  • La compatibilità Tasmota è stata confermata con il dispositivo e il firmware effettivi.
  • Le modifiche vengono testate su un contatore prima di essere applicate a una distribuzione più ampia.

10. Cronologia delle Versioni e Note Ereditate

Le sezioni sopra descrivono i flussi di lavoro IAMMETER-Docker attualmente documentati. La pagina originale è stata scritta intorno a V1.8 e V1.9; la seguente cronologia è conservata per gli utenti che mantengono installazioni più datate.

V2.4

V2.3

  • Risolto un problema di caricamento PVOutput.

V2.2

  • Aggiunti i log per i guasti di inoltro a IAMMETER-Cloud.

V2.1

V1.9

  • Aggiunto il supporto MySQL.
  • Aggiunta un'opzione per immagine personalizzata per ogni Place.

IAMMETER-Docker V1.9

V1.8

  • Aggiunto il caricamento MQTT su IAMMETER-Docker.
  • Aggiunta la sottoscrizione MQTT ai dati in tempo reale.
  • Aggiunto l'inoltro diretto a PVOutput.
  • Aggiunto il flusso di lavoro documentato per la misurazione Tasmota/Sonoff.

11. Risorse Correlate

Ultimo aggiornamento: 17 luglio 2026.

In alto