Beklager, din browser understøtter ikke JavaScript!
Log ind

Docker MQTT-energiovervågning: Avanceret IAMMETER-Docker-opsætning

Docker MQTT-energiovervågning og avanceret konfiguration

Når den grundlæggende IAMMETER-Docker-server kører, kan den udvides til en lokal MQTT-energiovervågningsserver, bruge MySQL til et større datasæt, videresende solcelledata til PVOutput og modtage kompatible tredjepartsmålinger.

Denne vejledning dækker avancerede datastier og lagringsmuligheder. For installation, vedvarende volumener, første login, måleropsætning, sikkerhedskopi og containeropgraderinger skal du starte med Selvhostet energiovervågning med Docker.

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

Brug kun de grænseflader, som projektet kræver. En simpel lokal overvågningsinstallation har ikke brug for MySQL, eksterne MQTT-klienter eller videresendelse af data.

1. Før du aktiverer avancerede funktioner

Bekræft, at den grundlæggende installation er stabil:

  • IAMMETER-Docker-containeren kører;
  • /app/data er tilknyttet vedvarende lagring;
  • Docker-værten bruger en stabil LAN-adresse;
  • anlæggets tidszone er korrekt;
  • mindst én måler eller test-datakilde fungerer;
  • standardadgangskoderne er ændret;
  • der findes en aktuel sikkerhedskopi.

Standardimplementeringen udstiller:

  • 5050 til webapplikationen og API'et;
  • 1883 til MQTT.

Udgiv ingen af de to porte direkte til internettet. Brug en firewall, VPN eller et andet kontrolleret adgangslag, når fjernadgang er nødvendig.

2. Vælg SQLite eller MySQL

IAMMETER-Docker bruger SQLite til en simpel standardimplementering og understøtter MySQL til installationer med et større datasæt.

Database Bedst til Fordele Overvejelser
SQLite Hjem, test og mindre lokale implementeringer Ingen separat databasetjeneste; nem indledende opsætning Databasen forbliver knyttet til applikationsvolumenet
MySQL Større eller længerevarende installationer Separat databasetjeneste og bedre egnet til voksende datasæt Kræver databaseimplementering, legitimationsoplysninger, sikkerhedskopi og vedligeholdelse

Skift ikke til MySQL, blot fordi det er tilgængeligt. Brug det, når den forventede datamængde, opbevaringsperioden eller kravene til databaseadministration berettiger en ekstra tjeneste.

2.1 Forbered MySQL først

Før du vælger MySQL i IAMMETER-Docker:

  1. udrul en tilgængelig MySQL-server;
  2. opret en dedikeret database og bruger;
  3. begræns brugeren til den nødvendige database;
  4. bekræft netværksadgang fra IAMMETER-Docker-containeren;
  5. konfigurér regelmæssige databasesikkerhedskopier;
  6. notér databaseværten, porten, navnet og legitimationsoplysningerne sikkert.

Indtast derefter MySQL-forbindelsesindstillingerne i IAMMETER-Docker, og bekræft, at nye målinger bliver gemt.

Konfigurér MySQL i IAMMETER-Docker

Tag sikkerhedskopi af de eksisterende IAMMETER-Docker-data, før du ændrer databasetilstand. Verificér historiske data og nye uploads efter ændringen.

3. Brug IAMMETER-Docker som en MQTT-energiovervågningsserver

IAMMETER-Docker inkluderer MQTT-support i to forskellige retninger:

  1. Udgiv til IAMMETER-Docker: en måler eller kompatibel applikation sender målinger til Docker-serveren.
  2. Abonnér fra IAMMETER-Docker: Node-RED, en brugerdefineret tjeneste eller en anden MQTT-klient modtager realtidsmålinger fra serveren.

Disse stier bruger samme topic-mønster, men forskellige autentificeringsmåder.

3.1 MQTT-topic

Det dokumenterede realtids-topic er:

device/<SN>/realtime

Erstat <SN> med det serienummer, der er registreret i IAMMETER-Docker. SN'et i MQTT-topic'et og klientkonfigurationen skal matche den måler, der er oprettet i den lokale platform.

3.2 Udgiv energidata til IAMMETER-Docker

For en udgivelsesenhed eller -applikation:

Indstilling Værdi
Broker IP-adresse eller værtsnavn på IAMMETER-Docker-serveren
Port 1883 som standard
Authentication Klient-id
Client ID Måler-SN registreret i IAMMETER-Docker
Topic device/<SN>/realtime
Payload IAMMETER-understøttet upload-dataformat

