Beklager, din browser understøtter ikke JavaScript!
Log ind

Selv-hostet energiovervågning med Docker

Selv-hostet energiovervågning med Docker

Et selv-hostet energiovervågningssystem holder overvågningsserveren og el-dataene under din kontrol. I stedet for at sende hver måling til en offentlig sky uploader energimåleren data til en Docker-container, der kører på en lokal server, NAS, Raspberry Pi eller kompatibel router.

IAMMETER-Docker leverer en klar-til-kørsel lokal energiovervågningsserver til elforbrug og solcelleanlæg (solar PV). Den kan indsamle målinger, vise realtids- og historiske data, eksponere API'er og eventuelt fungere som offline datalogger.

IAMMETER energy meter
        │
        │ Wi-Fi / local network
        ▼
IAMMETER-Docker
        │
        ├── Local web dashboard
        ├── Historical energy data
        ├── REST API
        ├── MQTT
        ├── CSV datalogger
        └── Optional forwarding

IAMMETER-Docker er en praktisk selv-hostet mulighed, men den gengiver ikke alle funktioner og rapporter i IAMMETER-Cloud. Hvis du stadig er i gang med at vælge arkitektur, kan du sammenligne mulighederne på siden om selv-hostede energiovervågningsløsninger.

🎬 Se video-vejledningen til IAMMETER-Docker

1. Hvornår skal du bruge et selv-hostet energiovervågningssystem?

IAMMETER-Docker er velegnet, når du ønsker at:

  • beholde energidata på en server, du selv administrerer;
  • overvåge elforbruget på et LAN uden at være afhængig af internetadgang;
  • oprette et lokalt dashboard til solovervågning;
  • indsamle data på en fjernplacering ved hjælp af en offline datalogger;
  • få adgang til målinger via et lokalt REST API eller MQTT;
  • videresende udvalgte data til en anden platform;
  • bygge et privat dashboard eller en integration omkring de lagrede energidata.

Typiske installationer omfatter:

  • overvågning af hjemmets elforbrug og solcelleanlæg;
  • værksteder, kontorer og mindre kommercielle steder;
  • fjernbeliggende solcelleanlæg og teknikrum;
  • udviklings- og testmiljøer;
  • projekter, hvor der kræves en lokal datasti.

Hvis du kun har brug for direkte måleraflæsninger til Home Assistant, Node-RED, en PLC eller brugerdefineret software, kan det være unødvendigt at implementere en komplet server. Se lokale og selv-hostede integrationsmuligheder, før du vælger.

2. Hvad du skal bruge

Før implementering skal du forberede:

  • en enhed, der kan køre Docker, f.eks. en Linux-server, NAS, Raspberry Pi eller kompatibel router;
  • vedvarende lagring til applikationsdatabasen;
  • TCP-port 5050 tilgængelig til webapplikationen og API'et;
  • TCP-port 1883, hvis den indbyggede MQTT-tjeneste skal bruges;
  • en stabil IP-adresse eller DHCP-reservation til Docker-værten;
  • en IAMMETER-energimåler eller en anden datakilde, der kan indsende det understøttede API-format.

Docker-værten og måleren skal kunne nå hinanden over det lokale netværk. Ved offline-drift er internetadgang ikke nødvendig, når image'et og den nødvendige software er installeret.

3. Implementér IAMMETER-Docker

Den aktuelle Docker Hub-udgivelse er IAMMETER-Docker V2.4.

3.1 Mulighed A: Docker run

Opret en arbejdsmappe, og kør containeren med vedvarende lagring:

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

Skift TZ=Etc/UTC til den korrekte tidszone for overvågningsstedet. Energirapporter afhænger af den lokale dato og det lokale klokkeslæt, så indstil dette, før du indsamler produktionsdata.

3.2 Mulighed B: Docker Compose

Opret 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 tjenesten:

docker compose up -d

Kontrollér dens status:

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

3.3 Åbn det lokale dashboard

Åbn følgende adresse fra en browser på samme netværk:

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

Standardlogin:

Username: testuser
Password: 123456

Skift standardadgangskoden med det samme. Eksponér ikke port 5050 eller 1883 direkte mod det offentlige internet uden en passende firewall, godkendelse og et sikkert netværksdesign.

