Leider unterstützt Ihr Browser kein JavaScript!
Anmelden

Eigenständige Energieüberwachung mit Docker

Eigenständige Energieüberwachung mit Docker

Ein eigenständiges Energieüberwachungssystem hält den Überwachungsserver und die Stromdaten unter Ihrer Kontrolle. Anstatt jede Messung an eine öffentliche Cloud zu senden, überträgt der Energiezähler die Daten an einen Docker-Container, der auf einem lokalen Server, NAS, Raspberry Pi oder einem kompatiblen Router läuft.

IAMMETER-Docker bietet einen einsatzbereiten lokalen Energieüberwachungsserver für Stromverbrauch und Solar-PV-Systeme. Er kann Messwerte erfassen, Echtzeit- und Verlaufsdaten anzeigen, APIs bereitstellen und optional als Offline-Datenlogger arbeiten.

Energiezähler IAMMETER
        │
        │ Wi-Fi / lokales Netzwerk
        ▼
IAMMETER-Docker
        │
        ├── Lokales Web-Dashboard
        ├── Historische Energiedaten
        ├── REST-API
        ├── MQTT
        ├── CSV-Datenlogger
        └── Optionale Weiterleitung

IAMMETER-Docker ist eine praktische Option für den Eigenbetrieb, bildet aber nicht jede Funktion und jeden Bericht von IAMMETER-Cloud ab. Wenn Sie noch eine Architektur auswählen, vergleichen Sie die Optionen auf der Seite Eigenständige Energieüberwachungslösungen.

🎬 Sehen Sie das IAMMETER-Docker Video-Tutorial

1. Wann sollten Sie ein eigenständiges Energieüberwachungssystem verwenden?

IAMMETER-Docker ist geeignet, wenn Sie:

  • Energiedaten auf einem von Ihnen verwalteten Server behalten möchten;
  • den Stromverbrauch in einem LAN ohne Internetabhängigkeit überwachen möchten;
  • ein lokales Solar-Überwachungs-Dashboard bereitstellen möchten;
  • Daten an einem entfernten Standort mit einem Offline-Datenlogger erfassen möchten;
  • auf Messwerte über eine lokale REST-API oder MQTT zugreifen möchten;
  • ausgewählte Daten an eine andere Plattform weiterleiten möchten;
  • ein privates Dashboard oder eine Integration rund um gespeicherte Energiedaten erstellen möchten.

Typische Installationen umfassen:

  • Haushaltsstrom- und Solar-PV-Überwachung;
  • Werkstätten, Büros und kleine gewerbliche Standorte;
  • entlegene Solaranlagen und Geräteräume;
  • Entwicklungs- und Testumgebungen;
  • Projekte, bei denen ein lokaler Datenpfad erforderlich ist.

Wenn Sie nur direkte Zählerwerte für Home Assistant, Node-RED, eine SPS oder eine benutzerdefinierte Software benötigen, ist die Bereitstellung eines vollständigen Servers möglicherweise unnötig. Sehen Sie sich die lokalen und eigenständigen Integrationsoptionen an, bevor Sie sich entscheiden.

2. Was Sie benötigen

Bereiten Sie vor der Bereitstellung Folgendes vor:

  • ein Gerät, das Docker ausführen kann, wie einen Linux-Server, NAS, Raspberry Pi oder einen kompatiblen Router;
  • persistenten Speicher für die Anwendungsdatenbank;
  • TCP-Port 5050 für die Webanwendung und API;
  • TCP-Port 1883, falls der integrierte MQTT-Dienst genutzt wird;
  • eine stabile IP-Adresse oder DHCP-Reservierung für den Docker-Host;
  • einen IAMMETER-Energiezähler oder eine andere Datenquelle, die das unterstützte API-Format senden kann.

Der Docker-Host und der Zähler sollten sich über das lokale Netzwerk erreichen können. Für den Offline-Betrieb ist nach der Installation des Images und der erforderlichen Software kein Internetzugang erforderlich.

3. IAMMETER-Docker bereitstellen

Die aktuelle Docker-Hub-Version ist IAMMETER-Docker V2.4.

3.1 Option A: Docker run

Erstellen Sie ein Arbeitsverzeichnis und starten Sie den Container mit persistentem Speicher:

docker run -d \
  --name myiammeter \
  --restart always \
  -p 5050:5050 \
  -p 1883:1883 \
  -e TZ=Etc/UTC \
  -v "$PWD/data:/app/data" \
  iammeter/iammeter

Ändern Sie TZ=Etc/UTC auf die korrekte Zeitzone für den Überwachungsstandort. Energieberichte hängen vom lokalen Datum und der lokalen Uhrzeit ab, daher stellen Sie dies vor der Erfassung von Produktionsdaten ein.

3.2 Option B: Docker Compose

Erstellen Sie compose.yaml:

services:
  iammeter:
    image: iammeter/iammeter
    container_name: myiammeter
    restart: always
    ports:
      - "5050:5050"
      - "1883:1883"
    environment:
      TZ: Etc/UTC
    volumes:
      - ./data:/app/data

Starten Sie den Dienst:

docker compose up -d

Überprüfen Sie den Status:

docker compose ps
docker compose logs --tail=100 iammeter

3.3 Das lokale Dashboard öffnen

Öffnen Sie die folgende Adresse in einem Browser im selben Netzwerk:

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

Standard-Anmeldedaten:

Benutzername: testuser
Passwort: 123456

Ändern Sie das Standardpasswort sofort. Setzen Sie Port 5050 oder 1883 nicht ohne geeignete Firewall, Authentifizierung und sicheres Netzwerkdesign direkt dem öffentlichen Internet aus.

IAMMETER-Docker Anmeldung

4. Ersteinrichtung

Nach der Anmeldung:

  1. Erstellen Sie einen Ort für das Zuhause, die Solaranlage oder die überwachte Einrichtung.
  2. Fügen Sie einen Zähler hinzu.
  3. Geben Sie die Seriennummer (SN) des Zählers ein.
  4. Wählen Sie den korrekten Einphasen- oder Dreiphasen-Zählertyp aus.
  5. Weisen Sie jede Phase oder jeden Kanal als Netz, Wechselrichter oder Last zu.
  6. Bestätigen Sie die Standortzeitzone und die Messstruktur, bevor Sie Berichte auswerten.

Zähler in IAMMETER-Docker konfigurieren

Die korrekte Kanalzuordnung ist besonders wichtig für die Solarüberwachung. Das System muss wissen, welche Messung das Netz, den Wechselrichter oder die Last repräsentiert, bevor es aussagekräftige Energiefluss-Ergebnisse anzeigen kann.

5. Einen IAMMETER-Energiezähler verbinden

IAMMETER-Zähler können direkt an den lokalen Docker-Server hochladen.

Konfigurieren Sie im WebUI des Zählers den HTTP-Upload eines Drittanbieters und verwenden Sie die Docker-Host-Adresse:

<docker-host-ip>:5050/api/v1/sensor/uploadsensor

Die Docker-Host-IP muss vom Wi-Fi-Netzwerk des Zählers aus erreichbar sein. Verwenden Sie dieselbe Zähler-SN, die IAMMETER-Docker hinzugefügt wurde.

HTTP-Upload zu IAMMETER-Docker konfigurieren

Nach dem Speichern der Zählerkonfiguration:

  1. warten Sie auf den ersten Upload;
  2. bestätigen Sie, dass der Zähler in IAMMETER-Docker als online angezeigt wird;
  3. vergleichen Sie Spannungs-, Leistungs- und Energie-Werte mit den lokalen Daten des Zählers;
  4. überprüfen Sie die Richtung und Kanalzuordnung, bevor Sie sich auf Solar- oder Bezugs-/Einspeiseberechnungen verlassen.

IAMMETER-Cloud gleichzeitig nutzen

IAMMETER-Docker kann Zählerdaten optional an IAMMETER-Cloud weiterleiten. Aktivieren Sie die Weiterleitung nur, wenn Sie sowohl lokalen Speicher als auch IAMMETER-Cloud-Dienste wünschen.

Lokale Daten an IAMMETER-Cloud weiterleiten

Für eine Offline- oder cloudunabhängige Installation lassen Sie die Cloud-Weiterleitung deaktiviert.

6. Daten von einem anderen Gerät oder einer anderen Anwendung hochladen

