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

Självhostad energimätning med Docker

Självhostad energimätning med Docker

Ett självhostat energimätningssystem håller mätningsservern och elmätningsdatan under din kontroll. I stället för att skicka varje avläsning till ett offentligt moln laddar energimätaren upp data till en Docker-container som körs på en lokal server, NAS, Raspberry Pi eller en kompatibel router.

IAMMETER-Docker tillhandahåller en färdig att köra lokal energimätningsserver för elförbrukning och solcellssystem. Den kan samla in mätningar, visa realtids- och historiska data, exponera API:er och eventuellt fungera som en offline-datalogger.

IAMMETER energimätare
        │
        │ Wi-Fi / lokalt nätverk
        ▼
IAMMETER-Docker
        │
        ├── Lokal webbinstrumentpanel
        ├── Historiska energidata
        ├── REST API
        ├── MQTT
        ├── CSV-datalogger
        └── Valfri vidarebefordring

IAMMETER-Docker är ett praktiskt självhostat alternativ, men det återskapar inte varje funktion och rapport i IAMMETER-Cloud. Om du fortfarande väljer en arkitektur, jämför alternativen på sidan om självhostade energimätningslösningar.

🎬 Se videohandledningen för IAMMETER-Docker

1. När ska du använda ett självhostat energimätningssystem?

IAMMETER-Docker är lämpligt när du vill:

  • behålla energidata på en server du hanterar;
  • övervaka elförbrukning i ett LAN utan att vara beroende av Internetåtkomst;
  • distribuera en lokal solövervakningsinstrumentpanel;
  • samla in data på en avlägsen plats med en offline-datalogger;
  • komma åt mätningar via ett lokalt REST API eller MQTT;
  • vidarebefordra utvalda data till en annan plattform;
  • bygga en privat instrumentpanel eller integration kring lagrade energidata.

Typiska installationer inkluderar:

  • hemmets el- och solcellsövervakning;
  • verkstäder, kontor och små kommersiella platser;
  • avlägsna solsystem och utrustningsrum;
  • utvecklings- och testmiljöer;
  • projekt där en lokal dataväg krävs.

Om du bara behöver direkta mätaravläsningar för Home Assistant, Node-RED, en PLC eller anpassad programvara, kan det vara onödigt att distribuera en komplett server. Se lokala och självhostade integrationsalternativ innan du väljer.

2. Vad du behöver

Före distribution, förbered:

  • en enhet som kan köra Docker, såsom en Linux-server, NAS, Raspberry Pi eller en kompatibel router;
  • beständigt lagringsutrymme för applikationsdatabasen;
  • TCP-port 5050 tillgänglig för webbapplikationen och API:et;
  • TCP-port 1883 om den inbyggda MQTT-tjänsten ska användas;
  • en stabil IP-adress eller DHCP-reservation för Docker-värden;
  • en IAMMETER-energimätare, eller en annan datakälla som kan skicka det stödda API-formatet.

Docker-värden och mätaren ska kunna nå varandra över det lokala nätverket. För offline-drift behövs ingen Internetåtkomst efter att avbilden och den nödvändiga programvaran har installerats.

3. Distribuera IAMMETER-Docker

Den aktuella Docker Hub-versionen är IAMMETER-Docker V2.4.

3.1 Alternativ A: Docker run

Skapa en arbetskatalog och kör containern med beständigt lagringsutrymme:

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

Ändra TZ=Etc/UTC till rätt tidszon för övervakningsplatsen. Energirapporter beror på lokalt datum och tid, så ställ in detta innan du samlar in produktionsdata.

3.2 Alternativ B: Docker Compose

Skapa 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

Starta tjänsten:

docker compose up -d

Kontrollera dess status:

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

3.3 Öppna den lokala instrumentpanelen

Öppna följande adress från en webbläsare i samma nätverk:

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

Standardinloggning:

Användarnamn: testuser
Lösenord: 123456

Ändra standardlösenordet omedelbart. Exponera inte port 5050 eller 1883 direkt mot det offentliga Internet utan lämplig brandvägg, autentisering och säker nätverksdesign.

IAMMETER-Docker inloggning

4. Inledande konfiguration

