Ne pare rău, browserul dvs. nu acceptă JavaScript!
Autentificare

Monitorizarea energiei cu găzduire proprie folosind Docker

Monitorizarea energiei cu găzduire proprie folosind Docker

Un sistem de monitorizare a energiei cu găzduire proprie păstrează serverul de monitorizare și datele de consum electric sub controlul dumneavoastră. În loc să trimită fiecare citire către un cloud public, contorul de energie încarcă datele într-un container Docker rulat pe un server local, un NAS, un Raspberry Pi sau un router compatibil.

IAMMETER-Docker oferă un server local de monitorizare a energiei, gata de rulat, pentru consumul de energie electrică și sistemele fotovoltaice (PV). Poate colecta măsurători, afișa date în timp real și istorice, expune API-uri și poate funcționa opțional ca înregistrator de date offline (datalogger).

IAMMETER energy meter
        │
        │ Wi-Fi / local network
        ▼
IAMMETER-Docker
        │
        ├── Local web dashboard
        ├── Historical energy data
        ├── REST API
        ├── MQTT
        ├── CSV datalogger
        └── Optional forwarding

IAMMETER-Docker este o opțiune practică de găzduire proprie, dar nu reproduce toate funcțiile și rapoartele din IAMMETER-Cloud. Dacă încă alegeți o arhitectură, comparați opțiunile pe pagina cu soluții de monitorizare a energiei cu găzduire proprie.

🎬 Urmăriți tutorialul video despre IAMMETER-Docker

1. Când ar trebui să folosiți un sistem de monitorizare a energiei cu găzduire proprie?

IAMMETER-Docker este potrivit atunci când doriți să:

  • păstrați datele de energie pe un server pe care îl administrați;
  • monitorizați consumul electric pe o rețea LAN fără a depinde de accesul la Internet;
  • implementați un panou local de monitorizare solară;
  • colectați date la o locație îndepărtată folosind un înregistrator de date offline;
  • accesați măsurătorile printr-un REST API local sau MQTT;
  • redirecționați datele selectate către o altă platformă;
  • construiți un panou privat sau o integrare în jurul datelor de energie stocate.

Instalările tipice includ:

  • monitorizarea consumului casnic și a sistemelor fotovoltaice;
  • ateliere, birouri și amplasamente comerciale mici;
  • sisteme solare la distanță și încăperi tehnice;
  • medii de dezvoltare și testare;
  • proiecte în care este necesară o cale locală de date.

Dacă aveți nevoie doar de citiri directe ale contorului pentru Home Assistant, Node-RED, un PLC sau un software personalizat, implementarea unui server complet poate fi inutilă. Consultați opțiunile de integrare locală și cu găzduire proprie înainte de a alege.

2. De ce aveți nevoie

Înainte de implementare, pregătiți:

  • un dispozitiv care poate rula Docker, cum ar fi un server Linux, un NAS, un Raspberry Pi sau un router compatibil;
  • stocare persistentă pentru baza de date a aplicației;
  • portul TCP 5050 disponibil pentru aplicația web și API;
  • portul TCP 1883 dacă va fi folosit serviciul MQTT integrat;
  • o adresă IP stabilă sau o rezervare DHCP pentru gazda Docker;
  • un contor de energie IAMMETER sau o altă sursă de date care poate trimite formatul API acceptat.

Gazda Docker și contorul ar trebui să se poată ajunge reciproc prin rețeaua locală. Pentru funcționarea offline, accesul la Internet nu este necesar după ce imaginea și software-ul necesar au fost instalate.

3. Implementați IAMMETER-Docker

Versiunea curentă publicată pe Docker Hub este IAMMETER-Docker V2.4.

3.1 Opțiunea A: Docker run

Creați un director de lucru și rulați containerul cu stocare persistentă:

docker run -d \
  --name myiammeter \
  --restart always \
  -p 5050:5050 \
  -p 1883:1883 \
  -e TZ=Etc/UTC \
  -v "$PWD/data:/app/data" \
  iammeter/iammeter

Schimbați TZ=Etc/UTC cu fusul orar corect pentru amplasamentul monitorizat. Rapoartele de energie depind de data și ora locale, deci setați acest lucru înainte de a colecta date de producție.

3.2 Opțiunea B: Docker Compose

Creați 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

Porniți serviciul:

docker compose up -d

Verificați starea acestuia:

docker compose ps
docker compose logs --tail=100 iammeter

3.3 Deschideți panoul local

Deschideți următoarea adresă dintr-un browser din aceeași rețea:

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

Acreditările implicite:

Username: testuser
Password: 123456

