Awesome Open Source
Awesome Open Source

Linkindle

Maintenance notice

This repo has become outdated due to changes in Enedis' website and authentication system. I highly recommend that you migrate to an up-to-date and better maintained project such as guillaumezin/DomoticzLinky.

The original repo stays here for reference purposes. Thank you. 🙏

Linkpy library

PyPI version

This repository includes Linkpy, an easy-to-use Python package for reading Linky data from the Enedis website.

Check it out here.

What is this project?

I wanted a way to display my energetic consumption on my wall, like on a weather station. I looked into different display solutions, and it turns out the nicest and easiest seems to be hacking a Kindle into displaying images refreshed periodically.

I therefore started making a graph generator that would take the data reported by my Linky electricity meter. The data is sent periodically to Enedis, which in turn offers a webpage which displays it - and makes it available through a private JSON API.

Linky

A few hours later, I had a Python script that could log into the Enedis website and download the meter's data. It can then be processed by the Python script, to generate PNG files of graphs that I will then display on the Kindle.

Example output

The script will generate the same graphs as the ones available on Enedis' website, that is to say:

  • Hourly consumption
  • Daily consumption
  • Monthly consumption
  • Yearly consumption

Here's what it looks like:

The daily consumption graph generated by the script

Requirements

The scripts require a Python 3 environment with some packages, as well as a LaTeX distribution for generating the graphs. Here's a list for a Debian system:

  • python3
  • python3-numpy
  • python3-dateutil
  • python3-matplotlib
  • texlive
  • texlive-latex-extra
  • dvipng

Usage

Set up environment variables containing your Enedis email and password.

export LINKY_USERNAME="[email protected]"
export LINKY_PASSWORD="passwordnaze"

Then, just start linky_plot.py to generate the graphs.

python3 linky_plot.py -o <output directory>

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
python (50,901
iot (550
python-3 (197
kindle (26

Find Open Source By Browsing 7,000 Topics Across 59 Categories