Efter inloggning:

  1. Skapa en Place (plats) för hemmet, solplatsen eller den övervakade anläggningen.
  2. Lägg till en Meter (mätare).
  3. Ange mätarens serienummer (SN).
  4. Välj rätt enfas- eller trefasmätartyp.
  5. Tilldela varje fas eller kanal som Grid (nät), Inverter (växelriktare) eller Load (last).
  6. Bekräfta platsens tidszon och mätstruktur innan du utvärderar rapporter.

Konfigurera en mätare i IAMMETER-Docker

Korrekt kanaltilldelning är särskilt viktig för solövervakning. Systemet måste veta vilken mätning som representerar nätet, växelriktaren eller lasten innan det kan visa meningsfulla energiflödesresultat.

5. Anslut en IAMMETER-energimätare

IAMMETER-mätare kan ladda upp direkt till den lokala Docker-servern.

I mätarens WebUI konfigurerar du uppladdning av tredje part via HTTP och använder Docker-värdens adress:

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

Docker-värdens IP måste vara nåbar från mätarens Wi-Fi-nätverk. Använd samma mätar-SN som lades till i IAMMETER-Docker.

Konfigurera HTTP-uppladdning till IAMMETER-Docker

Efter att du har sparat mätarkonfigurationen:

  1. vänta på den första uppladdningen;
  2. bekräfta att mätaren visas som online i IAMMETER-Docker;
  3. jämför spännings-, effekt- och energivärden med mätarens lokala data;
  4. verifiera riktningen och kanaltilldelningen innan du förlitar dig på sol- eller import/export-beräkningar.

Använd IAMMETER-Cloud samtidigt

IAMMETER-Docker kan eventuellt vidarebefordra mätardata till IAMMETER-Cloud. Aktivera vidarebefordring endast när du vill ha både lokal lagring och IAMMETER-Cloud-tjänster.

Vidarebefordra lokala data till IAMMETER-Cloud

För en offline- eller molnoberoende installation, lämna molnvidarebefordringen avaktiverad.

6. Ladda upp data från en annan enhet eller applikation

IAMMETER-Docker kan också ta emot stödda energidata genom sitt REST API. Detta är användbart för simulatorer, gateways eller kundapplikationer som inte använder en IAMMETER-mätare.

Skapa en mätare med ett anpassat SN och använd sedan samma SN i varje API-begäran.

Den interaktiva API-dokumentationen finns på den lokala servern:

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

IAMMETER-Docker API-dokumentation

Testa en IAMMETER-Docker API-begäran

Testa API:et på en icke-produktionsmätare först. Håll SN, antal faser, fältordning och enheter konsekventa så att historiska data förblir användbara.

7. Kör en offline-energidatalogger

IAMMETER-Docker V2.4 kan spara data till CSV när en dataloggerkatalog är monterad. Detta är användbart för en avlägsen solplats, fabrik eller utrustningsrum utan tillförlitlig Internetanslutning.

Docker run med dataloggerlagring

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, lägg till denna volym:

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

Öppna dataloggerns sida på:

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

Dataloggerns sida använder initialt:

Användarnamn: admin
Lösenord: admin

Ändra detta lösenord som en del av distributionen. För det fullständiga routerbaserade och CSV-exportarbetsflödet, se Offline-energidatalogger med IAMMETER-Docker.

8. MQTT och andra avancerade funktioner

Port 1883 används av IAMMETER-Dockers MQTT-tjänst. En mätare eller en annan applikation kan publicera stödda mätdata till IAMMETER-Docker, och MQTT-klienter kan prenumerera på realtidsvärden.

IAMMETER-Docker stöder också funktioner som:

  • MySQL i stället för den inbyggda lokala databasen för större datamängder;
  • MQTT-publicering och prenumeration;
  • PVOutput-vidarebefordring;
  • kompatibla Tasmota-energidata;
  • realtidslarm och en sekunds dataloggerscenarier.

Dessa funktioner hålls medvetet utanför den grundläggande distributionsvägen. Konfigurera och testa den grundläggande containern först och fortsätt sedan med den avancerade IAMMETER-Docker-guiden.

9. Säkerhetskopiera dina energidata

