Beklager, nettleseren din støtter ikke JavaScript!
Logg inn

Docker MQTT-energiovervåking: Avansert IAMMETER-Docker-oppsett

Docker MQTT-energiovervåking og avansert konfigurasjon

Etter at den grunnleggende IAMMETER-Docker-serveren kjører, kan den utvides til en lokal MQTT-energiovervåkingsserver, bruke MySQL for større datasett, videresende solcelledata til PVOutput og motta kompatible tredjepartsmålinger.

Denne veiledningen dekker avanserte datastier og lagringsalternativer. For installasjon, vedvarende volumer, første pålogging, måleroppsett, sikkerhetskopiering og container-oppgraderinger, start med Selv-hostet energiovervåking med Docker.

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

Bruk bare grensesnittene som prosjektet krever. En enkel lokal overvåkingsinstallasjon trenger verken MySQL, eksterne MQTT-klienter eller datavideresending.

1. Før du aktiverer avanserte funksjoner

Bekreft at grunninstallasjonen er stabil:

  • IAMMETER-Docker-containeren kjører;
  • /app/data er koblet til vedvarende lagring;
  • Docker-verten bruker en stabil LAN-adresse;
  • tidszonen på nettstedet er riktig;
  • minst én måler eller én testdatakilde fungerer;
  • standardpassordene er endret;
  • det finnes en oppdatert sikkerhetskopi.

Standard-distribusjonen eksponerer:

  • 5050 for webapplikasjonen og API-et;
  • 1883 for MQTT.

Ikke eksponer noen av portene direkte mot Internett. Bruk en brannmur, VPN eller et annet kontrollert tilgangslag når ekstern tilgang er nødvendig.

2. Velg SQLite eller MySQL

IAMMETER-Docker bruker SQLite for en enkel standard-distribusjon og støtter MySQL for installasjoner med større datasett.

Database Best for Fordeler Hensyn
SQLite Hjem, testing og mindre lokale distribusjoner Ingen separat databasetjeneste; enkelt førsteoppsett Databasen forblir knyttet til applikasjonsvolumet
MySQL Større eller lengre kjørende installasjoner Separat databasetjeneste og bedre egnet for voksende datasett Krever database-distribusjon, legitimasjon, sikkerhetskopiering og vedlikehold

Ikke bytt til MySQL bare fordi det er tilgjengelig. Bruk det når forventet datavolum, lagringsperiode eller krav til databaseadministrasjon rettferdiggjør en ekstra tjeneste.

2.1 Forbered MySQL først

Før du velger MySQL i IAMMETER-Docker:

  1. distribuér en tilgjengelig MySQL-server;
  2. opprett en dedikert database og bruker;
  3. begrens brukeren til den nødvendige databasen;
  4. bekreft nettverkstilgang fra IAMMETER-Docker-containeren;
  5. konfigurér regelmessige databasesikkerhetskopier;
  6. notér database-verten, porten, navnet og legitimasjonen på en trygg måte.

Deretter angir du MySQL-tilkoblingsinnstillingene i IAMMETER-Docker og bekrefter at nye målinger lagres.

Konfigurér MySQL i IAMMETER-Docker

Sikkerhetskopier de eksisterende IAMMETER-Docker-dataene før du bytter databasemodus. Verifiser historiske data og nye opplastinger etter byttet.

3. Bruk IAMMETER-Docker som MQTT-energiovervåkingsserver

IAMMETER-Docker inkluderer MQTT-støtte i to forskjellige retninger:

  1. Publiser til IAMMETER-Docker: en måler eller kompatibel applikasjon sender målinger til Docker-serveren.
  2. Abonner fra IAMMETER-Docker: Node-RED, en egendefinert tjeneste eller en annen MQTT-klient mottar sanntidsmålinger fra serveren.

Disse stiene bruker samme emnemønster, men forskjellige autentiseringsmoduser.

3.1 MQTT-emne

Det dokumenterte sanntidsemnet er:

device/<SN>/realtime

Erstatt <SN> med serienummeret som er registrert i IAMMETER-Docker. SN-en i MQTT-emnet og klientkonfigurasjonen må samsvare med måleren som er opprettet i den lokale plattformen.

3.2 Publiser energidata til IAMMETER-Docker

For en publiserende enhet eller applikasjon:

