- Build wireless P1 interface
- Setup ESP with ESPEASY
- Setup Domoticz
Smart meter P1 WiFi gateway
According the following schematic from Tasmota
Build a shield to adapt the P1 5V signal to inverted 3.3V (ESP)

Below is also an interface as shield.

Setup ESP with ESPEASY
Setup the ESP with a device as P1 interface

Setup Domoticz


As shield

Shield for a Wemos D1 mini (Not tested yet)
Smart meter with optical interface
Python script voor uitlezen meter zie link
Smartmeter Landis+Gyr meter ZCF120ABd (K82W)
Serialsettings
- Baud rate 300
- Number of bits 7
- Parity E
- Number of stop bits 1
xonxoff=0 rtscts=0 timeout=20
Test connection
- Open terminal (Linux) and give the following commands
- stty -F /dev/ttyUSB0 300 -parodd cs7 -cstopb parenb -ixoff -crtscts -hupcl -ixon -opost -onlcr -isig -icanon -iexten -echo -echoe -echoctl -echoke
- cat /dev/ttyUSB0
- Open a second terminal and give the following commands
- echo -n -e ‘\x2F\x3F\x21\x0D\x0A’ > /dev/ttyUSB0
- At the first terminal you see meter identification
- ——————————–
- echo -n -e ‘\x2F\x3F\x21\x0D\x0A’ > /dev/ttyUSB0 && echo -n -e ‘\x06\x30\x30\x30\x0D\x0A’ > /dev/ttyUSB0 ( && commands must be given directly after each other)
- At the first terminal you see metered data
F.F(00)
C.1.0(91120543)
0.0(K82W00………8)
C.1.1( )
1.8.1(019924.454kWh)
1.8.2(018264.464kWh)
2.8.1(000000.000kWh)
2.8.2(000000.000kWh)
1.8.0(038188.918kWh)
2.8.0(000000.000kWh)
15.8.0(038188.918kWh)
C.7.0(0009) 32.7(228V)
31.7(002.29*A)
C.5.0(0020)
!
l!
Node Red

[
{
"id": "3cea2fb7215510d3",
"type": "tab",
"label": "Flow 1",
"disabled": false,
"info": "",
"env": []
},
{
"id": "e6c39153.e8eab8",
"type": "serial-port",
"serialport": "/dev/ttyUSB0",
"serialbaud": "300",
"databits": "7",
"parity": "even",
"stopbits": "1",
"waitfor": "",
"dtr": "none",
"rts": "none",
"cts": "low",
"dsr": "none",
"newline": "200",
"bin": "false",
"out": "interbyte",
"addchar": "",
"responsetimeout": "10000"
},
{
"id": "741a12ab7e85b435",
"type": "inject",
"z": "3cea2fb7215510d3",
"name": "\"0x2F\", \"0x3F\", \"0x21\", \"0x0D\", \"0x0A\"",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "[\"0x2F\", \"0x3F\", \"0x21\", \"0x0D\", \"0x0A\"]",
"payloadType": "bin",
"x": 210,
"y": 120,
"wires": [
[
"155d22f0618d2958",
"7e566ae9cb0d77d2"
]
]
},
{
"id": "1f5815eb4435c35c",
"type": "debug",
"z": "3cea2fb7215510d3",
"name": "",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"statusVal": "",
"statusType": "auto",
"x": 1010,
"y": 120,
"wires": []
},
{
"id": "155d22f0618d2958",
"type": "serial request",
"z": "3cea2fb7215510d3",
"name": "",
"serial": "e6c39153.e8eab8",
"x": 790,
"y": 120,
"wires": [
[
"1f5815eb4435c35c",
"e924d0c028bd822e",
"1a9a66177df84382"
]
]
},
{
"id": "a75fcefd52880401",
"type": "inject",
"z": "3cea2fb7215510d3",
"name": "\"0x06\", \"0x30\", \"0x30\", \"0x30\", \"0x0D\", \"0x0A\"",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "[\"0x06\", \"0x30\", \"0x30\", \"0x30\", \"0x0D\", \"0x0A\"]",
"payloadType": "bin",
"x": 230,
"y": 180,
"wires": [
[
"155d22f0618d2958",
"7e566ae9cb0d77d2"
]
]
},
{
"id": "7e566ae9cb0d77d2",
"type": "debug",
"z": "3cea2fb7215510d3",
"name": "",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "false",
"statusVal": "",
"statusType": "auto",
"x": 1030,
"y": 180,
"wires": []
},
{
"id": "34c5890fa09b4a3c",
"type": "inject",
"z": "3cea2fb7215510d3",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "\u0002F.F(00) C.1.0(91120543) 0.0(K82W009112054308) C.1.1( ) 1.8.1(019924.454*kWh) 1.8.2(018264.641*kWh) 2.8.1(000000.000*kWh) 2.8.2(000000.000*kWh) 1.8.0(038189.096*kWh) 2.8.0(000000.000*kWh) 15.8.0(038189.096*kWh) C.7.0(0009) 32.7(224*V) 31.7(002.04*A) C.5.0(0020) ! \u0003j! \u0003O",
"payloadType": "str",
"x": 130,
"y": 320,
"wires": [
[
"e924d0c028bd822e",
"1a9a66177df84382"
]
]
},
{
"id": "65baa532272277c3",
"type": "debug",
"z": "3cea2fb7215510d3",
"name": "",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"statusVal": "",
"statusType": "auto",
"x": 1010,
"y": 320,
"wires": []
},
{
"id": "e924d0c028bd822e",
"type": "string",
"z": "3cea2fb7215510d3",
"name": "C1.8.1",
"methods": [
{
"name": "left",
"params": [
{
"type": "num",
"value": "79"
}
]
},
{
"name": "right",
"params": [
{
"type": "num",
"value": "10"
}
]
}
],
"prop": "payload",
"propout": "payload",
"object": "msg",
"objectout": "msg",
"x": 560,
"y": 320,
"wires": [
[
"65baa532272277c3"
]
]
},
{
"id": "1a9a66177df84382",
"type": "string",
"z": "3cea2fb7215510d3",
"name": "C1.8.2",
"methods": [
{
"name": "left",
"params": [
{
"type": "num",
"value": "101"
}
]
},
{
"name": "right",
"params": [
{
"type": "num",
"value": "10"
}
]
}
],
"prop": "payload",
"propout": "payload",
"object": "msg",
"objectout": "msg",
"x": 560,
"y": 380,
"wires": [
[
"fee68877ee4307a5"
]
]
},
{
"id": "fee68877ee4307a5",
"type": "debug",
"z": "3cea2fb7215510d3",
"name": "",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"statusVal": "",
"statusType": "auto",
"x": 1010,
"y": 380,
"wires": []
},
{
"id": "792ae134a3324714",
"type": "comment",
"z": "3cea2fb7215510d3",
"name": "Additional nodes",
"info": "node-red-node-serialport\nnode-red-contrib-string",
"x": 600,
"y": 40,
"wires": []
}
]
Software http://www.smartmeterdashboard.nl/downloads
http://domoticx.com/p1-poort-slimme-meter-data-naar-node-red-mqtt/
https://www.npmjs.com/package/node-red-contrib-smartmeter
https://www.satec-global.com/sites/default/files/EM720-IEC-62056-21.pdf