New smart meter installed (Iskra ME382 and Landis + Gyr gasmeter E06140)

Last week Liander, one of the biggest energy network maintainers in the Netherlands installed a new smart meter at my place. Actually they installed two new meters: the Landis+Gyr E06140 to measure gas usage and the Iskra ME382 to measure electricity. Both devices are linked together and the electricity meter provides a P1 port, this is a open and accessible port to retrieve data from the meter. More information about this P1 port can be found here.
Of course I couldn’t resist that P1 port, and I just had to try and get the data out! Here’s a picture of the smart meter with the P1 port annotated (click for a bigger picture):



Hardware

The P1 port is a RJ11 port, using the following pin out:

I grabbed an old modem cable, with RJ11 plug and then I connected the appropriate pins to a modern devices USB-BUB. This device provides all the pins required. The request pin, as described above must be kept “HIGH” to retrieve data (i.e. provide 5V all the time). So I connected the request pin to the USb-BUB 5V. The other pins are DATA for the output, which I connected to the RX pin of the USB-BUB and GND which I obviously connected to the USB-BUB’s ground. This is a temporary solution until I get a proper 5V FTDI cable.

Note: to connect to the serial port, you need special port settings: 7 data bits (instead of the more regular 8) with even parity at 9600 baud.

Software

The P1 port uses a reversed serial protocol (1=0 and 0=1), to get this to work with a FTDI chip (this chip is used on the USB-BUB) you need to reverse the RX pin. Luckily FTDI provides a tool known as FT_PROG to do this. Thanks to Verkenner on the domoticaforum for figuring this one out. Here is a screenshot which shows you how to make the inverse RX setting in FT_PROG:

After programming you can also use the same cable under Linux, which is good because I run HouseAgent on Linux. Creating a plugin for HouseAgent was an easy task, it took me roughly 1.5 hours. For those of you interested in this plugin, you can find it’s source on Github.
And because of the built in graphing capabilities of HouseAgent (the screenshot is v0.2 btw 🙂 ), it was easy to create a graph of the current power usage (click for larger image):

One more thing I would like is bar charts of power usage over a longer period, but this requires some modifications in HouseAgent.
So there you have it, total insight on energy and gas usage!