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

Monitorizarea energiei prin MQTT cu Docker: configurare avansată IAMMETER-Docker

Monitorizarea energiei prin MQTT cu Docker și configurare avansată

După ce serverul de bază IAMMETER-Docker rulează, acesta poate fi extins într-un server local de monitorizare a energiei prin MQTT, poate folosi MySQL pentru un set de date mai mare, poate redirecționa datele solare către PVOutput și poate accepta măsurători compatibile de la terți.

Acest ghid acoperă căile avansate de date și opțiunile de stocare. Pentru instalare, volume persistente, prima autentificare, configurarea contorului, copii de rezervă și upgrade-uri de container, începeți cu Monitorizarea energiei auto-găzduită cu Docker.

IAMMETER meter / compatible device / custom application
                         │
             ┌───────────┼───────────┐
             │           │           │
            HTTP        MQTT       REST API
             │           │           │
             └───────────┼───────────┘
                         ▼
                  IAMMETER-Docker
                         │
       ┌─────────────────┼─────────────────┐
       ▼                 ▼                 ▼
 SQLite / MySQL     MQTT subscribers     PVOutput

Utilizați doar interfețele cerute de proiect. O instalare simplă de monitorizare locală nu are nevoie de MySQL, de clienți MQTT externi sau de redirecționare a datelor.

1. Înainte de activarea funcțiilor avansate

Confirmați că instalarea de bază este stabilă:

  • containerul IAMMETER-Docker rulează;
  • /app/data este mapat pe stocare persistentă;
  • gazda Docker folosește o adresă LAN stabilă;
  • fusul orar al site-ului este corect;
  • cel puțin un contor sau o sursă de date de test funcționează;
  • parolele implicite au fost schimbate;
  • există o copie de rezervă actuală.

Implementarea implicită expune:

  • 5050 pentru aplicația web și API;
  • 1883 pentru MQTT.

Nu publicați niciunul dintre aceste porturi direct pe Internet. Folosiți un firewall, VPN sau un alt strat de acces controlat atunci când accesul de la distanță este necesar.

2. Alegeți SQLite sau MySQL

IAMMETER-Docker folosește SQLite pentru o implementare implicită simplă și acceptă MySQL pentru instalări cu un set de date mai mare.

Bază de date Potrivit pentru Avantaje Considerații
SQLite Instalări locale de acasă, de test și mai mici Fără serviciu de bază de date separat; configurare inițială ușoară Baza de date rămâne legată de volumul aplicației
MySQL Instalări mai mari sau de durată mai lungă Serviciu de bază de date separat și potrivire mai bună pentru seturi de date în creștere Necesită implementarea bazei de date, acreditări, copii de rezervă și întreținere

Nu treceți la MySQL doar pentru că este disponibil. Folosiți-l atunci când volumul de date preconizat, perioada de retenție sau cerințele de gestionare a bazei de date justifică un serviciu suplimentar.

2.1 Pregătiți mai întâi MySQL

Înainte de a selecta MySQL în IAMMETER-Docker:

  1. implementați un server MySQL accesibil;
  2. creați o bază de date și un utilizator dedicat;
  3. restricționați acel utilizator la baza de date necesară;
  4. confirmați accesul la rețea din containerul IAMMETER-Docker;
  5. configurați copii de rezervă regulate ale bazei de date;
  6. înregistrați în siguranță gazda, portul, numele bazei de date și acreditările.

Apoi introduceți setările de conexiune MySQL în IAMMETER-Docker și confirmați că noile măsurători sunt stocate.

Configurați MySQL în IAMMETER-Docker

Faceți o copie de rezervă a datelor existente IAMMETER-Docker înainte de a schimba modul de bază de date. Verificați datele istorice și noile încărcări după modificare.

3. Utilizați IAMMETER-Docker ca server de monitorizare a energiei prin MQTT

IAMMETER-Docker include suport MQTT în două direcții diferite:

  1. Publicare către IAMMETER-Docker: un contor sau o aplicație compatibilă trimite măsurători către serverul Docker.
  2. Abonare de la IAMMETER-Docker: Node-RED, un serviciu personalizat sau un alt client MQTT primește măsurători în timp real de la server.

Aceste căi folosesc același model de topic, dar moduri de autentificare diferite.

3.1 Topic MQTT

Topicul în timp real documentat este:

device/<SN>/realtime

Înlocuiți <SN> cu numărul de serie înregistrat în IAMMETER-Docker. SN-ul din topicul MQTT și configurația clientului trebuie să corespundă contorului creat în platforma locală.

3.2 Publicați datele de energie către IAMMETER-Docker