IAMMETER-Docker kann auch unterstützte Energiedaten über seine REST-API empfangen. Dies ist nützlich für Simulatoren, Gateways oder kunden eigene Anwendungen, die keinen IAMMETER-Zähler verwenden.

Erstellen Sie einen Zähler mit einer benutzerdefinierten SN und verwenden Sie dieselbe SN in jeder API-Anfrage.

Die interaktive API-Dokumentation ist auf dem lokalen Server verfügbar:

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

IAMMETER-Docker API-Dokumentation

IAMMETER-Docker API-Anfrage testen

Testen Sie die API zuerst an einem Nicht-Produktionszähler. Halten Sie SN, Phasenanzahl, Feldreihenfolge und Einheiten konsistent, damit historische Daten nutzbar bleiben.

7. Einen Offline-Energie-Datenlogger betreiben

IAMMETER-Docker V2.4 kann Daten als CSV speichern, wenn ein Datenlogger-Verzeichnis eingebunden ist. Dies ist nützlich für entfernte Solarstandorte, Fabriken oder Geräteräume ohne zuverlässige Internetverbindung.

Docker run mit Datenlogger-Speicher

docker run -d \
  --name myiammeter \
  --restart always \
  -p 5050:5050 \
  -p 1883:1883 \
  -e TZ=Etc/UTC \
  -v "$PWD/data:/app/data" \
  -v "$PWD/datalogger:/app/datalogger" \
  iammeter/iammeter

Für Docker Compose fügen Sie dieses Volume hinzu:

volumes:
  - ./data:/app/data
  - ./datalogger:/app/datalogger

Öffnen Sie die Datenlogger-Seite unter:

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

Die Datenlogger-Seite verwendet initial:

Benutzername: admin
Passwort: admin

Ändern Sie dieses Passwort im Rahmen der Bereitstellung. Den vollständigen routerbasierten und CSV-Export-Workflow finden Sie unter Offline-Energie-Datenlogger mit IAMMETER-Docker.

8. MQTT und andere erweiterte Funktionen

Port 1883 wird vom IAMMETER-Docker MQTT-Dienst verwendet. Ein Zähler oder eine andere Anwendung kann unterstützte Messdaten an IAMMETER-Docker veröffentlichen, und MQTT-Clients können Echtzeit-Werte abonnieren.

IAMMETER-Docker unterstützt auch Funktionen wie:

  • MySQL anstelle der standardmäßigen lokalen Datenbank für größere Datensätze;
  • MQTT-Veröffentlichung und -Abonnement;
  • PVOutput-Weiterleitung;
  • kompatible Tasmota-Energiedaten;
  • Echtzeit-Alarme und Datenlogger-Szenarien mit einer Sekunde Auflösung.

Diese Funktionen wurden bewusst aus dem grundlegenden Bereitstellungspfad herausgehalten. Konfigurieren und testen Sie zuerst den Kerncontainer und fahren Sie dann mit der erweiterten IAMMETER-Docker-Anleitung fort.

9. Sichern Sie Ihre Energiedaten

Das Volume /app/data enthält persistente Anwendungsdaten. Sichern Sie das entsprechende Host-Verzeichnis regelmäßig.

Ein sicherer grundlegender Prozess ist:

  1. Stoppen oder pausieren Sie Schreibvorgänge auf den Container;
  2. kopieren Sie das gesamte eingebundene data-Verzeichnis in den Sicherungsspeicher;
  3. schließen Sie das datalogger-Verzeichnis ein, wenn die CSV-Protokollierung aktiviert ist;
  4. behalten Sie mehr als eine Sicherungsgeneration;
  5. testen Sie die Wiederherstellung auf einem separaten Container, bevor Sie sich auf den Sicherungsplan verlassen.

Behandeln Sie das Container-Dateisystem nicht als dauerhaften Speicher. Wenn /app/data nicht eingebunden ist, kann das Entfernen des Containers auch die Überwachungsdatenbank löschen.

10. IAMMETER-Docker aktualisieren

Sichern Sie vor dem Upgrade das persistente Datenverzeichnis.

Für Docker Compose:

docker compose pull
docker compose up -d
docker compose logs --tail=100 iammeter

