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.servicesudo systemctl daemon-reloadsudo systemctl enable smartmeter.servicesudo systemctl start smartmeter.servicesudo systemctl status smartmeter.serviceThe last command should report the service running.
Joost Baltissen is the author of the inital code. Romain Aviolat added output to InfluxDB.