Pentru un dispozitiv sau o aplicație care publică:

Setare Valoare
Broker Adresa IP sau numele gazdei serverului IAMMETER-Docker
Port 1883 în mod implicit
Autentificare ID client
ID client SN-ul contorului înregistrat în IAMMETER-Docker
Topic device/<SN>/realtime
Payload Formatul de date de încărcare acceptat de IAMMETER

Publicați datele de energie către IAMMETER-Docker prin MQTT

Înainte de a folosi date de producție:

  1. înregistrați SN-ul în IAMMETER-Docker;
  2. publicați un payload de test;
  3. verificați câmpurile de tensiune, curent, putere și energie;
  4. confirmați numărul de faze sau canale;
  5. verificați unitățile și direcția puterii active;
  6. doar apoi activați publicarea continuă.

3.3 Abonați-vă la datele de energie în timp real

Pentru un abonat MQTT:

Setare Valoare
Broker Adresa serverului IAMMETER-Docker
Port 1883 în mod implicit
Autentificare Nume de utilizator și parolă IAMMETER-Docker
Topic device/<SN>/realtime

Abonați-vă la datele în timp real IAMMETER-Docker

Abonații tipici includ:

  • fluxuri de automatizare Node-RED;
  • un serviciu local de procesare a datelor;
  • un client de depanare MQTT;
  • un gateway care redirecționează măsurătorile selectate;
  • un dashboard personalizat sau un serviciu de alertare.

Dacă Node-RED este aplicația principală și stocarea istorică în IAMMETER-Docker nu este necesară, contorul se poate conecta și direct la Node-RED prin MQTT, Modbus TCP sau API-ul său local. Comparați opțiunile în ghidul contorului de energie Node-RED.

4. Testați și depanați MQTT

Începeți cu un singur contor și un topic exact, nu cu o abonare wildcard largă.

Verificați următoarele când nu apar date:

  • portul 1883 este mapat din container;
  • clientul poate ajunge la gazda Docker prin LAN;
  • SN-ul există în IAMMETER-Docker;
  • ID-ul clientului MQTT și topicul folosesc același SN;
  • topicul este device/<SN>/realtime cu capitalizarea preconizată;
  • modurile de autentificare pentru publicare și abonare nu sunt confundate;
  • payload-ul JSON corespunde ordinii câmpurilor și unităților acceptate;
  • un alt client MQTT nu deconectează sesiunea reutilizând același ID de client.

Pentru fluxuri fiabile:

  • folosiți un ID de client unic pentru fiecare abonat;
  • gestionați reconectările și mesajele duplicate;
  • validați payload-ul înainte de a-l scrie într-o bază de date;
  • înregistrați SN-ul sursă cu fiecare măsurătoare stocată;
  • folosiți izolarea rețelei în loc să expuneți public portul MQTT necriptat.

5. Redirecționați datele solare către PVOutput

PVOutput este un serviciu terț pentru partajarea și compararea datelor de generare solară și consum de energie. IAMMETER-Docker poate redirecționa datele site-ului către PVOutput.

Folosiți această opțiune atunci când IAMMETER-Docker rămâne serverul local de colectare, dar PVOutput este necesar pentru raportarea solară publică sau externă.

Înainte de a activa redirecționarea:

  1. creați sau selectați sistemul PVOutput corect;
  2. obțineți acreditările PVOutput necesare;
  3. confirmați că canalele Grid și Inverter sunt atribuite corect în IAMMETER-Docker;
  4. verificați fusul orar al site-ului;
  5. activați redirecționarea doar pentru site-ul dorit;
  6. comparați un total zilnic în ambele sisteme după prima zi completă.

Redirecționați datele solare IAMMETER-Docker către PVOutput

Redirecționarea PVOutput necesită acces la Internet de pe gazda Docker. Este separată de monitorizarea locală: o defecțiune temporară a conexiunii PVOutput nu ar trebui să împiedice contorul să continue să încarce date pe serverul local.

6. Primiți date de la un dispozitiv Tasmota compatibil

IAMMETER-Docker include un flux de lucru MQTT documentat pentru un dispozitiv cu capacitate de măsurare care rulează Tasmota. Exemplul original a folosit un Sonoff POW R2.

Aceasta este o cale de compatibilitate pentru payload-uri de energie acceptate, nu o afirmație că fiecare dispozitiv sau șablon Tasmota produce aceeași structură de măsurători. Testați dispozitivul și firmware-ul real înainte de implementare.

Folosiți următoarea structură MQTT Tasmota:

