Ho sentim, el teu navegador no admet JavaScript!
Inicia sessió

Monitorització d'energia MQTT amb Docker: configuració avançada d'IAMMETER-Docker

Monitorització d'energia MQTT amb Docker i configuració avançada

Un cop el servidor bàsic IAMMETER-Docker està en funcionament, es pot ampliar per convertir-lo en un servidor local de monitorització d'energia MQTT, utilitzar MySQL per a un conjunt de dades més gran, reenviar dades solars a PVOutput i acceptar mesures de tercers compatibles.

Aquesta guia cobreix les vies avançades de dades i les opcions d'emmagatzematge. Per a la instal·lació, els volums persistents, el primer inici de sessió, la configuració del comptador, la còpia de seguretat i les actualitzacions de contenidors, comenceu amb Monitorització d'energia amb autohostatge mitjançant Docker.

Comptador IAMMETER / dispositiu compatible / aplicació personalitzada
                         │
             ┌───────────┼───────────┐
             │           │           │
            HTTP        MQTT       REST API
             │           │           │
             └───────────┼───────────┘
                         ▼
                  IAMMETER-Docker
                         │
       ┌─────────────────┼─────────────────┐
       ▼                 ▼                 ▼
 SQLite / MySQL     Subscriptors MQTT     PVOutput

Utilitzeu només les interfícies que requereix el projecte. Una instal·lació senzilla de monitorització local no necessita MySQL, clients MQTT externs ni reenviament de dades.

1. Abans d'activar les funcions avançades

Confirmeu que la instal·lació bàsica és estable:

  • el contenidor IAMMETER-Docker està en funcionament;
  • /app/data està assignat a un emmagatzematge persistent;
  • l'amfitrió Docker utilitza una adreça LAN estable;
  • la zona horària del lloc és correcta;
  • almenys un comptador o una font de dades de prova funciona;
  • les contrasenyes per defecte s'han canviat;
  • existeix una còpia de seguretat actual.

El desplegament per defecte exposa:

  • 5050 per a l'aplicació web i l'API;
  • 1883 per a MQTT.

No publiqueu cap d'aquests ports directament a Internet. Utilitzeu un tallafocs, una VPN o una altra capa d'accés controlada quan sigui necessari l'accés remot.

2. Trieu entre SQLite i MySQL

IAMMETER-Docker utilitza SQLite per a un desplegament senzill per defecte i admet MySQL per a instal·lacions amb un conjunt de dades més gran.

Base de dades Ideal per a Avantatges Consideracions
SQLite Llars, proves i desplegaments locals més petits No requereix un servei de base de dades separat; configuració inicial senzilla La base de dades queda vinculada al volum de l'aplicació
MySQL Instal·lacions més grans o de funcionament més llarg Servei de base de dades separat i millor adequació per a conjunts de dades en creixement Requereix desplegament de la base de dades, credencials, còpies de seguretat i manteniment

No passis a MySQL només perquè està disponible. Utilitza'l quan el volum de dades previst, el període de retenció o els requisits de gestió de la base de dades justifiquin un servei addicional.

2.1 Prepareu MySQL primer

Abans de seleccionar MySQL a IAMMETER-Docker:

  1. desplegueu un servidor MySQL accessible;
  2. creeu una base de dades i un usuari dedicats;
  3. restrinja aquest usuari a la base de dades requerida;
  4. confirmeu l'accés de xarxa des del contenidor IAMMETER-Docker;
  5. configureu còpies de seguretat periòdiques de la base de dades;
  6. anoteu de manera segura l'amfitrió, el port, el nom i les credencials de la base de dades.

A continuació, introduïu els paràmetres de connexió de MySQL a IAMMETER-Docker i confirmeu que s'emmagatzemen les noves mesures.

Configureu MySQL a IAMMETER-Docker

Feu una còpia de seguretat de les dades existents d'IAMMETER-Docker abans de canviar el mode de base de dades. Verifiqueu les dades històriques i les noves pujades després del canvi.

3. Utilitzeu IAMMETER-Docker com a servidor de monitorització d'energia MQTT

IAMMETER-Docker inclou suport MQTT en dues direccions diferents:

  1. Publicar cap a IAMMETER-Docker: un comptador o una aplicació compatible envia mesures al servidor Docker.
  2. Subscriure's des d'IAMMETER-Docker: Node-RED, un servei personalitzat o un altre client MQTT rep mesures en temps real del servidor.

Aquestes vies utilitzen el mateix patró de tema, però modes d'autenticació diferents.

3.1 Tema MQTT

El tema documentat en temps real és:

device/<SN>/realtime

Substituïu <SN> pel número de sèrie registrat a IAMMETER-Docker. El SN del tema MQTT i la configuració del client ha de coincidir amb el comptador creat a la plataforma local.