Volymen /app/data innehåller beständiga applikationsdata. Säkerhetskopiera motsvarande värdkatalog regelbundet.

En säker grundläggande process är:

  1. stoppa eller pausa skrivningar till containern;
  2. kopiera hela den monterade data-katalogen till backup-lagring;
  3. inkludera datalogger-katalogen när CSV-logging är aktiverad;
  4. behåll mer än en backup-generation;
  5. testa återställningen på en separat container innan du förlitar dig på backup-planen.

Behandla inte containerns filsystem som permanent lagring. Om /app/data inte är monterat kan borttagning av containern även ta bort övervakningsdatabasen.

10. Uppgradera IAMMETER-Docker

Innan du uppgraderar, säkerhetskopiera den beständiga datakatalogen.

För Docker Compose:

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

För en container som skapats med docker run:

  1. notera de befintliga portarna, tidszonen och volymmonteringarna;
  2. hämta den nya avbilden;
  3. stoppa och ta bort den gamla containern;
  4. skapa containern igen med samma beständiga volym;
  5. verifiera inloggning, mätarstatus och historiska data.
docker pull iammeter/iammeter
docker stop myiammeter
docker rm myiammeter

Upprepa sedan det ursprungliga docker run-kommandot. Att ta bort en container är säkert endast när applikationsdata har lagrats i en korrekt monterad och säkerhetskopierad värdkatalog.

11. Felsökning

Webbsidan öppnas inte

  • Bekräfta att containern körs med docker ps eller docker compose ps.
  • Kontrollera om värdporten 5050 redan används.
  • Granska containerloggarna.
  • Bekräfta att brandväggen tillåter åtkomst från det lokala nätverket.

Mätaren visas inte som online

  • Bekräfta att mätaren kan nå Docker-värdens IP.
  • Kontrollera uppladdnings-URL:en och porten.
  • Bekräfta att SN i IAMMETER-Docker matchar mätarens SN.
  • Undvik att använda localhost som serveradress i mätaren; det hänvisar till mätaren själv, inte till Docker-värden.
  • Bekräfta att klientisolering eller ett gäst-Wi-Fi-nätverk inte blockerar LAN-trafik.

Solcellerna ser felaktiga ut

  • Verifiera CT-riktningen och kabeldragningen.
  • Bekräfta vilken kanal som är tilldelad Grid och vilken som är tilldelad Inverter.
  • Kontrollera tecknet för aktiv effekt vid import och export.
  • Bekräfta tidszonen innan du jämför dagliga energitotaler.

Data försvinner efter att containern har återskapats

  • Bekräfta att /app/data monterades till en beständig värdkatalog.
  • Kontrollera katalogbehörigheterna.
  • Återställ den senast verifierade backupen om den ursprungliga volymen inte är tillgänglig.

12. IAMMETER-Docker, IAMMETER-Cloud eller ett anpassat system?

Alternativ Bäst för Dataplats Installationsinsats Viktigaste avvägning
IAMMETER-Docker En färdig lokal övervakningsserver Din Docker-värd Låg till medel Färre hanterade molnfunktioner
IAMMETER-Cloud Färdig övervakning, rapporter och fjärråtkomst IAMMETER-Cloud Låg Använder en molnbaserad tjänst
Home Assistant / Node-RED Smart-hem-enheter och anpassad automatisering Din egen plattform Medel Du designar instrumentpanelen och arbetsflödena
Anpassad server En produkt, EMS eller specialiserad datapipeline Din infrastruktur Hög Du utvecklar och underhåller systemet

Fortsätt med:

13. Distributionschecklista

  • Docker-värden har en stabil LAN-adress.
  • /app/data är monterad till beständig lagring.
  • Tidszonen matchar övervakningsplatsen.
  • Standardlösenorden har ändrats.
  • Portarna 5050 och 1883 exponeras inte i onödan mot Internet.
  • Mätar-SN och kanaltilldelningar är korrekta.
  • Lokal uppladdning har verifierats med live-mätningar.
  • Molnvidarebefordring är aktiverad endast när det krävs.
  • Backup- och uppgraderingsprocedurer har testats.
  • Datalogger-volymen är monterad om CSV-export krävs.

Senast uppdaterad: 17 juli 2026.

Upp