Setare Valoare
Gazdă Adresa IP IAMMETER-Docker
Port Portul MQTT IAMMETER-Docker, în mod normal 1883
Client SN înregistrat în IAMMETER-Docker
Utilizator Lăsați gol pentru acest flux de lucru de publicare documentat
Parolă Lăsați gol pentru acest flux de lucru de publicare documentat
Topic SN înregistrat în IAMMETER-Docker
Topic complet device/%topic%/%prefix%/

Configurați un contor Tasmota compatibil pentru IAMMETER-Docker

După configurare, verificați fiecare valoare raportată în IAMMETER-Docker, inclusiv tensiunea, curentul, puterea activă, energia și factorul de putere atunci când sunt acceptate de dispozitiv.

Date electrice Tasmota în IAMMETER-Docker

7. Utilizați API-ul REST IAMMETER-Docker

IAMMETER-Docker expune documentație interactivă a API pe serverul local:

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

API-ul REST poate fi folosit pentru:

  • încărcarea măsurătorilor acceptate de la un gateway personalizat;
  • interogarea datelor pentru un dashboard privat;
  • conectarea unei aplicații locale la serverul auto-găzduit;
  • testarea payload-urilor înainte de automatizarea unei integrări.

Păstrați accesul API pe o rețea de încredere. Dacă un sistem extern trebuie să se conecteze de la distanță, plasați serviciul în spatele unui strat de acces securizat adecvat, în loc să expuneți portul aplicației fără protecție.

Pentru dezvoltatorii care construiesc un receptor complet sau o platformă personalizată în loc să folosească IAMMETER-Docker, consultați Dezvoltați propriul sistem de monitorizare a energiei.

8. Combinați stocarea locală și serviciile cloud

Auto-găzduirea nu trebuie să însemne că fiecare serviciu extern este dezactivat. IAMMETER-Docker poate fi sistemul local de referință, în timp ce datele selectate sunt redirecționate în altă parte.

Arhitectură Date locale Dependență de internet Potrivit pentru
Doar local IAMMETER-Docker Nu este necesară după implementare Confidențialitate, site-uri offline și dashboard-uri LAN
Local + IAMMETER-Cloud IAMMETER-Docker și IAMMETER-Cloud Necesară pentru redirecționare Copie locală plus rapoarte IAMMETER-Cloud și acces de la distanță
Local + PVOutput IAMMETER-Docker și PVOutput Necesară pentru redirecționare Utilizatori solari care folosesc PVOutput
Local + abonat MQTT IAMMETER-Docker plus stocare definită de abonat Nu este necesară cu un abonat local Node-RED, automatizare și procesare personalizată

Activați doar destinațiile care servesc un scop clar. Mai multe destinații înseamnă mai multe acreditări, dependențe de rețea și căi de depanare.

9. Lista de verificare pentru implementare avansată

  • Colectarea de bază IAMMETER-Docker este deja stabilă.
  • Datele persistente și copiile de rezervă ale bazei de date sunt verificate.
  • MySQL este folosit doar atunci când costul operațional este justificat.
  • Portul MQTT 1883 este accesibil doar din rețele de încredere.
  • Fiecare client MQTT folosește un ID de client adecvat și unic.
  • SN-ul contorului, topicul și dispozitivul înregistrat se potrivesc.
  • Unitățile payload-ului, numărul de faze și direcția puterii au fost testate.
  • Defecțiunile de redirecționare PVOutput sau cloud nu întrerup colectarea locală.
  • Compatibilitatea Tasmota a fost confirmată cu dispozitivul și firmware-ul real.
  • Modificările sunt testate pe un contor înainte de a fi aplicate unei implementări mai mari.

10. Istoricul versiunilor și note de moștenire

Secțiunile de mai sus descriu fluxurile de lucru IAMMETER-Docker documentate în prezent. Pagina originală a fost scrisă în jurul versiunilor V1.8 și V1.9; istoricul următor este păstrat pentru utilizatorii care întrețin instalări mai vechi.

V2.4

V2.3

  • Rezolvată o problemă de încărcare PVOutput.

V2.2

  • Adăugate jurnale pentru defecțiunile de redirecționare IAMMETER-Cloud.

V2.1

V1.9

  • Adăugat suport MySQL.
  • Adăugată o opțiune de imagine personalizată pentru fiecare Place.

IAMMETER-Docker V1.9

V1.8

  • Adăugată încărcarea MQTT către IAMMETER-Docker.
  • Adăugată abonarea MQTT la datele în timp real.
  • Adăugată redirecționarea directă PVOutput.
  • Adăugat fluxul de lucru documentat de măsurare Tasmota/Sonoff.

11. Resurse conexe

Ultima actualizare: 17 iulie 2026.

Sus