Leider unterstützt Ihr Browser kein JavaScript!
Anmelden

Docker MQTT-Energieüberwachung und erweiterte Konfiguration

Docker MQTT-Energieüberwachung und erweiterte Konfiguration

Nachdem der grundlegende IAMMETER-Docker-Server läuft, kann er zu einem lokalen MQTT-Energieüberwachungsserver erweitert, MySQL für größere Datensätze genutzt, Solardaten an PVOutput weitergeleitet und kompatible Drittanbieter-Messungen akzeptiert werden.

Diese Anleitung behandelt erweiterte Datenpfade und Speicheroptionen. Informationen zu Installation, persistenten Volumes, erstem Login, Zählereinrichtung, Backup und Container-Upgrades finden Sie in Self-Hosted Energieüberwachung mit Docker.

IAMMETER-Zähler / kompatibles Gerät / benutzerdefinierte Anwendung
                         │
             ┌───────────┼───────────┐
             │           │           │
            HTTP        MQTT       REST API
             │           │           │
             └───────────┼───────────┘
                         ▼
                  IAMMETER-Docker
                         │
       ┌─────────────────┼─────────────────┐
       ▼                 ▼                 ▼
 SQLite / MySQL     MQTT-Abonnenten     PVOutput

Verwenden Sie nur die für Ihr Projekt erforderlichen Schnittstellen. Eine einfache lokale Überwachungsinstallation benötigt weder MySQL, externe MQTT-Clients noch Datenweiterleitung.

1. Vor der Aktivierung erweiterter Funktionen

Stellen Sie sicher, dass die grundlegende Installation stabil ist:

  • der IAMMETER-Docker-Container läuft;
  • /app/data ist auf persistenten Speicher gemappt;
  • der Docker-Host verwendet eine stabile LAN-Adresse;
  • die Zeitzone der Website ist korrekt;
  • mindestens ein Zähler oder eine Testdatenquelle funktioniert;
  • Standardpasswörter wurden geändert;
  • ein aktuelles Backup existiert.

Die Standardbereitstellung macht folgende Ports verfügbar:

  • 5050 für die Webanwendung und API;
  • 1883 für MQTT.

Veröffentlichen Sie keinen dieser Ports direkt im Internet. Verwenden Sie eine Firewall, ein VPN oder eine andere kontrollierte Zugriffsebene, wenn Fernzugriff erforderlich ist.

2. Wahl zwischen SQLite und MySQL

IAMMETER-Docker verwendet SQLite für eine einfache Standardbereitstellung und unterstützt MySQL für Installationen mit größeren Datensätzen.

Datenbank Am besten geeignet für Vorteile Überlegungen
SQLite Zuhause, Test und kleinere lokale Installationen Kein separater Datenbankdienst; einfache Ersteinrichtung Datenbank bleibt an das Anwendungsvolume gebunden
MySQL Größere oder länger laufende Installationen Separater Datenbankdienst und bessere Eignung für wachsende Datensätze Erfordert Datenbankbereitstellung, Anmeldedaten, Backup und Wartung

Wechseln Sie nicht nur deshalb zu MySQL, weil es verfügbar ist. Verwenden Sie es, wenn das erwartete Datenvolumen, die Aufbewahrungsdauer oder die Datenbankverwaltungsanforderungen einen zusätzlichen Dienst rechtfertigen.

2.1 MySQL zuerst vorbereiten

Bevor Sie MySQL in IAMMETER-Docker auswählen:

  1. Stellen Sie einen erreichbaren MySQL-Server bereit;
  2. Erstellen Sie eine dedizierte Datenbank und einen Benutzer;
  3. Beschränken Sie diesen Benutzer auf die erforderliche Datenbank;
  4. Bestätigen Sie den Netzwerkzugriff vom IAMMETER-Docker-Container;
  5. Konfigurieren Sie regelmäßige Datenbank-Backups;
  6. Notieren Sie sich Datenbank-Host, Port, Name und Anmeldedaten sicher.

Geben Sie dann die MySQL-Verbindungseinstellungen in IAMMETER-Docker ein und bestätigen Sie, dass neue Messwerte gespeichert werden.