IAMMETER-Docker login

4. Indledende konfiguration

Når du er logget ind:

  1. Opret et Place (sted) for hjemmet, solcelleanlægget eller den overvågede facilitet.
  2. Tilføj en Meter (måler).
  3. Indtast målerens serienummer (SN).
  4. Vælg den korrekte målertype: enkeltfaset eller trefaset.
  5. Tildel hver fase eller kanal som Grid (net), Inverter eller Load (last).
  6. Bekræft stedets tidszone og målestruktur, før du vurderer rapporterne.

Configure a meter in IAMMETER-Docker

Korrekt kanaltildeling er især vigtig ved solovervågning. Systemet skal vide, hvilken måling der repræsenterer nettet, inverteren eller lasten, før det kan vise meningsfulde resultater for energiflowet.

5. Tilslut en IAMMETER-energimåler

IAMMETER-målere kan uploade direkte til den lokale Docker-server.

I målerens WebUI skal du konfigurere tredjeparts HTTP-upload og bruge Docker-værtens adresse:

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

Docker-værtens IP skal kunne nås fra målerens Wi-Fi-netværk. Brug det samme måler-SN, som blev tilføjet til IAMMETER-Docker.

Configure HTTP upload to IAMMETER-Docker

Når du har gemt målerkonfigurationen:

  1. vent på den første upload;
  2. bekræft, at måleren vises online i IAMMETER-Docker;
  3. sammenlign spændings-, effekt- og energiværdier med målerens lokale data;
  4. kontrollér retningen og kanaltildelingen, før du stoler på sol- eller import/eksport-beregninger.

Brug IAMMETER-Cloud samtidig

IAMMETER-Docker kan eventuelt videresende målerdata til IAMMETER-Cloud. Aktivér kun videresendelse, når du ønsker både lokal lagring og IAMMETER-Cloud-tjenester.

Forward local data to IAMMETER-Cloud

Ved en offline- eller skyuafhængig installation skal du lade skyvideresendelse være deaktiveret.

6. Upload data fra en anden enhed eller applikation

IAMMETER-Docker kan også modtage understøttede energidata via sit REST API. Det er nyttigt til simulatorer, gateways eller kundeapplikationer, der ikke bruger en IAMMETER-måler.

Opret en måler med et brugerdefineret SN, og brug derefter det samme SN i hver API-anmodning.

Den interaktive API-dokumentation er tilgængelig på den lokale server:

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

IAMMETER-Docker API documentation

Test an IAMMETER-Docker API request

Test API'et på en ikke-produktionsmåler først. Hold SN, faseantal, feltrækkefølge og enheder konsistente, så de historiske data forbliver brugbare.

7. Kør en offline energidatalogger

IAMMETER-Docker V2.4 kan gemme data til CSV, når en datalogger-mappe er monteret. Det er nyttigt til et fjerntliggende solcelleanlæg, en fabrik eller et teknikrum uden pålidelig internetforbindelse.

Docker run med datalogger-lagring

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

Til Docker Compose skal du tilføje denne volume:

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

Åbn datalogger-siden på:

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

Datalogger-siden bruger i første omgang:

Username: admin
Password: admin

Skift denne adgangskode som en del af implementeringen. For den komplette routerbaserede workflow med CSV-eksport, se Offline energidatalogger med IAMMETER-Docker.

8. MQTT og andre avancerede funktioner

Port 1883 bruges af IAMMETER-Docker's MQTT-tjeneste. En måler eller en anden applikation kan publicere understøttede måledata til IAMMETER-Docker, og MQTT-klienter kan abonnere på realtidsværdier.

IAMMETER-Docker understøtter også funktioner som:

  • MySQL i stedet for den standard lokale database til større datasæt;
  • MQTT-publicering og -abonnement;
  • PVOutput-videresendelse;
  • kompatible Tasmota-energidata;
  • realtidsalarmer og datalogger-scenarier med et sekunds opløsning.

Disse funktioner er bevidst holdt uden for den grundlæggende implementeringssti. Konfigurér og test kernecontaineren først, og fortsæt derefter med den avancerede IAMMETER-Docker-guide.

9. Sikkerhedskopier dine energidata

Volume'en /app/data indeholder vedvarende applikationsdata. Sikkerhedskopier den tilsvarende vært-mappe regelmæssigt.