Schimbați imediat parola implicită. Nu expuneți portul 5050 sau 1883 direct pe Internetul public fără un firewall adecvat, autentificare și o proiectare sigură a rețelei.

Autentificare IAMMETER-Docker

4. Configurare inițială

După autentificare:

  1. Creați un Place (locație) pentru casă, amplasamentul solar sau instalația monitorizată.
  2. Adăugați un Meter (contor).
  3. Introduceți numărul de serie (SN) al contorului.
  4. Selectați tipul corect de contor monofazat sau trifazat.
  5. Atribuiți fiecare fază sau canal ca Grid (rețea), Inverter (invertor) sau Load (sarcină).
  6. Confirmați fusul orar și structura de măsurare înainte de a evalua rapoartele.

Configurați un contor în IAMMETER-Docker

Atribuirea corectă a canalelor este deosebit de importantă pentru monitorizarea solară. Sistemul trebuie să știe care măsurătoare reprezintă rețeaua, invertorul sau sarcina înainte de a putea afișa rezultate semnificative privind fluxul de energie.

5. Conectați un contor de energie IAMMETER

Contoarele IAMMETER pot încărca datele direct pe serverul Docker local.

În WebUI-ul contorului, configurați încărcarea HTTP de la terți și utilizați adresa gazdei Docker:

<docker-host-ip>:5050/api/v1/sensor/uploadsensor

Adresa IP a gazdei Docker trebuie să fie accesibilă din rețeaua Wi-Fi a contorului. Folosiți același SN al contorului care a fost adăugat în IAMMETER-Docker.

Configurați încărcarea HTTP către IAMMETER-Docker

După salvarea configurației contorului:

  1. așteptați prima încărcare;
  2. confirmați că contorul apare online în IAMMETER-Docker;
  3. comparați valorile de tensiune, putere și energie cu datele locale ale contorului;
  4. verificați direcția și atribuirea canalelor înainte de a vă baza pe calculele solare sau de import/export.

Utilizați IAMMETER-Cloud în același timp

IAMMETER-Docker poate redirecționa opțional datele contorului către IAMMETER-Cloud. Activați redirecționarea doar atunci când doriți atât stocare locală, cât și serviciile IAMMETER-Cloud.

Redirecționați datele locale către IAMMETER-Cloud

Pentru o instalare offline sau independentă de cloud, lăsați redirecționarea către cloud dezactivată.

6. Încărcați date de la alt dispozitiv sau aplicație

IAMMETER-Docker poate primi, de asemenea, date de energie acceptate prin REST API-ul său. Acest lucru este util pentru simulatoare, gateway-uri sau aplicații ale clienților care nu utilizează un contor IAMMETER.

Creați un contor cu un SN personalizat, apoi folosiți același SN în fiecare cerere API.

Documentația API interactivă este disponibilă pe serverul local:

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

Documentația API IAMMETER-Docker

Testați o cerere API IAMMETER-Docker

Testați API-ul mai întâi pe un contor care nu este în producție. Mențineți SN-ul, numărul de faze, ordinea câmpurilor și unitățile consistente, astfel încât datele istorice să rămână utilizabile.

7. Rulați un înregistrator de date offline (datalogger)

IAMMETER-Docker V2.4 poate salva date în CSV atunci când este montat un director de datalogger. Acest lucru este util pentru un amplasament solar la distanță, o fabrică sau o încăpere tehnică fără o conexiune fiabilă la Internet.

Docker run cu stocare pentru datalogger

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

Pentru Docker Compose, adăugați acest volum:

volumes:
  - ./data:/app/data
  - ./datalogger:/app/datalogger

Deschideți pagina de datalogger la:

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

Pagina de datalogger folosește inițial:

Username: admin
Password: admin

Schimbați această parolă ca parte a implementării. Pentru fluxul de lucru complet bazat pe router și export CSV, consultați Înregistrator de date offline cu IAMMETER-Docker.

8. MQTT și alte funcții avansate

Portul 1883 este utilizat de serviciul MQTT din IAMMETER-Docker. Un contor sau altă aplicație poate publica date de măsurare acceptate către IAMMETER-Docker, iar clienții MQTT se pot abona la valorile în timp real.

IAMMETER-Docker acceptă, de asemenea, funcții precum:

  • MySQL în locul bazei de date locale implicite pentru seturi de date mai mari;
  • publicare și abonare MQTT;
  • redirecționare PVOutput;
  • date de energie compatibile Tasmota;
  • alarme în timp real și scenarii de datalogger la o secundă.