MySQL in IAMMETER-Docker konfigurieren

Sichern Sie die vorhandenen IAMMETER-Docker-Daten, bevor Sie den Datenbankmodus wechseln. Überprüfen Sie historische Daten und neue Uploads nach der Änderung.

3. IAMMETER-Docker als MQTT-Energieüberwachungsserver nutzen

IAMMETER-Docker enthält MQTT-Unterstützung für zwei verschiedene Richtungen:

  1. Veröffentlichen an IAMMETER-Docker: Ein Zähler oder eine kompatible Anwendung sendet Messwerte an den Docker-Server.
  2. Abonnieren von IAMMETER-Docker: Node-RED, ein benutzerdefinierter Dienst oder ein anderer MQTT-Client empfängt Echtzeit-Messwerte vom Server.

Diese Pfade verwenden dasselbe Topic-Muster, aber unterschiedliche Authentifizierungsmodi.

3.1 MQTT-Topic

Das dokumentierte Echtzeit-Topic lautet:

device/<SN>/realtime

Ersetzen Sie <SN> durch die in IAMMETER-Docker registrierte Seriennummer. Die SN im MQTT-Topic und in der Client-Konfiguration muss mit dem in der lokalen Plattform erstellten Zähler übereinstimmen.

3.2 Energiedaten an IAMMETER-Docker veröffentlichen

Für ein veröffentlichendes Gerät oder eine Anwendung:

Einstellung Wert
Broker IP-Adresse oder Hostname des IAMMETER-Docker-Servers
Port Standardmäßig 1883
Authentifizierung Client-ID
Client-ID In IAMMETER-Docker registrierte Zähler-SN
Topic device/<SN>/realtime
Payload Von IAMMETER unterstütztes Upload-Datenformat

Energiedaten über MQTT an IAMMETER-Docker veröffentlichen

Vor der Verwendung von Produktionsdaten:

  1. Registrieren Sie die SN in IAMMETER-Docker;
  2. Veröffentlichen Sie eine Test-Payload;
  3. Überprüfen Sie die Felder für Spannung, Strom, Leistung und Energie;
  4. Bestätigen Sie die Phasen- oder Kanalanzahl;
  5. Überprüfen Sie die Einheiten und die Wirkleistungsrichtung;
  6. Aktivieren Sie erst dann die kontinuierliche Veröffentlichung.

3.3 Echtzeit-Energiedaten abonnieren

Für einen MQTT-Abonnenten:

Einstellung Wert
Broker IAMMETER-Docker-Serveradresse
Port Standardmäßig 1883
Authentifizierung IAMMETER-Docker-Benutzername und -Passwort
Topic device/<SN>/realtime

Echtzeitdaten von IAMMETER-Docker abonnieren

Typische Abonnenten umfassen:

  • Node-RED-Automatisierungsflüsse;
  • Einen lokalen Datenverarbeitungsdienst;
  • Einen MQTT-Debugging-Client;
  • Ein Gateway, das ausgewählte Messwerte weiterleitet;
  • Ein benutzerdefiniertes Dashboard oder einen Alarmierungsdienst.

Wenn Node-RED die primäre Anwendung ist und keine historische Speicherung in IAMMETER-Docker erforderlich ist, kann der Zähler auch direkt über MQTT, Modbus TCP oder seine lokale API mit Node-RED verbunden werden. Vergleichen Sie die Optionen in der Node-RED-Energiezähler-Anleitung.

4. MQTT testen und Fehler beheben

Beginnen Sie mit einem einzelnen Zähler und einem exakten Topic anstatt einem breiten Wildcard-Abonnement.

Überprüfen Sie Folgendes, wenn keine Daten erscheinen:

  • Port 1883 ist vom Container gemappt;
  • Der Client kann den Docker-Host über das LAN erreichen;
  • Die SN existiert in IAMMETER-Docker;
  • Die MQTT-Client-ID und das Topic verwenden dieselbe SN;
  • Das Topic ist device/<SN>/realtime mit der erwarteten Groß-/Kleinschreibung;
  • Die Authentifizierungsmodi für Veröffentlichen und Abonnieren werden nicht verwechselt;
  • Die JSON-Payload entspricht der unterstützten Feldreihenfolge und den Einheiten;
  • Ein anderer MQTT-Client trennt die Sitzung nicht durch Wiederverwendung derselben Client-ID.

