Skip to content
Log your Energy Meter data on a Raspberry Pi and plot graphs of your energy consumption
Python
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore Initial commit Oct 27, 2017
CHANGELOG.md Added files Nov 8, 2017
LICENSE Initial commit Oct 27, 2017
README.md Added link to Hackster project Nov 26, 2017
SDM120.yml Added files Nov 8, 2017
SDM630.yml Fixes typo and closes #1 Dec 4, 2017
influx_config.yml Added files Nov 8, 2017
meters.yml Added files Nov 8, 2017
read_energy_meter.py Update read_energy_meter.py Oct 20, 2018
setup.py Updated README Nov 8, 2017
write_register.py Fixes typo and closes #1 Dec 4, 2017

README.md

Energy Meter Logger

Log your Energy Meter data on a Raspberry Pi and plot graphs of your energy consumption. Its been verified to work with a Raspberry Pi with a Linksprite RS485 shield and reading values from WEBIQ131D / SDM120 and WEBIQ343L / SDM630. By changing the meters.yml file and making a corresponding [model].yml file it should be possible to use other modbus enabled models.

Requirements

Hardware

Software

Prerequisite

This project has been documented at Hackster. Please follow the instructions there for more detailed information.

Installation

Install InfluxDB*

Step-by-step instructions
  • Add the InfluxData repository
    $ curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -
    $ source /etc/os-release
    $ test $VERSION_ID = "9" && echo "deb https://repos.influxdata.com/debian stretch stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
  • Download and install
    $ sudo apt-get update && sudo apt-get install influxdb
  • Start the influxdb service
    $ sudo service influxdb start
  • Create the database
    $ influx
    CREATE DATABASE db_meters
    exit


*source

Install Grafana*

Step-by-step instructions
  • Add APT Repository
    $ echo "deb https://dl.bintray.com/fg2it/deb-rpi-1b jessie main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
  • Add Bintray key
    $ curl https://bintray.com/user/downloadSubjectPublicKey?username=bintray | sudo apt-key add -
  • Now install
    $ sudo apt-get update && sudo apt-get install grafana

  • Start the service using systemd:
    $ sudo systemctl daemon-reload
    $ sudo systemctl start grafana-server
    $ systemctl status grafana-server
  • Enable the systemd service so that Grafana starts at boot.
    $ sudo systemctl enable grafana-server.service
  • Go to http://localhost:3000 and login using admin / admin (remember to change password) *source

Install Energy Meter Logger:

  • Download and install from Github
    $ git clone https://github.com/samuelphy/energy-meter-logger
  • Run setup script (must be executed as root (sudo) if the application needs to be started from rc.local, see below)
    $ cd energy-meter-logger
    $ sudo python setup.py install
  • Make script file executable
    $ chmod 777 read_energy_meter.py
  • Edit meters.yml to match your configuration
  • Test the configuration by running:
    ./read_energy_meter.py
    ./read_energy_meter.py --help # Shows you all available parameters
  • To run the python script at system startup. Add to following lines to the end of /etc/rc.local but before exit:
    # Start Energy Meter Logger
    /home/pi/energy-meter-logger/read_energy_meter.py --interval 60 > /var/log/energy_meter.log &
    Log with potential errors are found in /var/log/energy_meter.log
You can’t perform that action at this time.