Aceste funcții sunt menținute în mod intenționat în afara căii de implementare de bază. Configurați și testați mai întâi containerul de bază, apoi continuați cu ghidul avansat IAMMETER-Docker.

9. Faceți backup datelor de energie

Volumul /app/data conține datele persistente ale aplicației. Faceți periodic backup directorului corespunzător de pe gazdă.

Un proces de bază sigur este:

  1. opriți sau întrerupeți scrierile în container;
  2. copiați întregul director data montat către stocarea de backup;
  3. includeți directorul datalogger atunci când înregistrarea CSV este activată;
  4. păstrați mai mult de o generație de backup;
  5. testați restaurarea pe un container separat înainte de a vă baza pe planul de backup.

Nu tratați sistemul de fișiere al containerului ca stocare permanentă. Dacă /app/data nu este montat, eliminarea containerului poate elimina și baza de date de monitorizare.

10. Actualizarea IAMMETER-Docker

Înainte de actualizare, faceți backup directorului de date persistente.

Pentru Docker Compose:

docker compose pull
docker compose up -d
docker compose logs --tail=100 iammeter

Pentru un container creat cu docker run:

  1. notați porturile, fusul orar și montajele de volume existente;
  2. extrageți noua imagine;
  3. opriți și eliminați containerul vechi;
  4. creați din nou containerul cu același volum persistent;
  5. verificați autentificarea, starea contorului și datele istorice.
docker pull iammeter/iammeter
docker stop myiammeter
docker rm myiammeter

Apoi repetați comanda originală docker run. Eliminarea unui container este sigură doar atunci când datele aplicației au fost stocate într-un director de gazdă montat corect și cu backup.

11. Depanare

Pagina web nu se deschide

  • Confirmați că containerul rulează cu docker ps sau docker compose ps.
  • Verificați dacă portul 5050 al gazdei este deja utilizat.
  • Examinați jurnalele containerului.
  • Confirmați că firewall-ul permite accesul din rețeaua locală.

Contorul nu apare online

  • Confirmați că contorul poate ajunge la adresa IP a gazdei Docker.
  • Verificați adresa URL de încărcare și portul.
  • Confirmați că SN-ul din IAMMETER-Docker corespunde SN-ului contorului.
  • Evitați utilizarea localhost ca adresă de server în contor; acesta se referă la contorul însuși, nu la gazda Docker.
  • Confirmați că izolarea clienților sau o rețea Wi-Fi pentru oaspeți nu blochează traficul LAN.

Datele solare par incorecte

  • Verificați direcția CT și cablarea.
  • Confirmați ce canal este atribuit rețelei (Grid) și care invertorului (Inverter).
  • Verificați semnul puterii active în timpul importului și exportului.
  • Confirmați fusul orar înainte de a compara totalurile zilnice de energie.

Datele dispar după recrearea containerului

  • Confirmați că /app/data a fost montat într-un director persistent al gazdei.
  • Verificați permisiunile directorului.
  • Restaurați cel mai recent backup verificat dacă volumul original nu este disponibil.

12. IAMMETER-Docker, IAMMETER-Cloud sau un sistem personalizat?

Opțiune Cel mai potrivit pentru Locația datelor Efort de configurare Principalul compromis
IAMMETER-Docker Un server local de monitorizare gata de utilizare Gazda dumneavoastră Docker Redus spre mediu Mai puține funcții cloud gestionate
IAMMETER-Cloud Monitorizare, rapoarte și acces de la distanță gata de utilizare IAMMETER-Cloud Redus Folosește un serviciu cloud găzduit
Home Assistant / Node-RED Entități smart-home și automatizări personalizate Platforma dumneavoastră Mediu Dumneavoastră proiectați panoul și fluxurile de lucru
Server personalizat Un produs, EMS sau conductă specializată de date Infrastructura dumneavoastră Ridicat Dumneavoastră dezvoltați și întrețineți sistemul

Continuați cu:

13. Lista de verificare a implementării

  • Gazda Docker are o adresă LAN stabilă.
  • /app/data este montat în stocare persistentă.
  • Fusul orar corespunde amplasamentului monitorizat.
  • Parolele implicite au fost schimbate.
  • Porturile 5050 și 1883 nu sunt expuse inutil pe Internet.
  • SN-ul contorului și atribuirile de canale sunt corecte.
  • Încărcarea locală a fost verificată cu măsurători live.
  • Redirecționarea către cloud este activată doar atunci când este necesar.
  • Procedurile de backup și actualizare au fost testate.
  • Volumul de datalogger este montat dacă este necesar exportul CSV.

Ultima actualizare: 17 iulie 2026.

Sus