3.2 Publiqueu dades d'energia a IAMMETER-Docker

Per a un dispositiu o una aplicació que publica:

Paràmetre Valor
Broker Adreça IP o nom d'amfitrió del servidor IAMMETER-Docker
Port 1883 per defecte
Autenticació ID de client
ID de client SN del comptador registrat a IAMMETER-Docker
Tema device/<SN>/realtime
Càrrega útil Format de dades de pujada compatible amb IAMMETER

Publiqueu dades d'energia a IAMMETER-Docker mitjançant MQTT

Abans d'utilitzar dades de producció:

  1. registreu el SN a IAMMETER-Docker;
  2. publiqueu una càrrega útil de prova;
  3. verifiqueu els camps de tensió, corrent, potència i energia;
  4. confirmeu el nombre de fases o canals;
  5. verifiqueu les unitats i la direcció de la potència activa;
  6. només aleshores activeu la publicació contínua.

3.3 Subscriviu-vos a les dades d'energia en temps real

Per a un subscriptor MQTT:

Paràmetre Valor
Broker Adreça del servidor IAMMETER-Docker
Port 1883 per defecte
Autenticació Nom d'usuari i contrasenya d'IAMMETER-Docker
Tema device/<SN>/realtime

Subscriviu-vos a les dades en temps real d'IAMMETER-Docker

Els subscriptors habituals inclouen:

  • fluxos d'automatització de Node-RED;
  • un servei local de processament de dades;
  • un client de depuració MQTT;
  • una passarel·la que reenvia mesures seleccionades;
  • un tauler personalitzat o un servei d'alertes.

Si Node-RED és l'aplicació principal i no es requereix emmagatzematge històric a IAMMETER-Docker, el comptador també es pot connectar directament a Node-RED mitjançant MQTT, Modbus TCP o la seva API local. Compareu les opcions a la guia del comptador d'energia Node-RED.

4. Proveu i resoleu problemes de MQTT

Comenceu amb un sol comptador i un tema exacte en lloc d'una subscripció de comodí ampla.

Comproveu el següent quan no apareguin dades:

  • el port 1883 està assignat des del contenidor;
  • el client pot arribar a l'amfitrió Docker a través de la LAN;
  • el SN existeix a IAMMETER-Docker;
  • l'ID de client MQTT i el tema utilitzen el mateix SN;
  • el tema és device/<SN>/realtime amb les majúscules esperades;
  • els modes d'autenticació de publicació i subscripció no es confonen;
  • la càrrega útil JSON coincideix amb l'ordre i les unitats de camps admesos;
  • un altre client MQTT no desconnecta la sessió reutilitzant el mateix ID de client.

Per a fluxos fiables:

  • utilitzeu un ID de client únic per a cada subscriptor;
  • gestioneu les reconnexions i els missatges duplicats;
  • valideu la càrrega útil abans d'escriure-la a una base de dades;
  • registreu el SN d'origen amb cada mesura emmagatzemada;
  • utilitzeu l'aïllament de xarxa en lloc d'exposar públicament el port MQTT sense xifrar.

5. Reenvieu dades solars a PVOutput

PVOutput és un servei de tercers per compartir i comparar dades de generació solar i de consum d'energia. IAMMETER-Docker pot reenviar dades del lloc a PVOutput.

Utilitzeu aquesta opció quan IAMMETER-Docker continuï sent el servidor local de recollida, però es requereixi PVOutput per a la informació solar pública o externa.

Abans d'activar el reenviament:

  1. creeu o seleccioneu el sistema PVOutput correcte;
  2. obteniu les credencials PVOutput necessàries;
  3. confirmeu que els canals de Xarxa (Grid) i Inversor s'assignen correctament a IAMMETER-Docker;
  4. comproveu la zona horària del lloc;
  5. activeu el reenviament només per al lloc previst;
  6. compareu un total diari en tots dos sistemes després del primer dia complet.

Reenvieu dades solars d'IAMMETER-Docker a PVOutput

El reenviament a PVOutput requereix accés a Internet des de l'amfitrió Docker. És independent de la monitorització local: una fallada temporal de connexió a PVOutput no hauria d'impedir que el comptador continuï pujant dades al servidor local.

6. Rebre dades d'un dispositiu Tasmota compatible

IAMMETER-Docker inclou un flux de treball MQTT documentat per a un dispositiu amb capacitat de mesura que executa Tasmota. L'exemple original utilitzava un Sonoff POW R2.

Aquesta és una via de compatibilitat per a càrregues útils d'energia admeses, no una afirmació que tots els dispositius o plantilles Tasmota produeixin la mateixa estructura de mesura. Proveu el dispositiu i el microprogramari reals abans del desplegament.

