An open API service indexing awesome lists of open source software.

https://github.com/cwi-dis/iotsasmartmeter

iotsaSmartMeter reads electricity and gas usage of a dutch Smart Meter through the standardised P1 port and makes the data available on the net.
https://github.com/cwi-dis/iotsasmartmeter

esp8266-arduino iot iotsa

Last synced: 4 months ago
JSON representation

iotsaSmartMeter reads electricity and gas usage of a dutch Smart Meter through the standardised P1 port and makes the data available on the net.

Awesome Lists containing this project

README

          

# iotsaSmartMeter - web interface to dutch smart meter

![build-platformio](https://github.com/cwi-dis/iotsaSmartMeter/workflows/build-platformio/badge.svg)
![build-arduino](https://github.com/cwi-dis/iotsaSmartMeter/workflows/build-arduino/badge.svg)

iotsaSmartMeter reads electricity and gas usage of a dutch Smart Meter through the standardised P1 port and makes the data available on the net.

Home page is .
This software is licensed under the [MIT license](LICENSE.txt) by the CWI DIS group, .

Details on the standardised P1 port on dutch smart meters (including protocol, pinout, etc) can be found at
## Software requirements

* Arduino IDE, v1.6 or later.
* The iotsa framework, download from .

## Hardware requirements

* a iotsa board.
* A RJ25 6P6C connector (often incorrectly called RJ11 6P6C).

Note: the code compiles on esp32, but this is untested (as of January 2021).

## Hardware construction

Instructions for constructing the hardware are provided in the _extras_ subfolder. [p1reader-board.pdf](extras/p1reader-board.pdf) has the hardware diagram for the iotsa board. The [Fritzing](http://fritzing.org/home/) project is also available as [p1reader-board.fzz](extras/p1reader-board.fzz).

The P1 port provides power, but unfortunately not enough for the ESP-12 to operate under all circumstances, so you will have to add an external power supply.

## Building the software

Unless you have used different GPIO pins there is nothing to configure.

The _P1Parser_ class parses most common P1 fields. If there are more fields you want: modify `P1Parser::next()`, after consulting the P1 documentation referenced above.

Compile, and flash either using an FTDI or over-the-air.

## Operation

The first time the board boots it creates a Wifi network with a name similar to _config-iotsa1234_. Connect a device to that network and visit . Configure your device name (using the name _smartmeter_ is suggested), WiFi name and password, and after reboot the iotsa board should connect to your network and be visible as .

Accessing will read a raw P1 telegram in text format.

Accessing will read a P1 telegram and return the data in XML form.

Accessing will read a P1 telegram and return the data in JSON form.

Each call will result in a new telegram being requested from the smart meter, so there may be a delay of up to 10 seconds before the data is returned (as per the P1 standard).