Slimme meter uitlezen in Home Assistant op een Synology NAS

Update 2021

Dit blog was oorspronkelijk in 2018 gepubliceerd. In november 2021 heb ik dit blog bijgewerkt zodat alles weer helemaal up-to-date is. Deze stappen werken ook met DSM7.0

Heb je Home Assistant op je Synology NAS draaien (zie mijn andere blog hoe je dit voor elkaar krijgt) en wil je graag zien hoeveel energie en gas je verbruikt of hoeveel zonne-energie je opwekt? Dan kan je Home Assistant koppelen met je slimme meter (middels een P1 usb-kabel).

Toegang tot slimme meter

Ik gebruik een zogeheten P1 kabel om mijn slimme meter uit te lezen. Om dit werkend te krijgen zijn enkele minimale aanpassingen aan de Synology NAS nodig. Vervolgens kan je binnen Home Assistant informatie zoals hieronder naar voren toveren. P1 kabel gegevens

Standaard worden een aantal kernel modules niet geladen die nodig zijn om de aangesloten USB kabel te gebruiken binnen Docker. De modules zijn gelukkig wel aanwezig en kunnen middels een simpel scriptje automatisch geladen worden tijdens het booten van de NAS. Controleer voordat je begint of deze aanpassingen daadwerkelijk nodig zijn, je doet dit door het volgende command te draaien na inloggen via SSH;

ls /dev/ttyUSB*

Krijg je de melding “No such file or directory” dan is het nodig onderstaande stappen uit te voeren.

  • Maak een shell script genaamd “/usr/local/etc/rc.d/startup.sh”
  • Neem de volgende code op in het shell script
#!/bin/bash
insmod /lib/modules/usbserial.ko
insmod /lib/modules/ftdi_sio.ko

Sla het bestand op, maak deze executable (chmod 755) en reboot de NAS. Als je nu opnieuw het eerdere controle commando uitvoert dan zou je bijv. “/dev/ttyUSB0” moeten zien.

Het is nu zaak om de Docker container te configureren zodat deze /dev/ttyUSB0 gaat gebruiken. Dit is helaas niet in te stellen via de Synology interface, maar dit is zonder problemen via de terminal aan te passen. Hiervoor gooien we eerst de Docker container weg (dit kan via de Synology interface of de terminal) en maken deze met onderstaand commando opnieuw aan.

sudo docker run -d \
  --name="homeassistant" \
  -v /volume1/docker/HomeAssistant:/config \
  --device /dev/ttyUSB0:/dev/ttyUSB0 \
  --net=host \
  -e TZ=Europe/Amsterdam \
  homeassistant/home-assistant:latest

Je zal na het uitvoeren van bovenstaand commando weer netjes een draaiende container zien verschijnen binnen de Synology interface. Je kan die vervolgens naar hartelust aanpassen, kijk voor alle opties in de officiele documentatie van de DSMR Slimmer Meter integratie.

Gerelateerde blogs