Utilitzeu l'estructura MQTT Tasmota següent:

Paràmetre Valor
Amfitrió Adreça IP d'IAMMETER-Docker
Port Port MQTT d'IAMMETER-Docker, normalment 1883
Client SN registrat a IAMMETER-Docker
Usuari Deixeu-lo en blanc per a aquest flux de publicació documentat
Contrasenya Deixeu-la en blanc per a aquest flux de publicació documentat
Tema SN registrat a IAMMETER-Docker
Tema complet device/%topic%/%prefix%/

Configureu un comptador Tasmota compatible per a IAMMETER-Docker

Després de la configuració, verifiqueu cada valor notificat a IAMMETER-Docker, incloent-hi la tensió, el corrent, la potència activa, l'energia i el factor de potència quan el dispositiu les admeti.

Dades elèctriques Tasmota a IAMMETER-Docker

7. Utilitzeu l'API REST d'IAMMETER-Docker

IAMMETER-Docker exposa documentació interactiva de l'API al servidor local:

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

L'API REST es pot utilitzar per:

  • pujar mesures admeses des d'una passarel·la personalitzada;
  • consultar dades per a un tauler privat;
  • connectar una aplicació local al servidor amb autohostatge;
  • provar càrregues útils abans d'automatitzar una integració.

Mantingueu l'accés a l'API en una xarxa de confiança. Si un sistema extern s'ha de connectar de manera remota, col·loqueu el servei darrere d'una capa d'accés segura adequada en lloc d'exposar el port de l'aplicació sense protecció.

Per als desenvolupadors que construeixen un receptor complet o una plataforma personalitzada en lloc d'utilitzar IAMMETER-Docker, consulteu Desenvolupeu el vostre propi sistema de monitorització d'energia.

8. Combineu l'emmagatzematge local i els serveis al núvol

L'autohostatge no ha de significar que cada servei extern estigui desactivat. IAMMETER-Docker pot ser el sistema local de registre mentre les dades seleccionades es reenvien a altres llocs.

Arquitectura Dades locals Dependència d'Internet Ideal per a
Només local IAMMETER-Docker No requereix després del desplegament Privadesa, llocs sense connexió i taulers LAN
Local + IAMMETER-Cloud IAMMETER-Docker i IAMMETER-Cloud Requereix per al reenviament Còpia local més informes d'IAMMETER-Cloud i accés remot
Local + PVOutput IAMMETER-Docker i PVOutput Requereix per al reenviament Usuaris solars que utilitzen PVOutput
Local + subscriptor MQTT IAMMETER-Docker més emmagatzematge definit pel subscriptor No requereix amb un subscriptor local Node-RED, automatització i processament personalitzat

Activeu només les destinacions que serveixen per a un propòsit clar. Més destinacions creen més credencials, dependències de xarxa i vies de resolució de problemes.

9. Llista de verificació del desplegament avançat

  • La recollida bàsica d'IAMMETER-Docker ja és estable.
  • Les dades persistents i les còpies de seguretat de la base de dades estan verificades.
  • MySQL s'utilitza només quan la seva sobrecàrrega operativa està justificada.
  • El port MQTT 1883 només és accessible des de xarxes de confiança.
  • Cada client MQTT utilitza un ID de client adequat i únic.
  • El SN del comptador, el tema i el dispositiu registrat coincideixen.
  • Les unitats de la càrrega útil, el nombre de fases i la direcció de la potència s'han provat.
  • Les fallades de reenviament a PVOutput o al núvol no interrompen la recollida local.
  • La compatibilitat amb Tasmota s'ha confirmat amb el dispositiu i el microprogramari reals.
  • Els canvis es proven en un comptador abans d'aplicar-los a un desplegament més gran.

10. Historial de versions i notes de versions anteriors

Les seccions anteriors descriuen els fluxos de treball d'IAMMETER-Docker actualment documentats. La pàgina original es va escriure al voltant de V1.8 i V1.9; l'historial següent es conserva per als usuaris que mantenen instal·lacions antigues.

V2.4

V2.3

  • S'ha corregit un problema de pujada a PVOutput.

V2.2

  • S'han afegit registres per a les fallades de reenviament a IAMMETER-Cloud.

V2.1

V1.9

  • S'ha afegit suport per a MySQL.
  • S'ha afegit una opció d'imatge personalitzada per a cada Lloc.

IAMMETER-Docker V1.9

V1.8

  • S'ha afegit la pujada MQTT a IAMMETER-Docker.
  • S'ha afegit la subscripció MQTT a les dades en temps real.
  • S'ha afegit el reenviament directe a PVOutput.
  • S'ha afegit el flux de treball de mesura Tasmota/Sonoff documentat.

11. Recursos relacionats

Última actualització: 17 de juliol de 2026.

Amunt