Für zuverlässige Abläufe:

  • Verwenden Sie eine eindeutige Client-ID für jeden Abonnenten;
  • Behandeln Sie Wiederverbindungen und doppelte Nachrichten;
  • Validieren Sie die Payload, bevor Sie sie in eine Datenbank schreiben;
  • Zeichnen Sie die Quell-SN bei jedem gespeicherten Messwert auf;
  • Verwenden Sie Netzwerkisolation anstatt den unverschlüsselten MQTT-Port öffentlich freizugeben.

5. Solardaten an PVOutput weiterleiten

PVOutput ist ein Drittanbieter-Dienst zum Teilen und Vergleichen von Solarerzeugungs- und Energieverbrauchsdaten. IAMMETER-Docker kann Standortdaten an PVOutput weiterleiten.

Nutzen Sie diese Option, wenn IAMMETER-Docker der lokale Erfassungsserver bleibt, aber PVOutput für die öffentliche oder externe Solarberichterstattung benötigt wird.

Vor der Aktivierung der Weiterleitung:

  1. Erstellen oder wählen Sie das richtige PVOutput-System;
  2. Besorgen Sie die erforderlichen PVOutput-Anmeldedaten;
  3. Bestätigen Sie, dass Netz- und Wechselrichterkanäle in IAMMETER-Docker korrekt zugewiesen sind;
  4. Überprüfen Sie die Zeitzone des Standorts;
  5. Aktivieren Sie die Weiterleitung nur für den vorgesehenen Standort;
  6. Vergleichen Sie nach dem ersten vollständigen Tag die Tageswerte in beiden Systemen.

IAMMETER-Docker-Solardaten an PVOutput weiterleiten

Die PVOutput-Weiterleitung erfordert Internetzugriff vom Docker-Host. Sie ist getrennt von der lokalen Überwachung: Ein vorübergehender PVOutput-Verbindungsfehler sollte nicht verhindern, dass der Zähler weiterhin Daten an den lokalen Server hochlädt.

6. Daten von einem kompatiblen Tasmota-Gerät empfangen

IAMMETER-Docker enthält einen dokumentierten MQTT-Workflow für ein messfähiges Gerät mit Tasmota. Das ursprüngliche Beispiel verwendete einen Sonoff POW R2.

Dies ist ein Kompatibilitätspfad für unterstützte Energie-Payloads, keine Zusicherung, dass jedes Tasmota-Gerät oder jede Vorlage dieselbe Messstruktur erzeugt. Testen Sie das tatsächliche Gerät und die Firmware vor der Bereitstellung.

Verwenden Sie die folgende Tasmota-MQTT-Struktur:

Einstellung Wert
Host IAMMETER-Docker-IP-Adresse
Port IAMMETER-Docker-MQTT-Port, normalerweise 1883
Client In IAMMETER-Docker registrierte SN
Benutzer Für diesen dokumentierten Veröffentlichungs-Workflow leer lassen
Passwort Für diesen dokumentierten Veröffentlichungs-Workflow leer lassen
Topic In IAMMETER-Docker registrierte SN
Full Topic device/%topic%/%prefix%/

Ein kompatibles Tasmota-Gerät für IAMMETER-Docker konfigurieren

Überprüfen Sie nach der Konfiguration jeden gemeldeten Wert in IAMMETER-Docker, einschließlich Spannung, Strom, Wirkleistung, Energie und Leistungsfaktor, sofern vom Gerät unterstützt.

Tasmota-Stromdaten in IAMMETER-Docker

7. Die IAMMETER-Docker-REST-API verwenden

IAMMETER-Docker stellt eine interaktive API-Dokumentation auf dem lokalen Server bereit:

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

Die REST-API kann verwendet werden, um:

  • unterstützte Messwerte von einem benutzerdefinierten Gateway hochzuladen;
  • Daten für ein privates Dashboard abzufragen;
  • eine lokale Anwendung mit dem selbst gehosteten Server zu verbinden;
  • Payloads zu testen, bevor eine Integration automatisiert wird.