En sikker grundproces er:

  1. stop eller sæt skrivninger til containeren på pause;
  2. kopiér hele den monterede data-mappe til backup-lagringen;
  3. medtag datalogger-mappen, når CSV-logning er aktiveret;
  4. behold mere end én backup-generation;
  5. test gendannelse på en separat container, før du stoler på backup-planen.

Betragt ikke containerens filsystem som permanent lagring. Hvis /app/data ikke er monteret, kan fjernelse af containeren også fjerne overvågningsdatabasen.

10. Opgrader IAMMETER-Docker

Før du opgraderer, skal du sikkerhedskopiere mappen med de vedvarende data.

Til Docker Compose:

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

For en container oprettet med docker run:

  1. notér de eksisterende porte, tidszone og volume-monteringer;
  2. hent det nye image;
  3. stop og fjern den gamle container;
  4. opret containeren igen med den samme vedvarende volume;
  5. kontrollér login, målerstatus og historiske data.
docker pull iammeter/iammeter
docker stop myiammeter
docker rm myiammeter

Gentag derefter den oprindelige docker run-kommando. Det er kun sikkert at fjerne en container, når applikationsdataene er gemt i en korrekt monteret og sikkerhedskopieret vært-mappe.

11. Fejlfinding

Websiden åbner ikke

  • Bekræft, at containeren kører med docker ps eller docker compose ps.
  • Kontrollér, om værtsport 5050 allerede er i brug.
  • Gennemgå containerens logfiler.
  • Bekræft, at firewallen tillader adgang fra det lokale netværk.

Måleren vises ikke online

  • Bekræft, at måleren kan nå Docker-værtens IP.
  • Kontrollér upload-URL'en og porten.
  • Bekræft, at SN'et i IAMMETER-Docker matcher målerens SN.
  • Undgå at bruge localhost som serveradresse i måleren; det henviser til selve måleren, ikke Docker-værten.
  • Bekræft, at klientisolering eller et gæste-Wi-Fi-netværk ikke blokerer LAN-trafikken.

Solcelledata ser forkerte ud

  • Kontrollér CT-retningen og ledningsføringen.
  • Bekræft, hvilken kanal der er tildelt Grid (net), og hvilken der er tildelt Inverter.
  • Kontrollér fortegnet for aktiv effekt under import og eksport.
  • Bekræft tidszonen, før du sammenligner de daglige energitotaler.

Data forsvinder efter genskabelse af containeren

  • Bekræft, at /app/data blev monteret til en vedvarende vært-mappe.
  • Kontrollér mappens tilladelser.
  • Gendan den seneste verificerede backup, hvis den oprindelige volume ikke er tilgængelig.

12. IAMMETER-Docker, IAMMETER-Cloud eller et brugerdefineret system?

Mulighed Bedst til Dataplacering Opsætningsindsats Vigtigste afvejning
IAMMETER-Docker En klar-til-brug lokal overvågningsserver Din Docker-vært Lav til medium Færre administrerede skyfunktioner
IAMMETER-Cloud Færdiglavet overvågning, rapporter og fjernadgang IAMMETER-Cloud Lav Bruger en hosted skyttjeneste
Home Assistant / Node-RED Smart home-enheder og brugerdefineret automatisering Din egen platform Medium Du designer dashboardet og arbejdsgangene
Brugerdefineret server Et produkt, EMS eller en specialiseret datapipeline Din infrastruktur Høj Du udvikler og vedligeholder systemet

Fortsæt med:

13. Implementerings-tjekliste

  • Docker-værten har en stabil LAN-adresse.
  • /app/data er monteret til vedvarende lagring.
  • Tidszonen matcher overvågningsstedet.
  • Standardadgangskoderne er blevet ændret.
  • Port 5050 og 1883 er ikke unødvendigt eksponeret mod internettet.
  • Måler-SN og kanaltildelinger er korrekte.
  • Lokal upload er verificeret med live-målinger.
  • Skyvideresendelse er kun aktiveret, når det er nødvendigt.
  • Backup- og opgraderingsprocedurer er testet.
  • Datalogger-volume'en er monteret, hvis CSV-eksport er påkrævet.

Sidst opdateret: 17. juli 2026.

Top