Sorry, uw browser ondersteunt geen JavaScript!
Inloggen

Zelfgehoste Energiemonitoring met Docker

Zelfgehoste Energiemonitoring met Docker

Een zelfgehoste energiemonitoringsysteem houdt de monitoringserver en elektriciteitsgegevens onder uw controle. In plaats van elke meting naar een openbare cloud te sturen, uploadt de energiemeter gegevens naar een Docker-container die draait op een lokale server, NAS, Raspberry Pi of compatibele router.

IAMMETER-Docker biedt een kant-en-klare lokale energiemonitoringserver voor elektriciteitsverbruik en zonne-PV-systemen. Het kan metingen verzamelen, realtime en historische gegevens weergeven, API's beschikbaar stellen en optioneel functioneren als offline datalogger.

IAMMETER energiemeter
        │
        │ Wi-Fi / lokaal netwerk
        ▼
IAMMETER-Docker
        │
        ├── Lokaal webdashboard
        ├── Historische energiegegevens
        ├── REST API
        ├── MQTT
        ├── CSV datalogger
        └── Optionele doorsturing

IAMMETER-Docker is een praktische zelfgehoste optie, maar het reproduceert niet alle functies en rapporten van IAMMETER-Cloud. Als u nog een architectuur kiest, vergelijk dan de opties op de zelfgehoste energiemonitoringoplossingenpagina.

🎬 Bekijk de IAMMETER-Docker videozelfstudie

1. Wanneer Gebruikt u een Zelfgehoste Energiemonitoringsysteem?

IAMMETER-Docker is geschikt wanneer u wilt:

  • energiegegevens opslaan op een server die u beheert;
  • elektriciteit bewaken op een LAN zonder afhankelijkheid van internettoegang;
  • een lokaal zonnebewakingsdashboard implementeren;
  • gegevens verzamelen op een externe locatie met een offline datalogger;
  • metingen benaderen via een lokale REST API of MQTT;
  • geselecteerde gegevens doorsturen naar een ander platform;
  • een privédashboard of integratie bouwen rond opgeslagen energiegegevens.

Typische installaties omvatten:

  • thuis elektriciteits- en zonne-PV-bewaking;
  • werkplaatsen, kantoren en kleine commerciële locaties;
  • externe zonne-energiesystemen en apparatuurruimtes;
  • ontwikkel- en testomgevingen;
  • projecten waar een lokaal gegevenspad vereist is.

Als u alleen directe metermetingen nodig heeft voor Home Assistant, Node-RED, een PLC of maatwerk software, kan het implementeren van een complete server onnodig zijn. Zie lokale en zelfgehoste integratieopties voordat u kiest.

2. Wat U Nodig Heeft

Voor de implementatie moet u het volgende voorbereiden:

  • een apparaat dat Docker kan uitvoeren, zoals een Linux-server, NAS, Raspberry Pi of compatibele router;
  • permanente opslag voor de applicatiedatabase;
  • TCP-poort 5050 beschikbaar voor de webapplicatie en API;
  • TCP-poort 1883 indien de ingebouwde MQTT-service wordt gebruikt;
  • een stabiel IP-adres of DHCP-reservering voor de Docker-host;
  • een IAMMETER-energiemeter, of een andere gegevensbron die het ondersteunde API-formaat kan verzenden.

De Docker-host en meter moeten elkaar kunnen bereiken via het lokale netwerk. Voor offline gebruik is internettoegang niet nodig nadat de image en vereiste software zijn geïnstalleerd.

3. IAMMETER-Docker Implementeren

De huidige Docker Hub-release is IAMMETER-Docker V2.4.

3.1 Optie A: Docker run

Maak een werkmap en voer de container uit met permanente opslag:

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

Wijzig TZ=Etc/UTC naar de juiste tijdzone voor de monitoringsite. Energierapporten zijn afhankelijk van de lokale datum en tijd, stel dit dus in voordat u productiegegevens verzamelt.

3.2 Optie B: Docker Compose

Maak 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

Start de service:

docker compose up -d

Controleer de status:

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

3.3 Het lokale dashboard openen

Open het volgende adres in een browser op hetzelfde netwerk:

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

Standaard inloggegevens:

Gebruikersnaam: testuser
Wachtwoord: 123456

Wijzig onmiddellijk het standaardwachtwoord. Stel poort 5050 of 1883 niet direct bloot aan het openbare internet zonder een geschikte firewall, authenticatie en een veilig netwerkontwerp.

IAMMETER-Docker inloggen