Für einen mit docker run erstellten Container:

  1. notieren Sie die vorhandenen Ports, Zeitzone und Volume-Mounts;
  2. ziehen Sie das neue Image;
  3. stoppen und entfernen Sie den alten Container;
  4. erstellen Sie den Container erneut mit demselben persistenten Volume;
  5. überprüfen Sie Anmeldung, Zählerstatus und historische Daten.
docker pull iammeter/iammeter
docker stop myiammeter
docker rm myiammeter

Wiederholen Sie dann den ursprünglichen docker run-Befehl. Das Entfernen eines Containers ist nur sicher, wenn die Anwendungsdaten in einem korrekt eingebundenen und gesicherten Host-Verzeichnis gespeichert wurden.

11. Fehlerbehebung

Die Webseite öffnet sich nicht

  • Überprüfen Sie, ob der Container mit docker ps oder docker compose ps läuft.
  • Prüfen Sie, ob Host-Port 5050 bereits belegt ist.
  • Überprüfen Sie die Container-Protokolle.
  • Bestätigen Sie, dass die Firewall den Zugriff aus dem lokalen Netzwerk erlaubt.

Der Zähler wird nicht als online angezeigt

  • Bestätigen Sie, dass der Zähler die Docker-Host-IP erreichen kann.
  • Überprüfen Sie die Upload-URL und den Port.
  • Bestätigen Sie, dass die SN in IAMMETER-Docker mit der Zähler-SN übereinstimmt.
  • Vermeiden Sie die Verwendung von localhost als Serveradresse im Zähler; dies verweist auf den Zähler selbst, nicht auf den Docker-Host.
  • Bestätigen Sie, dass Client-Isolation oder ein Gast-Wi-Fi-Netzwerk den LAN-Verkehr nicht blockiert.

Solardaten sehen falsch aus

  • Überprüfen Sie die CT-Richtung und Verkabelung.
  • Bestätigen Sie, welcher Kanal dem Netz und welcher dem Wechselrichter zugewiesen ist.
  • Überprüfen Sie das Vorzeichen der Wirkleistung bei Bezug und Einspeisung.
  • Bestätigen Sie die Zeitzone, bevor Sie tägliche Energie-Gesamtsummen vergleichen.

Daten verschwinden nach dem Neuerstellen des Containers

  • Bestätigen Sie, dass /app/data in ein persistentes Host-Verzeichnis eingebunden wurde.
  • Überprüfen Sie die Verzeichnisberechtigungen.
  • Stellen Sie das letzte verifizierte Backup wieder her, wenn das ursprüngliche Volume nicht verfügbar ist.

12. IAMMETER-Docker, IAMMETER-Cloud oder ein eigenes System?

Option Am besten geeignet für Datenstandort Einrichtungsaufwand Hauptnachteil
IAMMETER-Docker Einen fertigen lokalen Überwachungsserver Ihr Docker-Host Niedrig bis mittel Weniger verwaltete Cloud-Funktionen
IAMMETER-Cloud Fertige Überwachung, Berichte und Fernzugriff IAMMETER-Cloud Niedrig Nutzt einen gehosteten Cloud-Dienst
Home Assistant / Node-RED Smart-Home-Entitäten und benutzerdefinierte Automatisierung Ihre eigene Plattform Mittel Sie entwerfen das Dashboard und die Workflows
Eigener Server Ein Produkt, EMS oder spezialisierte Datenpipeline Ihre Infrastruktur Hoch Sie entwickeln und warten das System

Fahren Sie fort mit:

13. Bereitstellungs-Checkliste

  • Docker-Host hat eine stabile LAN-Adresse.
  • /app/data ist in persistenten Speicher eingebunden.
  • Die Zeitzone entspricht dem Überwachungsstandort.
  • Standardpasswörter wurden geändert.
  • Ports 5050 und 1883 sind nicht unnötig dem Internet ausgesetzt.
  • Zähler-SN und Kanalzuordnungen sind korrekt.
  • Der lokale Upload wurde mit Live-Messungen verifiziert.
  • Die Cloud-Weiterleitung ist nur bei Bedarf aktiviert.
  • Sicherungs- und Aktualisierungsverfahren wurden getestet.
  • Das Datenlogger-Volume ist eingebunden, wenn CSV-Export erforderlich ist.

Zuletzt aktualisiert: 17. Juli 2026.

Nach oben