Slimme Meter Uitlezen
Hoe kun je met een raspberry pi, je energieverbruik monitoren?
De nieuwe Nederlandse Slimme meters zijn voorzien van een zgn P1 poort. Met deze poort kan de eindgebruiker zelf de meter electronisch uitlezen en het energieverbruik monitoren. Dit energieverbruik bestaat uit informatie over het elektriciteitsverbruik en het gasverbruik (als de meter verbonden is met een slimme gasmeter).
De P1 poort kan verbonden worden met een speciale kabel om de gegevens van de meter te verkrijgen. Deze gegevens kunnen dan bijvoorbeeld met de gratis Domoticz software bekeken worden. Deze software hoeft niet op de raspberry pi, die rechtstreeks via de serieele port met de slimme meter praat, te draaien. Je wilt eigenlijk de Domoticz server ergens ver van de meterkast hosten. Het enige wat de raspberry pi moet regelen is dat de P1 gegevens via een netwerk TCP socket op afstand uit te lezen zijn.
TCP/IP - serial bridge
Met python zou je een ‘serial to tcp bridge’ kunnen implementeren op de raspberry pi, die je in de meterkast hebt hangen en met de kabel verbonden hebt met de slimme meter. Op het internet is de voorbeeldcode te vinden; bijvoorbeeld ‘TCP/IP - serial bridge’
python tcp_serial_redirect.py -P 7000 /dev/ttyUSB0 115200
De 7000 is de tpc port waarop geluisterd wordt. Vanaf een ander systeem kan een verbinding met de tcp socket worden gemaakt (er kan maar 1 verbinding tegelijk gemaakt worden met de socket).
Run TCP/IP - serial bridge als service
Om te zorgen dat ‘serial to tcp bridge’ als een service gaat werken die meteen weer opstart zodra de raspberry pi opstart, kan je gebruik maken van port_publisher.py en port_publisher.sh scripts opdezelfde voorbeeldpagina.
Plaats de bestanden port_publisher.py en port_publisher.sh in /usr/local/bin
Maak een bestand port_publisher.service aan in /usr/local/etc/systemd/system (maak de directory eventueel aan als deze niet bestaat) met de volgende inhoud:
[Unit]
Description=Serial to Network (TCP/IP) publisher
SourcePath=/usr/local/bin/port_publisher.sh
[Service]
Type=forking
Restart=no
TimeoutSec=5min
IgnoreSIGPIPE=no
KillMode=process
GuessMainPID=no
RemainAfterExit=yes
ExecStart=/usr/local/bin/port_publisher.sh start
ExecStop=/usr/local/bin/port_publisher.sh stop
[Install]
WantedBy=multi-user.target
Maak een symbolic link in de directory /etc/systemd/system naar /usr/local/etc/systemd/system/port_publisher.service en start de service meteen op:
cd /etc/systemd/system
sudo ln -s /usr/local/etc/systemd/system/port_publisher.service
sudo systemctl daemon-reload
sudo systemctl enable port_publisher.service
sudo systemctl start port_publisher.service
De port_publisher.service zal nu automatisch opgestart worden zodra de Raspberry Pi opstart.
Configureer de Domoticz software
Voeg de slimme meter configuratie toe aan Domoticz -> Setup -> Hardware (gebruik ip-adres van de raspberry pi als Remote Address)