Hoe maak je een lokaal energie-dashboard met Grafana en InfluxDB?

Portret van Bas Hartman, Smart Home & Energie Adviseur
Bas Hartman
Smart Home & Energie Adviseur
Smart Home Protocollen & Hubs · 2026-02-15 · 5 min leestijd

Stel je voor: je zit achter je laptop, neemt een slok koffie en ziet in één oogopslag wat je zonnepanelen opwekken, hoeveel stroom je laadpaal slurpt en of je slimme thermostaat de boel nu opwarmt of afkoelt. Je hoeft niet te wachten op een dure energieleverancier met een app die traag is.

Jij bent de baas. Je bouwt je eigen energie-dashboard. Lokaal, supersnel en precies op maat.

Met Grafana en InfluxDB. Dit is niet moeilijks. Echt niet.

Het is gewoon een kwestie van de juiste stapjes zetten. Pak je Raspberry Pi erbij, laat die oude laptop draaien en laten we beginnen. In een uurtje of twee zit je in de cockpit van je eigen huis.

Wat je in huis moet halen

Je hebt niet veel nodig. Een computer die altijd aan blijft, een Raspberry Pi 4 (4GB is prima) of een oude laptop met Linux of Windows.

Een SD-kaartje van 32GB of meer. Verder een netwerkswitch of vrije poort op je router. En natuurlijk stroom.

Voor de software pak je Docker. Dat klinkt technisch, maar het is gewoon een doosje waarin programma’s veilig wonen. We draaien InfluxDB (je database) en Grafana (je dashboard) in aparte containers. Reken op een uurtje werk om alles op te zetten.

De kosten: nul euro, tenzij je een Pi moet kopen (rond de €60-€80).

Wat je meet, hangt af van je setup. Heb je zonnepanelen via een omvormer van SolarEdge, Growatt of Fronius? Een slimme meter van je energieleverancier?

Een laadpaal van Easee, Wallbox of EVBox? En een slimme thermostaat zoals Tado, Nest of Toon? Mooi.

We gaan die data verzamelen. Zorg dat je de API-toegang of een local integration hebt.

Bijvoorbeeld via Home Assistant, of direct via de API van je omvormer. Weet je wachtwoorden en IP-adressen? Schrijf ze op. Dat scheelt later gezoek.

Stap 1: Docker en de basis installeren

Begin bij het besturingssysteem. Op een Raspberry Pi installeer je Raspberry Pi OS Lite (64-bit). Geen desktop nodig.

Werk alles bij met sudo apt update && sudo apt upgrade -y. Installeer Docker met de officiële script: curl -fsSL https://get.docker.com | sh. Voeg je gebruiker toe aan de docker-groep: sudo usermod -aG docker $USER.

Log uit en weer in. Check of Docker draait met docker --version.

Dit duurt 10-15 minuten. Foutje? Vaak ligt het aan een verkeerde versie of internet.

Start de Pi opnieuw op en probeer opnieuw. Maak een map voor je project: mkdir ~/energy-stack && cd ~/energy-stack. Maak een bestand genaamd docker-compose.yml. Daarin zetten we de services.

Docker-compose bestand

InfluxDB draait standaard op poort 8086, Grafana op 3000. Kies een sterke wachtwoord voor InfluxDB, bijvoorbeeld een zin van 12 tekens. Schrijf het op.

Wees zuinig op dat wachtwoord. InfluxDB is je data-goudmijn. Zorg dat je Raspberry Pi een vaste IP-adres krijgt via je router (DHCP-reservering).

Noteer dat IP, bijvoorbeeld 192.168.1.50. Dat is straks je basisadres.

version: '3'
services:
  influxdb:
    image: influxdb:2.7
    container_name: influxdb
    ports:
  • "8086:8086"
volumes:
  • ./influx-data:/var/lib/influxdb2
environment:
  • DOCKER_INFLUXDB_INIT_MODE=setup
  • DOCKER_INFLUXDB_INIT_USERNAME=admin
  • DOCKER_INFLUXDB_INIT_PASSWORD=JouwSterkWachtwoord123
  • DOCKER_INFLUXDB_INIT_ORG=thuis
  • DOCKER_INFLUXDB_INIT_BUCKET=energie
  • DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=JouwLangToken1234567890abcdef
restart: unless-stopped grafana: image: grafana/grafana:10.2 container_name: grafana ports:
  • "3000:3000"
volumes:
  • ./grafana-data:/var/lib/grafana
environment:
  • GF_SECURITY_ADMIN_PASSWORD=JouwGrafanaWachtwoord
restart: unless-stopped

Kopieer dit in je docker-compose.yml (pas wachtwoorden aan): Dit start InfluxDB 2.7 en Grafana 10.2. De data wordt bewaard in mappen op je Pi.