Halten Sie den API-Zugriff in einem vertrauenswürdigen Netzwerk. Wenn ein externes System eine Remote-Verbindung herstellen muss, platzieren Sie den Dienst hinter einer geeigneten sicheren Zugriffsebene, anstatt den Anwendungsport ohne Schutz freizugeben.

Für Entwickler, die einen vollständigen Empfänger oder eine benutzerdefinierte Plattform anstelle von IAMMETER-Docker erstellen, siehe Entwickeln Sie Ihr eigenes Energieüberwachungssystem.

8. Kombination von lokalem Speicher und Cloud-Diensten

Self-Hosting bedeutet nicht, dass jeder externe Dienst deaktiviert werden muss. IAMMETER-Docker kann das lokale Aufzeichnungssystem sein, während ausgewählte Daten an andere Orte weitergeleitet werden.

Architektur Lokale Daten Internetabhängigkeit Am besten geeignet für
Nur lokal IAMMETER-Docker Nach der Bereitstellung nicht erforderlich Datenschutz, Offline-Standorte und LAN-Dashboards
Lokal + IAMMETER-Cloud IAMMETER-Docker und IAMMETER-Cloud Für Weiterleitung erforderlich Lokale Kopie plus IAMMETER-Cloud-Berichte und Fernzugriff
Lokal + PVOutput IAMMETER-Docker und PVOutput Für Weiterleitung erforderlich Solar-Nutzer, die PVOutput verwenden
Lokal + MQTT-Abonnent IAMMETER-Docker plus abonnentendefinierter Speicher Bei lokalem Abonnenten nicht erforderlich Node-RED, Automatisierung und benutzerdefinierte Verarbeitung

Aktivieren Sie nur die Ziele, die einem klaren Zweck dienen. Mehr Ziele bedeuten mehr Anmeldedaten, Netzwerkabhängigkeiten und Fehlerbehebungspfade.

9. Erweiterte Bereitstellungs-Checkliste

  • Die grundlegende IAMMETER-Docker-Erfassung ist bereits stabil.
  • Persistente Daten- und Datenbank-Backups sind verifiziert.
  • MySQL wird nur verwendet, wenn sein betrieblicher Aufwand gerechtfertigt ist.
  • MQTT-Port 1883 ist nur von vertrauenswürdigen Netzwerken aus erreichbar.
  • Jeder MQTT-Client verwendet eine angemessene und eindeutige Client-ID.
  • Zähler-SN, Topic und registriertes Gerät stimmen überein.
  • Payload-Einheiten, Phasenanzahl und Leistungsrichtung wurden getestet.
  • Ausfälle der PVOutput- oder Cloud-Weiterleitung unterbrechen die lokale Erfassung nicht.
  • Die Tasmota-Kompatibilität wurde mit dem tatsächlichen Gerät und der Firmware bestätigt.
  • Änderungen werden an einem Zähler getestet, bevor sie auf eine größere Bereitstellung angewendet werden.

10. Versionsgeschichte und Legacy-Hinweise

Die obigen Abschnitte beschreiben die derzeit dokumentierten IAMMETER-Docker-Workflows. Die ursprüngliche Seite wurde um V1.8 und V1.9 herum geschrieben; die folgende Historie wird für Benutzer beibehalten, die ältere Installationen warten.

V2.4

V2.3

  • Ein Problem beim PVOutput-Upload behoben.

V2.2

  • Protokolle für IAMMETER-Cloud-Weiterleitungsfehler hinzugefügt.

V2.1

V1.9

  • MySQL-Unterstützung hinzugefügt.
  • Option für benutzerdefinierte Bilder für jeden Ort hinzugefügt.

IAMMETER-Docker V1.9

V1.8

  • MQTT-Upload an IAMMETER-Docker hinzugefügt.
  • MQTT-Abonnement für Echtzeitdaten hinzugefügt.
  • Direkte PVOutput-Weiterleitung hinzugefügt.
  • Den dokumentierten Tasmota/Sonoff-Mess-Workflow hinzugefügt.

11. Verwandte Ressourcen

Zuletzt aktualisiert: 17. Juli 2026.

Nach oben