4. Initiële Configuratie

Na het inloggen:

  1. Maak een Place (locatie) aan voor uw thuis, zonnesite of bewaakte faciliteit.
  2. Voeg een Meter toe.
  3. Voer het serienummer (SN) van de meter in.
  4. Selecteer het juiste enkelfasige of driefasige metertype.
  5. Wijs elke fase of elk kanaal toe als Grid, Inverter of Load.
  6. Bevestig de tijdzone en meetstructuur van de locatie voordat u rapporten evalueert.

Configureer een meter in IAMMETER-Docker

Correcte kanaaltoewijzing is vooral belangrijk voor zonnebewaking. Het systeem moet weten welke meting het net, de omvormer of de belasting vertegenwoordigt voordat het zinvolle energiestroomresultaten kan weergeven.

5. Een IAMMETER-energiemeter Aansluiten

IAMMETER-meters kunnen direct uploaden naar de lokale Docker-server.

Configureer in de webinterface van de meter HTTP-upload van derden en gebruik het Docker-hostadres:

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

Het IP-adres van de Docker-host moet bereikbaar zijn vanuit het Wi-Fi-netwerk van de meter. Gebruik hetzelfde meter-SN dat is toegevoegd aan IAMMETER-Docker.

HTTP-upload configureren naar IAMMETER-Docker

Na het opslaan van de meterconfiguratie:

  1. wacht op de eerste upload;
  2. bevestig dat de meter online verschijnt in IAMMETER-Docker;
  3. vergelijk spanning, vermogen en energie-waarden met de lokale gegevens van de meter;
  4. verifieer de richting en kanaaltoewijzing voordat u vertrouwt op zonne- of import/export-berekeningen.

Tegelijkertijd IAMMETER-Cloud gebruiken

IAMMETER-Docker kan optioneel metergegevens doorsturen naar IAMMETER-Cloud. Schakel doorsturen alleen in wanneer u zowel lokale opslag als IAMMETER-Cloud-services wilt gebruiken.

Lokale gegevens doorsturen naar IAMMETER-Cloud

Voor een offline of cloud-onafhankelijke installatie laat u clouddoorsturing uitgeschakeld.

6. Gegevens Uploaden vanaf een Ander Apparaat of Applicatie

IAMMETER-Docker kan ook ondersteunde energiegegevens ontvangen via de REST API. Dit is handig voor simulators, gateways of klantapplicaties die geen IAMMETER-meter gebruiken.

Maak een meter met een aangepast SN en gebruik datzelfde SN in elk API-verzoek.

De interactieve API-documentatie is beschikbaar op de lokale server:

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

IAMMETER-Docker API-documentatie

Test een IAMMETER-Docker API-verzoek

Test de API eerst op een niet-productiemeter. Houd het SN, aantal fasen, veldvolgorde en eenheden consistent zodat historische gegevens bruikbaar blijven.

7. Een Offline Energie-datalogger Uitvoeren

IAMMETER-Docker V2.4 kan gegevens opslaan naar CSV wanneer een datalogger-map is aangekoppeld. Dit is handig voor een externe zonnesite, fabriek of apparatuurruimte zonder betrouwbare internetverbinding.

Docker run met datalogger-opslag

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

Voor Docker Compose voegt u deze volume toe:

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

Open de datalogger-pagina op:

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

De datalogger-pagina gebruikt initieel:

Gebruikersnaam: admin
Wachtwoord: admin

Wijzig dit wachtwoord als onderdeel van de implementatie. Voor de volledige routergebaseerde en CSV-exportwerkstroom, zie Offline Energie-datalogger met IAMMETER-Docker.

8. MQTT en Andere Geavanceerde Functies

Poort 1883 wordt gebruikt door de IAMMETER-Docker MQTT-service. Een meter of een andere applicatie kan ondersteunde meetgegevens naar IAMMETER-Docker publiceren, en MQTT-clients kunnen zich abonneren op realtime waarden.

IAMMETER-Docker ondersteunt ook functies zoals:

  • MySQL in plaats van de standaard lokale database voor grotere datasets;
  • MQTT-publicatie en -abonnement;
  • PVOutput-doorsturing;
  • compatibele Tasmota-energiegegevens;
  • realtime alarmen en één-seconde datalogger-scenario's.

Deze functies zijn bewust buiten het basisimplementatiepad gehouden. Configureer en test eerst de kerncontainer en ga dan verder met de geavanceerde IAMMETER-Docker-gids.

9. Uw Energiegegevens Back-uppen