Als je de Pi herstart, starten de containers automatisch op. Handig. Let op: kopieer de tokens en wachtwoorden naar een veilige plek.

Gebruik geen spaties in tokens. InfluxDB houdt niet van rare tekens in initialisatie.

Stap 2: InfluxDB configureren

Open je browser en ga naar http://192.168.1.50:8086 (je eigen IP). Je ziet het InfluxDB-scherm.

Log in met admin en je wachtwoord. Kies voor je organisatie ‘thuis’ en bucket ‘energie’. Sla de token op die je bij setup hebt gezien.

Die token heb je straks nodig om data te schrijven. Maak eventueel een extra token voor schrijven en een voor lezen. Dat is veiliger.

Wees zuinig op die tokens. Zet ze in een password-manager. In InfluxDB maak je metingen.

Denk aan ‘zonnepanelen’ met velden zoals ‘power’ (in Watt) en ‘opbrengst_kwh’. Of ‘laadpaal’ met ‘stroom’ en ‘energie’. Wees consistent.

curl -i -XPOST 'http://192.168.1.50:8086/api/v2/write?org=thuis&bucket=energie' \
  --header 'Authorization: Token JouwLangToken1234567890abcdef' \
  --header 'Content-Type: text/plain; charset=utf-8' \
  --data-binary 'zonnepanelen,location=dak power=1200'

Gebruik kleine letters en underscores. Bijvoorbeeld: meting = zonnepanelen, tag = location = ‘dak’, veld = power = 1200.

Als je een slimme meter via Home Assistant uitleest, kun je die data ook hierheen sturen. Test even of je data kunt schrijven via de API. Gebruik hiervoor een tool als Postman of curl. Een simpele curl: Zie je ‘HTTP/1.1 204 No Content’? Top, het werkt.

Zo niet, check je token, poort en spelling. Veelgemaakte fout: verkeerde bucketnaam of organisatie. Of een firewall die poort 8086 blokkeert.

Stap 3: Data verzamelen uit je slimme apparaten

Hoe krijg je data in InfluxDB? Er zijn twee wegen. Eerst: directe API’s.

Veel omvormers hebben een lokaal API. SolarEdge heeft een API-sleutel nodig, Growatt heeft een unofficial API.

Bij Fronius lees je ‘/solar/api/v1/PowerFlow’ uit. Een Python-scriptje op je Pi kan dit elke 5 seconden uitlezen en wegschrijven naar InfluxDB. Gebruik de Python-bibliotheken ‘requests’ en ‘influxdb-client’. Schrijf een simpel scriptje dat omvormer-data ophaalt en opstuurt.

Zet een cronjob: elke minuut draaien. Voorbeeld: haal vermogen (W), spanning (V) en totale opbrengst (kWh).

Tweede weg: via Home Assistant. HA is een krachtige hub. Je koppelt er je slimme meter (P1), je laadpaal, je thermostaat en misschien je omvormer.

In HA installeer je de ‘InfluxDB’ integration. Vul je InfluxDB URL (http://IP:8086), token, org en bucket in.

Kies welke entiteiten je wilt sturen. Bijvoorbeeld: sensor.power_production, sensor.car_charging_current, climate.thermostat_temperature.

De data stroomt automatisch naar InfluxDB. Dit is makkelijker dan losse scripts. Maar let op: sommige laadpalen (zoals Easee) vereisen een cloud-verbinding.

Die data is soms vertraagd. Kies voor lokale API’s waar het kan. Dat is sneller en privacyvriendelijker.

Praktische integratie-tips

  • Zonnepanelen: Lees de omvormer elke 10 seconden uit. Sla alleen waarden op als die veranderen. Dat scheelt database-grootte.
  • Laadpaal: Stuur stroom (A) en vermogen (W). Voeg een tag toe: auto='model3' of auto='id3'. Handig voor later.
  • Slimme thermostaat: Verzamel setpoint en actuele temperatuur. Soms ook boiler-stand. Wees zuinig met dataverzameling, elke minuut is genoeg.
  • Slagkracht: Gebruik een timer. Python script met while True: time.sleep(5). Of een Home Assistant automation die elke minuut een service aanroept.

Test je datastroom

Portret van Bas Hartman, Smart Home & Energie Adviseur
Over Bas Hartman

Bas is smart home adviseur en duurzaamheidsexpert met 10 jaar ervaring. Hij heeft meer dan 40 smart home systemen en energiebeheeroplossingen getest voor Nederlandse huishoudens.

Volgende stap
Bekijk alle artikelen over Smart Home Protocollen & Hubs
Ga naar overzicht →