Udgiv energidata til IAMMETER-Docker via MQTT

Før du bruger produktionsdata:

  1. registrér SN'et i IAMMETER-Docker;
  2. udgiv én test-payload;
  3. verificér spændings-, strøm-, effekt- og energifelterne;
  4. bekræft fase- eller kanalantallet;
  5. verificér enheder og retningen for aktiv effekt;
  6. aktiver først derefter kontinuerlig udgivelse.

3.3 Abonnér på realtids-energidata

For en MQTT-abonnent:

Indstilling Værdi
Broker IAMMETER-Docker-serveradresse
Port 1883 som standard
Authentication IAMMETER-Docker-brugernavn og -adgangskode
Topic device/<SN>/realtime

Abonnér på IAMMETER-Docker-realtidsdata

Typiske abonnenter omfatter:

  • Node-RED-automatiseringsflows;
  • en lokal databehandlingstjeneste;
  • en MQTT-fejlsøgningsklient;
  • en gateway, der videresender udvalgte målinger;
  • et brugerdefineret dashboard eller en alarmeringstjeneste.

Hvis Node-RED er den primære applikation, og historisk lagring i IAMMETER-Docker ikke er nødvendig, kan måleren også oprette forbindelse til Node-RED direkte via MQTT, Modbus TCP eller dens lokale API. Sammenlign mulighederne i Node-RED-energimålervejledningen.

4. Test og fejlsøg MQTT

Start med en enkelt måler og et præcist topic frem for et bredt jokertegn-abonnement.

Kontrollér følgende, når der ikke vises data:

  • port 1883 er tilknyttet fra containeren;
  • klienten kan nå Docker-værten over LAN'et;
  • SN'et findes i IAMMETER-Docker;
  • MQTT-klient-id'et og topic'et bruger samme SN;
  • topic'et er device/<SN>/realtime med den forventede kapitalisering;
  • udgivelses- og abonnements-autentificeringsmåderne forveksles ikke;
  • JSON-payload'et matcher den understøttede feltrækkefølge og enhederne;
  • en anden MQTT-klient afbryder ikke sessionen ved at genbruge samme klient-id.

For pålidelige dataflows:

  • brug et unikt klient-id for hver abonnent;
  • håndter genforbindelser og dubletbeskeder;
  • valider payload'et, før du skriver det til en database;
  • registrér kilde-SN'et for hver gemte måling;
  • brug netværksisolering i stedet for offentligt at udsætte den ukrypterede MQTT-port.

5. Videresend solcelledata til PVOutput

PVOutput er en tredjepartstjeneste til at dele og sammenligne solcelleproduktions- og energiforbrugsdata. IAMMETER-Docker kan videresende anlægsdata til PVOutput.

Brug denne mulighed, når IAMMETER-Docker forbliver den lokale indsamlingsserver, men PVOutput er nødvendig for offentlig eller ekstern solcelle-rapportering.

Før du aktiverer videresendelse:

  1. opret eller vælg det korrekte PVOutput-system;
  2. hent de nødvendige PVOutput-legitimationsoplysninger;
  3. bekræft, at Grid- og Inverter-kanaler er tildelt korrekt i IAMMETER-Docker;
  4. kontrollér anlæggets tidszone;
  5. aktivér kun videresendelse for det pågældende anlæg;
  6. sammenlign en daglig total i begge systemer efter den første hele dag.

Videresend IAMMETER-Docker-solcelledata til PVOutput

PVOutput-videresendelse kræver internetadgang fra Docker-værten. Den er adskilt fra lokal overvågning: en midlertidig PVOutput-forbindelsesfejl bør ikke forhindre måleren i at fortsætte med at uploade til den lokale server.

6. Modtag data fra en kompatibel Tasmota-enhed

IAMMETER-Docker inkluderer en dokumenteret MQTT-workflow for en måleegnet enhed, der kører Tasmota. Det oprindelige eksempel brugte en Sonoff POW R2.

Dette er en kompatibilitetssti for understøttede energipayloads, ikke en påstand om, at enhver Tasmota-enhed eller -skabelon producerer samme målingsstruktur. Test den faktiske enhed og firmware før implementering.

Brug følgende Tasmota-MQTT-struktur:

Indstilling Værdi
Host IAMMETER-Docker IP-adresse
Port IAMMETER-Docker MQTT-port, normalt 1883
Client SN registreret i IAMMETER-Docker
User Lad være tom for denne dokumenterede udgivelsesworkflow
Password Lad være tom for denne dokumenterede udgivelsesworkflow
Topic SN registreret i IAMMETER-Docker
Full Topic device/%topic%/%prefix%/

Konfigurér en kompatibel Tasmota-måler til IAMMETER-Docker

Efter konfiguration skal du verificere hver rapporteret værdi i IAMMETER-Docker, herunder spænding, strøm, aktiv effekt, energi og effektfaktor, når det understøttes af enheden.

Tasmota-elektricitetsdata i IAMMETER-Docker

7. Brug IAMMETER-Docker REST API

IAMMETER-Docker udstiller interaktiv API-dokumentation på den lokale server:

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

REST API'et kan bruges til at:

  • uploade understøttede målinger fra en brugerdefineret gateway;
  • forespørge data til et privat dashboard;
  • forbinde en lokal applikation til den selvhostede server;
  • teste payloads, før du automatiserer en integration.

Hold API-adgang på et pålideligt netværk. Hvis et eksternt system skal oprette fjernforbindelse, skal du placere tjenesten bag et passende sikkert adgangslag i stedet for at udsætte applikationsporten uden beskyttelse.

For udviklere, der bygger en komplet modtager eller brugerdefineret platform i stedet for at bruge IAMMETER-Docker, se Udvikl dit eget energiovervågningssystem.

8. Kombinér lokal lagring og cloud-tjenester

Selvhosting behøver ikke at betyde, at alle eksterne tjenester er deaktiveret. IAMMETER-Docker kan være det lokale primærsystem, mens udvalgte data videresendes til andre tjenester.

Arkitektur Lokale data Internetafhængighed Bedst til
Kun lokalt IAMMETER-Docker Ikke påkrævet efter implementering Privatliv, offline-anlæg og LAN-dashboards
Lokalt + IAMMETER-Cloud IAMMETER-Docker og IAMMETER-Cloud Påkrævet til videresendelse Lokal kopi plus IAMMETER-Cloud-rapporter og fjernadgang
Lokalt + PVOutput IAMMETER-Docker og PVOutput Påkrævet til videresendelse Solcellebrugere, der bruger PVOutput
Lokalt + MQTT-abonnent IAMMETER-Docker plus abonnentdefineret lagring Ikke påkrævet med en lokal abonnent Node-RED, automatisering og brugerdefineret behandling

Aktivér kun de destinationer, der tjener et klart formål. Flere destinationer skaber flere legitimationsoplysninger, netværksafhængigheder og fejlsøgningsveje.

9. Avanceret implementerings-tjekliste

  • Grundlæggende IAMMETER-Docker-indsamling er allerede stabil.
  • Vedvarende data og databasesikkerhedskopier er verificeret.
  • MySQL bruges kun, når dens driftsmæssige overhead er berettiget.
  • MQTT-port 1883 kan kun nås fra pålidelige netværk.
  • Hver MQTT-klient bruger et passende og unikt klient-id.
  • Måler-SN, topic og registreret enhed stemmer overens.
  • Payload-enheder, faseantal og effektretning er testet.
  • PVOutput- eller cloud-videresendelsesfejl afbryder ikke lokal indsamling.
  • Tasmota-kompatibilitet er bekræftet med den faktiske enhed og firmware.
  • Ændringer testes på én måler, før de anvendes på en større implementering.

10. Versionshistorik og ældre noter

Afsnittene ovenfor beskriver de aktuelt dokumenterede IAMMETER-Docker-workflows. Den oprindelige side blev skrevet omkring V1.8 og V1.9; følgende historik er bevaret for brugere, der vedligeholder ældre installationer.

V2.4

V2.3

  • Rettet et problem med PVOutput-upload.

V2.2

  • Tilføjet logfiler for IAMMETER-Cloud-videresendelsesfejl.

V2.1

V1.9

  • Tilføjet MySQL-support.
  • Tilføjet mulighed for tilpasset billede for hver Place.

IAMMETER-Docker V1.9

V1.8

  • Tilføjet MQTT-upload til IAMMETER-Docker.
  • Tilføjet MQTT-abonnement på realtidsdata.
  • Tilføjet direkte PVOutput-videresendelse.
  • Tilføjet den dokumenterede Tasmota/Sonoff-måleworkflow.

11. Relaterede ressourcer

Sidst opdateret: 17. juli 2026.

Top