Moving to our new house gave us the advantage of a ‘new’ energy meter for electricity, clean installed with counters starting from zero. Luckely for us they installed a Smart Meter type. These type of meters have a lot of ‘smart’ ports, and one of them is the P1 port. Through this port it is possible to read the data from this meter. The P1 port is working according DSMR-4.0.
The data from the P1 port is serial data, and is connectable with a RJ-11 connector, and has the following signals:
1 – N/A
2 – RTS
3 – GND
4 – N/A
5 – RxD
6 – N/A
The interface should be conncted as follows:
P1.RTS to FTDI.VCC (5V)
P1.GND to FTDI.GND
P1.RxD to FTDI.RxI
NOTE 1: With this type of meter it is important to add a pull-up resistor between VCC and RxD. This is because the electronic of this smart-meter is an open collector connection.
NOTE 2: Because the Smartmeter has 0V for a logical ‘1’ and a +5V for a logical ‘0’, we need to invert the data signal, RxD. This can be done hardwarematically, but an easier solution in this case is in the SparkFun FTDI itself! This should be done with the program FT_Prog.
The communication should be set-up with the following settings: (115200 8N1)
– Baudrate: 115200
– Data bits: 8
– Parity: none
– Stop bits: 1
My software, written in C#, which is gathering the data from the smart meter and stores the data into a MySQL database. You can download it here: C# SmartMeter_P1
The webinterface which visualizes the data is as follows:
/XMX5LGBBFFB123456789 1-3:0.2.8(40) 0-0:1.0.0(141227180323W) 0-0:96.1.1(4530303034303031353535383123456789) 1-0:1.8.1(000687.138*kWh) = opgenomen energie tarief 1 1-0:2.8.1(000000.000*kWh) = teruggeleverde energie tarief 1 1-0:1.8.2(000523.849*kWh) = opgenomen energie tarief 2 1-0:2.8.2(000000.000*kWh) = teruggeleverde tarief 2 0-0:96.14.0(0001) = huidige tarief nr 1-0:1.7.0(00.428*kW) = huidige opgenomen vermogen 1-0:2.7.0(00.000*kW) = huidige teruggeleverde vermogen 0-0:17.0.0(999.9*kW) 0-0:96.3.10(1) 0-0:96.7.21(00002) 0-0:96.7.9(00000) 1-0:99.97.0(0)(0-0:96.7.19) 1-0:32.32.0(00000) 1-0:32.36.0(00000) 0-0:96.13.1() 0-0:96.13.0() 1-0:31.7.0(002*A) 1-0:21.7.0(00.428*kW) 1-0:22.7.0(00.000*kW) 0-1:24.1.0(003) 0-1:96.1.0(4730303032333430313436343123456789) 0-1:24.2.1(141227170000W)(00435.247*m3) = verbruikte gas 0-1:24.4.0(1) !0C97
The P0 port, which is infra red, is the maintenance port at the front of the Smart Meter.
The P1 port, which is the RJ-11 connection, has the serial protocol where standard IEC-62056-21 is used.
The P2 port, which is wireless and communicates on 868 MHz, is used to gather data from the gas meter. This data is also packed into the data which is available on the P1 port.
The P3 port, which is wireless and communicates via GPRS (DLMS CoSEM protocol), transmits the data from our meter to the transporter of the energy.
The P4 port, which is a market interface for ESCO’s (Energy Service Company), Supplier, water companies, …