De /app/data-volume bevat persistente applicatiegegevens. Maak regelmatig een back-up van de overeenkomstige hostdirectory.

Een veilig basisproces is:

  1. stop of onderbreek het schrijven naar de container;
  2. kopieer de volledige aangekoppelde data-directory naar back-upopslag;
  3. voeg de datalogger-directory toe als CSV-logboekregistratie is ingeschakeld;
  4. bewaar meer dan één back-upgeneratie;
  5. test het herstel op een aparte container voordat u op de back-upplan vertrouwt.

Beschouw het containerbestandssysteem niet als permanente opslag. Als /app/data niet is aangekoppeld, kan het verwijderen van de container ook de monitoringdatabase verwijderen.

10. IAMMETER-Docker Upgraden

Maak voor het upgraden een back-up van de persistente gegevensdirectory.

Voor Docker Compose:

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

Voor een container gemaakt met docker run:

  1. noteer de bestaande poorten, tijdzone en volumekoppelingen;
  2. haal de nieuwe image op;
  3. stop en verwijder de oude container;
  4. maak de container opnieuw met dezelfde persistente volume;
  5. verifieer inloggen, meterstatus en historische gegevens.
docker pull iammeter/iammeter
docker stop myiammeter
docker rm myiammeter

Herhaal vervolgens het oorspronkelijke docker run-commando. Het verwijderen van een container is alleen veilig wanneer de applicatiegegevens zijn opgeslagen in een correct aangekoppelde en geback-upte hostdirectory.

11. Problemen Oplossen

De webpagina wordt niet geopend

  • Controleer of de container draait met docker ps of docker compose ps.
  • Controleer of hostpoort 5050 al in gebruik is.
  • Bekijk de containerlogboeken.
  • Controleer of de firewall toegang vanaf het lokale netwerk toestaat.

De meter verschijnt niet online

  • Controleer of de meter het IP-adres van de Docker-host kan bereiken.
  • Controleer de upload-URL en poort.
  • Controleer of het SN in IAMMETER-Docker overeenkomt met het meter-SN.
  • Gebruik niet localhost als serveradres in de meter; dit verwijst naar de meter zelf, niet naar de Docker-host.
  • Controleer of clientisolatie of een gast-Wi-Fi-netwerk het LAN-verkeer niet blokkeert.

Zonne-energiegegevens lijken onjuist

  • Controleer de CT-richting en bedrading.
  • Bevestig welk kanaal is toegewezen aan Grid en welk aan Inverter.
  • Controleer het teken van actief vermogen tijdens import en export.
  • Bevestig de tijdzone voordat u dagelijkse energietotalen vergelijkt.

Gegevens verdwijnen na het opnieuw maken van de container

  • Controleer of /app/data was aangekoppeld aan een persistente hostdirectory.
  • Controleer directorymachtigingen.
  • Herstel de laatste geverifieerde back-up als de oorspronkelijke volume niet beschikbaar is.

12. IAMMETER-Docker, IAMMETER-Cloud of een Eigen Systeem?

Optie Het beste voor Gegevenslocatie Implementatie-inspanning Belangrijkste afweging
IAMMETER-Docker Een kant-en-klare lokale monitoringserver Uw Docker-host Laag tot gemiddeld Minder beheerde cloudfuncties
IAMMETER-Cloud Kant-en-klaar monitoren, rapporten en externe toegang IAMMETER-Cloud Laag Gebruikt een gehoste cloudservice
Home Assistant / Node-RED Smart-home-entiteiten en maatwerk automatisering Uw eigen platform Gemiddeld U ontwerpt het dashboard en de werkstromen
Eigen server Een product, EMS of gespecialiseerde gegevenspijplijn Uw infrastructuur Hoog U ontwikkelt en onderhoudt het systeem

Ga verder met:

13. Implementatie-checklist

  • Docker-host heeft een stabiel LAN-adres.
  • /app/data is aangekoppeld aan persistente opslag.
  • De tijdzone komt overeen met de monitoringsite.
  • Standaardwachtwoorden zijn gewijzigd.
  • Poorten 5050 en 1883 zijn niet onnodig blootgesteld aan internet.
  • Meter-SN en kanaaltoewijzingen zijn correct.
  • Lokale upload is geverifieerd met live metingen.
  • Clouddoorsturing is alleen ingeschakeld wanneer vereist.
  • Back-up en upgrade-procedures zijn getest.
  • De datalogger-volume is aangekoppeld als CSV-export vereist is.

Laatst bijgewerkt: 17 juli 2026.

Boven