Un sistema di monitoraggio energetico self-hosted mantiene il server di monitoraggio e i dati elettrici sotto il tuo controllo. Invece di inviare ogni lettura a un cloud pubblico, il contatore energetico carica i dati su un container Docker in esecuzione su un server locale, NAS, Raspberry Pi o router compatibile.
IAMMETER-Docker fornisce un server di monitoraggio energetico locale pronto all'uso per il consumo elettrico e i sistemi solari fotovoltaici. Può raccogliere misurazioni, visualizzare dati in tempo reale e storici, esporre API e opzionalmente funzionare come datalogger offline.
Contatore energetico IAMMETER
│
│ Wi-Fi / rete locale
▼
IAMMETER-Docker
│
├── Dashboard web locale
├── Dati energetici storici
├── API REST
├── MQTT
├── Datalogger CSV
└── Inoltro opzionale
IAMMETER-Docker è un'opzione pratica self-hosted, ma non riproduce tutte le funzionalità e i report di IAMMETER-Cloud. Se stai ancora scegliendo un'architettura, confronta le opzioni nella pagina soluzioni di monitoraggio energetico self-hosted.
🎬 Guarda il video tutorial su IAMMETER-Docker
IAMMETER-Docker è adatto quando desideri:
Le installazioni tipiche includono:
Se hai solo bisogno di letture dirette del contatore per Home Assistant, Node-RED, un PLC o software personalizzato, distribuire un server completo potrebbe non essere necessario. Consulta opzioni di integrazione locale e self-hosted prima di scegliere.
Prima della distribuzione, prepara:
5050 disponibile per l'applicazione web e l'API;1883 se verrà utilizzato il servizio MQTT integrato;L'host Docker e il contatore devono potersi raggiungere tramite la rete locale. Per il funzionamento offline, non è necessario l'accesso a Internet dopo aver installato l'immagine e il software richiesto.
La versione corrente su Docker Hub è IAMMETER-Docker V2.4.
Crea una directory di lavoro ed esegui il container con archiviazione persistente:
docker run -d \
--name myiammeter \
--restart always \
-p 5050:5050 \
-p 1883:1883 \
-e TZ=Etc/UTC \
-v "$PWD/data:/app/data" \
iammeter/iammeter
Cambia TZ=Etc/UTC con il fuso orario corretto per il sito di monitoraggio. I report energetici dipendono dalla data e dall'ora locali, quindi imposta questo prima di raccogliere dati di produzione.
Crea compose.yaml:
services:
iammeter:
image: iammeter/iammeter
container_name: myiammeter
restart: always
ports:
- "5050:5050"
- "1883:1883"
environment:
TZ: Etc/UTC
volumes:
- ./data:/app/data
Avvia il servizio:
docker compose up -d
Controlla il suo stato:
docker compose ps
docker compose logs --tail=100 iammeter
Apri il seguente indirizzo da un browser sulla stessa rete:
http://<docker-host-ip>:5050
Credenziali predefinite:
Username: testuser
Password: 123456
Cambia immediatamente la password predefinita. Non esporre le porte
5050o1883direttamente a Internet pubblico senza un firewall appropriato, autenticazione e una progettazione di rete sicura.

Dopo aver effettuato l'accesso:

L'assegnazione corretta dei canali è particolarmente importante per il monitoraggio solare. Il sistema deve sapere quale misurazione rappresenta la rete, l'inverter o il carico prima di poter visualizzare risultati significativi del flusso energetico.
I contatori IAMMETER possono caricare direttamente al server Docker locale.
Nella WebUI del contatore, configura il caricamento HTTP di terze parti e utilizza l'indirizzo dell'host Docker:
<docker-host-ip>:5050/api/v1/sensor/uploadsensor
L'IP dell'host Docker deve essere raggiungibile dalla rete Wi-Fi del contatore. Utilizza lo stesso SN del contatore aggiunto a IAMMETER-Docker.

Dopo aver salvato la configurazione del contatore:
IAMMETER-Docker può opzionalmente inoltrare i dati del contatore a IAMMETER-Cloud. Abilita l'inoltro solo quando desideri sia l'archiviazione locale che i servizi IAMMETER-Cloud.

