This tool reads the values contained inside Landis+Gyr power-meters and sends the output to InfluxDB. It has been tested with the ZMB120 model, but it should work with any other IEC 62056 compliant devices too.
Some meters report usage data as floating point numbers. Others report as integers only, unfortunately.
I'm using an USB infrared probe to read the data, they are available assembled or as DIY kits:
- https://shop.weidmann-elektronik.de/index.php?page=product&info=24
- http://www.optical-probe.de/Optical%20probes/op200.html
- https://www.ebay.ch/sch/i.html?_sop=15&LH_PrefLoc=2&LH_BIN=1&_nkw=optical+probe+kit
- http://wiki.volkszaehler.org/hardware/controllers/ir-schreib-lesekopf
Install few dependencies using pip
- pyserial
- influxdb
You'll have to statically set the InfluxDB server IP address, database and credential settings inside the code for now.
$ python ./smartmeter.py
- save smartmeter.service to /lib/systemd/system/
sudo chmod 644 /lib/systemd/system/smartmeter.service
sudo systemctl daemon-reload
sudo systemctl enable smartmeter.service
sudo systemctl start smartmeter.service
sudo systemctl status smartmeter.service
The last command should report the service running.
Joost Baltissen is the author of the inital code. Romain Aviolat added output to InfluxDB.