Tyvärr stöder din webbläsare inte JavaScript!
Logga in

Docker MQTT-energiövervakning: Avancerad IAMMETER-Docker-konfiguration

Docker MQTT-energiövervakning och avancerad konfiguration

När IAMMETER-Docker-servern på grundnivå är igång kan den utökas till en lokal MQTT-energiövervakningsserver, använda MySQL för en större datamängd, vidarebefordra solenergidata till PVOutput och ta emot kompatibla tredjepartsmätningar.

Den här guiden täcker avancerade datavägar och lagringsalternativ. För installation, beständiga volymer, första inloggning, mätarkonfiguration, säkerhetskopiering och containeruppgraderingar, börja med Egen energiövervakning med Docker.

IAMMETER-mätare / kompatibel enhet / anpassad applikation
                         │
             ┌───────────┼───────────┐
             │           │           │
            HTTP        MQTT       REST API
             │           │           │
             └───────────┼───────────┘
                         ▼
                  IAMMETER-Docker
                         │
       ┌─────────────────┼─────────────────┐
       ▼                 ▼                 ▼
 SQLite / MySQL     MQTT-prenumeranter     PVOutput

Använd endast de gränssnitt som projektet kräver. En enkel lokal övervakningsinstallation behöver inte MySQL, externa MQTT-klienter eller dataöverföring.

1. Innan du aktiverar avancerade funktioner

Bekräfta att grundinstallationen är stabil:

  • IAMMETER-Docker-containern körs;
  • /app/data mappas till beständig lagring;
  • Docker-värden använder en stabil LAN-adress;
  • platsens tidszon är korrekt;
  • minst en mätare eller testdatakälla fungerar;
  • standardlösenord har ändrats;
  • en aktuell säkerhetskopia finns.

Standarddistributionen exponerar:

  • 5050 för webbapplikationen och API:et;
  • 1883 för MQTT.

Publicera inte någon av dessa portar direkt till internet. Använd en brandvägg, VPN eller ett annat kontrollerat åtkomstlager när fjärråtkomst är nödvändig.

2. Välj SQLite eller MySQL

IAMMETER-Docker använder SQLite för en enkel standarddistribution och stödjer MySQL för installationer med en större datamängd.

Databas Bäst för Fördelar Överväganden
SQLite Hem, test och mindre lokala distributioner Ingen separat databastjänst; enkel initial konfiguration Databasen förblir knuten till applikationsvolymen
MySQL Större eller längre körande installationer Separat databastjänst och bättre lämplighet för växande datamängder Kräver databasdistribution, autentiseringsuppgifter, säkerhetskopiering och underhåll

Flytta inte till MySQL bara för att det finns tillgängligt. Använd det när den förväntade datavolymen, kvarhållningsperioden eller databasunderhållskraven motiverar en ytterligare tjänst.

2.1 Förbered MySQL först

Innan du väljer MySQL i IAMMETER-Docker:

  1. distribuera en nåbar MySQL-server;
  2. skapa en dedikerad databas och användare;
  3. begränsa den användaren till den aktuella databasen;
  4. bekräfta nätverksåtkomst från IAMMETER-Docker-containern;
  5. konfigurera regelbundna databassäkerhetskopior;
  6. anteckna databasens värd, port, namn och autentiseringsuppgifter säkert.

Ange sedan MySQL-anslutningsinställningarna i IAMMETER-Docker och bekräfta att nya mätningar lagras.

Konfigurera MySQL i IAMMETER-Docker

Säkerhetskopiera befintliga IAMMETER-Docker-data innan du ändrar databasläget. Verifiera historiska data och nya uppladdningar efter ändringen.

3. Använd IAMMETER-Docker som MQTT-energiövervakningsserver

IAMMETER-Docker innehåller MQTT-stöd för två olika riktningar:

  1. Publicera till IAMMETER-Docker: en mätare eller kompatibel applikation skickar mätningar till Docker-servern.
  2. Prenumerera från IAMMETER-Docker: Node-RED, en anpassad tjänst eller en annan MQTT-klient tar emot realtidsmätningar från servern.

Dessa vägar använder samma ämnesmönster men olika autentiseringslägen.

3.1 MQTT-ämne

Det dokumenterade realtidsämnet är:

device/<SN>/realtime

Ersätt <SN> med det serienummer som registrerats i IAMMETER-Docker. SN i MQTT-ämnet och klientkonfigurationen måste matcha den mätare som skapats i den lokala plattformen.

3.2 Publicera energidata till IAMMETER-Docker

För en publicerande enhet eller applikation:

Inställning Värde
Broker IP-adress eller värdnamn för IAMMETER-Docker-servern
Port 1883 som standard
Autentisering Klient-ID
Klient-ID Mätar-SN registrerat i IAMMETER-Docker
Ämne device/<SN>/realtime
Nyttolast IAMMETER-stödda uppladdningsdataformat

Publicera energidata till IAMMETER-Docker via MQTT

Innan du använder produktionsdata:

  1. registrera SN i IAMMETER-Docker;
  2. publicera en testnyttolast;
  3. verifiera spänning, ström, effekt och energifält;
  4. bekräfta fas- eller kanalantalet;
  5. verifiera enheter och riktningen för aktiv effekt;
  6. aktivera först därefter kontinuerlig publicering.

3.3 Prenumerera på realtidsenergidata

För en MQTT-prenumerant:

Inställning Värde
Broker IAMMETER-Docker-serveradress
Port 1883 som standard
Autentisering IAMMETER-Docker-användarnamn och lösenord
Ämne device/<SN>/realtime

Prenumerera på IAMMETER-Docker realtidsdata

Typiska prenumeranter inkluderar:

  • Node-RED-automatiseringsflöden;
  • en lokal databehandlingstjänst;
  • en MQTT-felsökningsklient;
  • en gateway som vidarebefordrar valda mätningar;
  • en anpassad instrumentpanel eller larmtjänst.

Om Node-RED är huvudapplikationen och historisk lagring i IAMMETER-Docker inte krävs, kan mätaren också ansluta till Node-RED direkt via MQTT, Modbus TCP eller sitt lokala API. Jämför alternativen i Node-RED-mätarguiden.

4. Testa och felsöka MQTT

Börja med en enda mätare och ett exakt ämne snarare än en bred wildcard-prenumeration.

Kontrollera följande när inga data visas:

  • port 1883 mappas från containern;
  • klienten kan nå Docker-värden över LAN:et;
  • SN finns i IAMMETER-Docker;
  • MQTT-klient-ID:et och ämnet använder samma SN;
  • ämnet är device/<SN>/realtime med förväntad versalisering;
  • publicerings- och prenumerationsautentiseringslägen blandas inte ihop;
  • JSON-nyttolasten matchar det stödda fältordningen och enheterna;
  • en annan MQTT-klient kopplar inte bort sessionen genom att återanvända samma klient-ID.

För tillförlitliga flöden:

  • använd ett unikt klient-ID för varje prenumerant;
  • hantera återanslutningar och dubblettmeddelanden;
  • validera nyttolasten innan du skriver den till en databas;
  • registrera käll-SN med varje lagrad mätning;
  • använd nätverksisolering i stället för att exponera den okrypterade MQTT-porten offentligt.

5. Vidarebefordra solenergidata till PVOutput

PVOutput är en tredjepartstjänst för att dela och jämföra solgenererings- och energiförbrukningsdata. IAMMETER-Docker kan vidarebefordra platsdata till PVOutput.

Använd detta alternativ när IAMMETER-Docker förblir den lokala insamlingsservern men PVOutput krävs för offentlig eller extern solenergirapportering.

Innan du aktiverar vidarebefordring:

  1. skapa eller välj rätt PVOutput-system;
  2. hämta de nödvändiga PVOutput-autentiseringsuppgifterna;
  3. bekräfta att Grid- och Inverter-kanaler är korrekt tilldelade i IAMMETER-Docker;
  4. kontrollera platsens tidszon;
  5. aktivera vidarebefordring endast för den avsedda platsen;
  6. jämför en dygnstotal i båda systemen efter den första hela dagen.

Vidarebefordra IAMMETER-Docker solenergidata till PVOutput

PVOutput-vidarebefordring kräver internetåtkomst från Docker-värden. Den är separat från lokal övervakning: ett tillfälligt PVOutput-anslutningsfel bör inte hindra mätaren från att fortsätta ladda upp till den lokala servern.

6. Ta emot data från en kompatibel Tasmota-enhet

IAMMETER-Docker innehåller ett dokumenterat MQTT-arbetsflöde för en mätningsduglig enhet som kör Tasmota. Det ursprungliga exemplet använde en Sonoff POW R2.

Detta är en kompatibilitetsväg för stödda energinyttolaster, inte ett påstående om att varje Tasmota-enhet eller mall producerar samma mätningsstruktur. Testa den faktiska enheten och firmwaren innan distribution.

Använd följande Tasmota MQTT-struktur:

Inställning Värde
Värd IAMMETER-Docker IP-adress
Port IAMMETER-Docker MQTT-port, normalt 1883
Klient SN registrerat i IAMMETER-Docker
Användare Lämna tomt för detta dokumenterade publiceringsarbetsflöde
Lösenord Lämna tomt för detta dokumenterade publiceringsarbetsflöde
Ämne SN registrerat i IAMMETER-Docker
Fullständigt ämne device/%topic%/%prefix%/

Konfigurera en kompatibel Tasmota-mätare för IAMMETER-Docker

Efter konfiguration, verifiera varje rapporterat värde i IAMMETER-Docker, inklusive spänning, ström, aktiv effekt, energi och effektfaktor när enheten stödjer detta.

Tasmota-eldata i IAMMETER-Docker

7. Använd IAMMETER-Docker REST API

IAMMETER-Docker exponerar interaktiv API-dokumentation på den lokala servern:

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

REST API:et kan användas för att:

  • ladda upp stödda mätningar från en anpassad gateway;
  • fråga data för en privat instrumentpanel;
  • ansluta en lokal applikation till den självhostade servern;
  • testa nyttolaster innan du automatiserar en integration.

Håll API-åtkomsten på ett betrott nätverk. Om ett externt system måste ansluta på distans, placera tjänsten bakom ett lämpligt säkert åtkomstlager i stället för att exponera applikationsporten utan skydd.

För utvecklare som bygger en komplett mottagare eller anpassad plattform i stället för att använda IAMMETER-Docker, se Utveckla ditt eget energiövervakningssystem.

8. Kombinera lokal lagring och molntjänster

Självhosting behöver inte betyda att varje extern tjänst är avaktiverad. IAMMETER-Docker kan vara det lokala systemet för journalföring medan valda data vidarebefordras någon annanstans.

Arkitektur Lokala data Internetberoende Bäst för
Endast lokalt IAMMETER-Docker Ej nödvändigt efter distribution Integritet, offlinenätverk och LAN-instrumentpaneler
Lokalt + IAMMETER-Cloud IAMMETER-Docker och IAMMETER-Cloud Krävs för vidarebefordring Lokal kopia plus IAMMETER-Cloud-rapporter och fjärråtkomst
Lokalt + PVOutput IAMMETER-Docker och PVOutput Krävs för vidarebefordring Solanvändare som använder PVOutput
Lokalt + MQTT-prenumerant IAMMETER-Docker plus prenumerantdefinierad lagring Ej nödvändigt med en lokal prenumerant Node-RED, automatisering och anpassad bearbetning

Aktivera endast de destinationer som tjänar ett tydligt syfte. Fler destinationer skapar fler autentiseringsuppgifter, nätverksberoenden och felsökningsvägar.

9. Avancerad distributionschecklista

  • Grundläggande IAMMETER-Docker-insamling är redan stabil.
  • Beständiga data och databassäkerhetskopior är verifierade.
  • MySQL används endast när dess operativa overhead är motiverad.
  • MQTT-port 1883 är nåbar endast från betrodda nätverk.
  • Varje MQTT-klient använder ett lämpligt och unikt klient-ID.
  • Mätar-SN, ämne och registrerad enhet matchar.
  • Nyttolastenheter, fasantal och effektriktning har testats.
  • PVOutput- eller molnvidarebefordringsfel avbryter inte lokal insamling.
  • Tasmota-kompatibilitet har bekräftats med den faktiska enheten och firmwaren.
  • Ändringar testas på en mätare innan de tillämpas på en större distribution.

10. Versionshistorik och äldre anteckningar

Avsnitten ovan beskriver de för närvarande dokumenterade IAMMETER-Docker-arbetsflödena. Den ursprungliga sidan skrevs runt V1.8 och V1.9; följande historik behålls för användare som underhåller äldre installationer.

V2.4

V2.3

  • Åtgärdade ett PVOutput-uppladdningsproblem.

V2.2

  • Lade till loggar för IAMMETER-Cloud-vidarebefordringsfel.

V2.1

V1.9

  • Lade till MySQL-stöd.
  • Lade till ett anpassat bildalternativ för varje Plats.

IAMMETER-Docker V1.9

V1.8

  • Lade till MQTT-uppladdning till IAMMETER-Docker.
  • Lade till MQTT-prenumeration på realtidsdata.
  • Lade till direkt PVOutput-vidarebefordring.
  • Lade till det dokumenterade Tasmota/Sonoff-mätningsarbetsflödet.

11. Relaterade resurser

Senast uppdaterad: 17 juli 2026.

Upp