Per un'installazione offline o indipendente dal cloud, lascia l'inoltro cloud disabilitato.
IAMMETER-Docker può anche ricevere dati energetici supportati tramite la sua API REST. Questo è utile per simulatori, gateway o applicazioni personalizzate che non utilizzano un contatore IAMMETER.
Crea un contatore con un SN personalizzato, quindi utilizza lo stesso SN in ogni richiesta API.
La documentazione interattiva dell'API è disponibile sul server locale:
http://<docker-host-ip>:5050/docs


Testa l'API prima su un contatore non di produzione. Mantieni coerenti SN, conteggio fasi, ordine dei campi e unità di misura in modo che i dati storici rimangano utilizzabili.
IAMMETER-Docker V2.4 può salvare i dati in CSV quando viene montata una directory del datalogger. Questo è utile per un sito solare remoto, fabbrica o sala attrezzature senza una connessione Internet affidabile.
docker run -d \
--name myiammeter \
--restart always \
-p 5050:5050 \
-p 1883:1883 \
-e TZ=Etc/UTC \
-v "$PWD/data:/app/data" \
-v "$PWD/datalogger:/app/datalogger" \
iammeter/iammeter
Per Docker Compose, aggiungi questo volume:
volumes:
- ./data:/app/data
- ./datalogger:/app/datalogger
Apri la pagina del datalogger all'indirizzo:
http://<docker-host-ip>:5050/datalogger
La pagina del datalogger utilizza inizialmente:
Username: admin
Password: admin
Cambia questa password come parte della distribuzione. Per il flusso di lavoro completo basato su router ed esportazione CSV, consulta Datalogger Energetico Offline con IAMMETER-Docker.
La porta 1883 è utilizzata dal servizio MQTT di IAMMETER-Docker. Un contatore o un'altra applicazione può pubblicare dati di misurazione supportati su IAMMETER-Docker, e i client MQTT possono sottoscriversi ai valori in tempo reale.
IAMMETER-Docker supporta anche funzionalità come:
Queste funzionalità sono intenzionalmente tenute fuori dal percorso di distribuzione di base. Configura e testa prima il container principale, poi continua con la guida avanzata di IAMMETER-Docker.
Il volume /app/data contiene i dati persistenti dell'applicazione. Esegui il backup della directory host corrispondente regolarmente.
Un processo di base sicuro è:
data montata in un archivio di backup;datalogger quando la registrazione CSV è abilitata;Non trattare il filesystem del container come archiviazione permanente. Se /app/data non è montato, la rimozione del container potrebbe eliminare anche il database di monitoraggio.
Prima di aggiornare, esegui il backup della directory dei dati persistenti.
Per Docker Compose:
docker compose pull
docker compose up -d
docker compose logs --tail=100 iammeter
Per un container creato con docker run:
docker pull iammeter/iammeter
docker stop myiammeter
docker rm myiammeter
Poi ripeti il comando docker run originale. Rimuovere un container è sicuro solo quando i dati dell'applicazione sono stati memorizzati in una directory host correttamente montata di cui è stato eseguito il backup.
docker ps o docker compose ps.5050 è già in uso.localhost come indirizzo del server nel contatore; si riferisce al contatore stesso, non all'host Docker./app/data sia stato montato su una directory host persistente.| Opzione | Ideale per | Posizione dati | Impegno di configurazione | Compromesso principale |
|---|---|---|---|---|
| IAMMETER-Docker | Un server di monitoraggio locale già pronto | Il tuo host Docker | Da basso a medio | Meno funzionalità cloud gestite |
| IAMMETER-Cloud | Monitoraggio, report e accesso remoto già pronti | IAMMETER-Cloud | Basso | Utilizza un servizio cloud ospitato |
| Home Assistant / Node-RED | Entità smart-home e automazione personalizzata | La tua piattaforma | Medio | Devi progettare dashboard e flussi di lavoro |
| Server personalizzato | Un prodotto, EMS o pipeline dati specializzata | La tua infrastruttura | Alto | Sviluppi e mantieni il sistema |
Continua con:
/app/data è montato su archiviazione persistente.5050 e 1883 non sono esposte inutilmente a Internet.Ultimo aggiornamento: 17 luglio 2026.
Contatore di energia Wi-Fi trifase (WEM3080T)
Contatore di energia Wi-Fi monofase (WEM3080)
Contatore di energia Wi-Fi trifase (WEM3046T)
Contatore di energia Wi-Fi trifase (WEM3050T)