Innstilling Verdi
Broker IP-adresse eller vertsnavn for IAMMETER-Docker-serveren
Port 1883 som standard
Autentisering Klient-ID
Klient-ID Målerens SN registrert i IAMMETER-Docker
Emne device/<SN>/realtime
Payload IAMMETER-støttet opplastingsdataformat

Publiser energidata til IAMMETER-Docker via MQTT

Før du bruker produksjonsdata:

  1. registrér SN-en i IAMMETER-Docker;
  2. publisér én test-payload;
  3. verifisér spenning, strøm, effekt og energifeltene;
  4. bekreft antall faser eller kanaler;
  5. verifisér enheter og retningen til aktiv effekt;
  6. først deretter aktiverer du kontinuerlig publisering.

3.3 Abonner på sanntids energidata

For en MQTT-abonnent:

Innstilling Verdi
Broker Adressen til IAMMETER-Docker-serveren
Port 1883 som standard
Autentisering Brukernavn og passord for IAMMETER-Docker
Emne device/<SN>/realtime

Abonner på sanntidsdata fra IAMMETER-Docker

Typiske abonnenter inkluderer:

  • Node-RED-automatiseringsflyter;
  • en lokal databehandlingstjeneste;
  • en MQTT-feilsøkingsklient;
  • en gateway som videresender utvalgte målinger;
  • et egendefinert dashbord eller en varslingstjeneste.

Hvis Node-RED er hovedapplikasjonen og historisk lagring i IAMMETER-Docker ikke er nødvendig, kan måleren også kobles direkte til Node-RED via MQTT, Modbus TCP eller sitt lokale API. Sammenlign alternativene i Node-RED energimåler-veiledningen.

4. Test og feilsøk MQTT

Start med én enkelt måler og et eksakt emne, i stedet for et bredt wildcard-abonnement.

Sjekk følgende når ingen data vises:

  • port 1883 er kartlagt fra containeren;
  • klienten kan nå Docker-verten over LAN-et;
  • SN-en finnes i IAMMETER-Docker;
  • MQTT-klient-ID-en og emnet bruker samme SN;
  • emnet er device/<SN>/realtime med forventet bruk av store og små bokstaver;
  • publiserings- og abonnementsautentiseringsmodusene blandes ikke sammen;
  • JSON-payloaden samsvarer med støttet feltrekkefølge og enheter;
  • en annen MQTT-klient kobler ikke fra økten ved å gjenbruke samme klient-ID.

For pålitelige flyter:

  • bruk en unik klient-ID for hver abonnent;
  • håndter gjenkoblinger og dupliserte meldinger;
  • valider payloaden før du skriver den til en database;
  • notér kilde-SN-en med hver lagrede måling;
  • bruk nettverksisolasjon i stedet for å eksponere den ukrypterte MQTT-porten offentlig.

5. Videresend solcelledata til PVOutput

PVOutput er en tredjepartstjeneste for å dele og sammenligne solcelleproduksjon og energiforbruksdata. IAMMETER-Docker kan videresende nettstedsdata til PVOutput.

Bruk dette alternativet når IAMMETER-Docker forblir den lokale innsamlingsserveren, men PVOutput kreves for offentlig eller ekstern solcellerapportering.

Før du aktiverer videresending:

  1. opprett eller velg riktig PVOutput-system;
  2. skaff nødvendig PVOutput-legitimasjon;
  3. bekreft at Grid- og Inverter-kanalene er riktig tilordnet i IAMMETER-Docker;
  4. sjekk tidszonen på nettstedet;
  5. aktiver videresending bare for det tiltenkte nettstedet;
  6. sammenlign en døgntotal i begge systemene etter den første hele dagen.

Videresend solcelledata fra IAMMETER-Docker til PVOutput

PVOutput-videresending krever Internett-tilgang fra Docker-verten. Den er atskilt fra lokal overvåking: en midlertidig PVOutput-tilkoblingsfeil skal ikke hindre måleren i å fortsette å laste opp til den lokale serveren.

6. Motta data fra en kompatibel Tasmota-enhet

IAMMETER-Docker inkluderer en dokumentert MQTT-arbeidsflyt for en målekapabel enhet som kjører Tasmota. Det opprinnelige eksemplet brukte en Sonoff POW R2.

Dette er en kompatibilitetssti for støttede energipayloads, ikke en påstand om at alle Tasmota-enheter eller -maler produserer samme målestruktur. Test selve enheten og fastvaren før distribusjon.

Bruk følgende Tasmota-MQTT-struktur:

Innstilling Verdi
Vert IP-adressen til IAMMETER-Docker
Port IAMMETER-Docker MQTT-port, vanligvis 1883
Klient SN registrert i IAMMETER-Docker
Bruker La stå tom for denne dokumenterte publiseringsarbeidsflyten
Passord La stå tom for denne dokumenterte publiseringsarbeidsflyten
Emne SN registrert i IAMMETER-Docker
Fullt emne device/%topic%/%prefix%/

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

Etter konfigurasjonen verifiserer du hver rapporterte verdi i IAMMETER-Docker, inkludert spenning, strøm, aktiv effekt, energi og effektfaktor når enheten støtter det.

Tasmota-strømdata i IAMMETER-Docker

7. Bruk IAMMETER-Docker REST API-et

IAMMETER-Docker eksponerer interaktiv API-dokumentasjon på den lokale serveren:

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

REST API-et kan brukes til å:

  • laste opp støttede målinger fra en egendefinert gateway;
  • hente data for et privat dashbord;
  • koble en lokal applikasjon til den selv-hostede serveren;
  • teste payloads før du automatiserer en integrasjon.

Hold API-tilgangen på et pålitelig nettverk. Hvis et eksternt system må koble til på avstand, plasser tjenesten bak et passende sikkert tilgangslag i stedet for å eksponere applikasjonsporten uten beskyttelse.

For utviklere som bygger en komplett mottaker eller en egendefinert plattform i stedet for å bruke IAMMETER-Docker, se Utvikle ditt eget energiovervåkingssystem.

8. Kombinér lokal lagring og skytjenester

Selv-hosting betyr ikke at alle eksterne tjenester må deaktiveres. IAMMETER-Docker kan være det lokale systemet for registrerte data, mens utvalgte data videresendes andre steder.

Arkitektur Lokale data Internett-avhengighet Best for
Kun lokal IAMMETER-Docker Ikke nødvendig etter distribusjon Personvern, offline-nettsteder og LAN-dashboards
Lokal + IAMMETER-Cloud IAMMETER-Docker og IAMMETER-Cloud Nødvendig for videresending Lokal kopi pluss IAMMETER-Cloud-rapporter og ekstern tilgang
Lokal + PVOutput IAMMETER-Docker og PVOutput Nødvendig for videresending Solcellebrukere som bruker PVOutput
Lokal + MQTT-abonnent IAMMETER-Docker pluss abonnentdefinert lagring Ikke nødvendig med en lokal abonnent Node-RED, automasjon og egendefinert behandling

Aktiver bare destinasjonene som tjener et klart formål. Flere destinasjoner skaper flere legitimasjoner, nettverksavhengigheter og feilsøkingsstier.

9. Sjekkliste for avansert distribusjon

  • Grunnleggende IAMMETER-Docker-innsamling er allerede stabil.
  • Vedvarende data og databasesikkerhetskopier er verifisert.
  • MySQL brukes bare når dens driftskostnader er berettiget.
  • MQTT-port 1883 er bare tilgjengelig fra pålitelige nettverk.
  • Hver MQTT-klient bruker en passende og unik klient-ID.
  • Målerens SN, emne og registrerte enhet samsvarer.
  • Payload-enheter, faseantall og effektretning er testet.
  • PVOutput- eller skyvideresendingsfeil avbryter ikke lokal innsamling.
  • Tasmota-kompatibilitet er bekreftet med selve enheten og fastvaren.
  • Endringer er testet på én måler før de brukes på en større distribusjon.

10. Versjonshistorikk og eldre notater

Avsnittene ovenfor beskriver de for tiden dokumenterte IAMMETER-Docker-arbeidsflytene. Den opprinnelige siden ble skrevet rundt V1.8 og V1.9; følgende historikk beholdes for brukere som vedlikeholder eldre installasjoner.

V2.4

V2.3

  • Fikset et PVOutput-opplastingsproblem.

V2.2

  • La til logger for IAMMETER-Cloud-videresendingsfeil.

V2.1

V1.9

  • La til MySQL-støtte.
  • La til et egendefinert bildealternativ for hvert Place.

IAMMETER-Docker V1.9

V1.8

  • La til MQTT-opplasting til IAMMETER-Docker.
  • La til MQTT-abonnement på sanntidsdata.
  • La til direkte PVOutput-videresending.
  • La til den dokumenterte Tasmota/Sonoff-målearbeidsflyten.

11. Relaterte ressurser

Sist oppdatert: 17. juli 2026.

Topp