Expand to see wiring description
51 |
52 |
53 | When using a 6 pin cable you can use the power source provided by the meter.
54 |
55 | | P1 pin | ESP8266 Pin |
56 | | ---- | ---- |
57 | | 1 - 5v out | 5v or Vin |
58 | | 2 - RTS | 3.3v |
59 | | 3 - GND | GND |
60 | | 4 - | |
61 | | 5 - RXD (data) | RX (gpio3) |
62 | | 6 - GND | GND |
63 |
64 | 
65 |
66 |
67 |
68 |
69 | ## Data Sent
70 |
71 | All metrics are send to their own MQTT topic.
72 | The software sends out to the following MQTT topics:
73 |
74 | ```
75 | sensors/power/p1meter/consumption_low_tarif 2209397
76 | sensors/power/p1meter/consumption_high_tarif 1964962
77 | sensors/power/p1meter/returndelivery_low_tarif 2209397
78 | sensors/power/p1meter/returndelivery_high_tarif 1964962
79 | sensors/power/p1meter/actual_consumption 313
80 | sensors/power/p1meter/actual_returndelivery 0
81 | sensors/power/p1meter/l1_instant_power_usage 313
82 | sensors/power/p1meter/l2_instant_power_usage 0
83 | sensors/power/p1meter/l3_instant_power_usage 0
84 | sensors/power/p1meter/l1_instant_power_current 1000
85 | sensors/power/p1meter/l2_instant_power_current 0
86 | sensors/power/p1meter/l3_instant_power_current 0
87 | sensors/power/p1meter/l1_voltage 233
88 | sensors/power/p1meter/l2_voltage 0
89 | sensors/power/p1meter/l3_voltage 0
90 | sensors/power/p1meter/gas_meter_m3 968922
91 | sensors/power/p1meter/actual_tarif_group 2
92 | sensors/power/p1meter/short_power_outages 3
93 | sensors/power/p1meter/long_power_outages 1
94 | sensors/power/p1meter/short_power_drops 0
95 | sensors/power/p1meter/short_power_peaks 0
96 | ```
97 |
98 | ## Home Assistant Configuration
99 |
100 | Use this [example](https://raw.githubusercontent.com/daniel-jong/esp8266_p1meter/master/assets/p1_sensors.yaml) for home assistant's `sensor.yaml`
101 |
102 | The automatons are yours to create.
103 | And always remember that sending alerts in case of a power outtage only make sense when you own a UPS battery :)
104 |
105 | ## Thanks to
106 |
107 | This sketch is mostly copied and pasted from several other projects.
108 | Standing on the heads of giants, big thanks and great respect to the writers and/or creators of:
109 |
110 | - https://github.com/jantenhove/P1-Meter-ESP8266
111 | - https://github.com/neographikal/P1-Meter-ESP8266-MQTT
112 | - http://gejanssen.com/howto/Slimme-meter-uitlezen/
113 | - https://github.com/rroethof/p1reader/
114 | - http://romix.macuser.nl/software.html
115 | - http://blog.regout.info/category/slimmeter/
116 | - http://domoticx.com/p1-poort-slimme-meter-hardware/
117 |
--------------------------------------------------------------------------------
/assets/esp8266_p1meter_bb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daniel-jong/esp8266_p1meter/236191e146b0ce7d40d9bde57b573f362f7b05af/assets/esp8266_p1meter_bb.png
--------------------------------------------------------------------------------
/assets/esp8266_p1meter_bb_PoweredByMeter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daniel-jong/esp8266_p1meter/236191e146b0ce7d40d9bde57b573f362f7b05af/assets/esp8266_p1meter_bb_PoweredByMeter.png
--------------------------------------------------------------------------------
/assets/p1_sensors.yaml:
--------------------------------------------------------------------------------
1 | # Sensors for esp8266_p1meter to be used in Home Assistant
2 | mqtt:
3 | sensor:
4 | - name: P1 Consumption Low Tariff
5 | unique_id: 'sensor.p1_consumption_low_tariff'
6 | device_class: energy
7 | state_class: total_increasing
8 | unit_of_measurement: kWh
9 | state_topic: "sensors/power/p1meter/consumption_low_tarif"
10 | value_template: "{{ value|float / 1000 }}"
11 |
12 |
13 | - name: P1 Consumption High Tariff
14 | unique_id: 'sensor.p1_consumption_high_tariff'
15 | device_class: energy
16 | state_class: total_increasing
17 | unit_of_measurement: kWh
18 | state_topic: "sensors/power/p1meter/consumption_high_tarif"
19 | value_template: "{{ value|float / 1000 }}"
20 |
21 |
22 | - name: P1 Return Delivery High Tariff
23 | unique_id: 'sensor.p1_delivery_high_tariff'
24 | device_class: energy
25 | state_class: total_increasing
26 | unit_of_measurement: kWh
27 | state_topic: "sensors/power/p1meter/returndelivery_high_tarif"
28 | value_template: "{{ value|float / 1000 }}"
29 |
30 |
31 | - name: P1 Return Delivery Low Tariff
32 | unique_id: 'sensor.p1_delivery_low_tariff'
33 | device_class: energy
34 | state_class: total_increasing
35 | unit_of_measurement: kWh
36 | state_topic: "sensors/power/p1meter/returndelivery_low_tarif"
37 | value_template: "{{ value|float / 1000 }}"
38 |
39 | - name: P1 Actual Power Consumption
40 | unique_id: 'sensor.p1_actual_power_consumption'
41 | device_class: power
42 | state_class: measurement
43 | unit_of_measurement: 'kW'
44 | state_topic: "sensors/power/p1meter/actual_consumption"
45 | value_template: "{{ value|float / 1000 }}"
46 |
47 |
48 | - name: P1 Actual Return Delivery
49 | unique_id: 'sensor.p1_actual_return_delivery'
50 | device_class: power
51 | state_class: measurement
52 | unit_of_measurement: 'kW'
53 | state_topic: "sensors/power/p1meter/actual_returndelivery"
54 | value_template: "{{ value|float / 1000 }}"
55 |
56 |
57 | - name: P1 L1 Instant Power Usage
58 | unique_id: 'sensor.p1_l1_instant_power_usage'
59 | device_class: power
60 | state_class: measurement
61 | unit_of_measurement: 'kW'
62 | state_topic: "sensors/power/p1meter/l1_instant_power_usage"
63 | value_template: "{{ value|float / 1000 }}"
64 |
65 |
66 | - name: P1 L2 Instant Power Usage
67 | unique_id: 'sensor.p1_l2_instant_power_usage'
68 | device_class: power
69 | state_class: measurement
70 | unit_of_measurement: 'kW'
71 | state_topic: "sensors/power/p1meter/l2_instant_power_usage"
72 | value_template: "{{ value|float / 1000 }}"
73 |
74 |
75 | - name: P1 L3 Instant Power Usage
76 | unique_id: 'sensor.p1_l3_instant_power_usage'
77 | device_class: power
78 | state_class: measurement
79 | unit_of_measurement: 'kW'
80 | state_topic: "sensors/power/p1meter/l3_instant_power_usage"
81 | value_template: "{{ value|float / 1000 }}"
82 |
83 | - name: P1 L1 Instant Power Current
84 | unique_id: 'sensor.p1_l1_instant_power_current'
85 | device_class: current
86 | state_class: measurement
87 | unit_of_measurement: 'A'
88 | state_topic: "sensors/power/p1meter/l1_instant_power_current"
89 | value_template: "{{ value|float / 1000 }}"
90 |
91 | - name: P1 L2 Instant Power Current
92 | unique_id: 'sensor.p1_l2_instant_power_current'
93 | device_class: current
94 | state_class: measurement
95 | unit_of_measurement: 'A'
96 | state_topic: "sensors/power/p1meter/l2_instant_power_current"
97 | value_template: "{{ value|float / 1000 }}"
98 |
99 | - name: P1 L3 Instant Power Current
100 | unique_id: 'sensor.p1_l3_instant_power_current'
101 | device_class: current
102 | state_class: measurement
103 | unit_of_measurement: 'A'
104 | state_topic: "sensors/power/p1meter/l3_instant_power_current"
105 | value_template: "{{ value|float / 1000 }}"
106 |
107 | - name: P1 L1 Voltage
108 | unique_id: 'sensor.p1_l1_voltage'
109 | device_class: voltage
110 | state_class: measurement
111 | unit_of_measurement: 'V'
112 | state_topic: "sensors/power/p1meter/l1_voltage"
113 | value_template: "{{ value|float / 1000 }}"
114 |
115 | - name: P1 L2 Voltage
116 | unique_id: 'sensor.p1_l2_voltage'
117 | device_class: voltage
118 | state_class: measurement
119 | unit_of_measurement: 'V'
120 | state_topic: "sensors/power/p1meter/l2_voltage"
121 | value_template: "{{ value|float / 1000 }}"
122 |
123 | - name: P1 L3 Voltage
124 | unique_id: 'sensor.p1_l3_voltage'
125 | device_class: voltage
126 | state_class: measurement
127 | unit_of_measurement: 'V'
128 | state_topic: "sensors/power/p1meter/l3_voltage"
129 | value_template: "{{ value|float / 1000 }}"
130 |
131 | - name: P1 Gas Usage
132 | unique_id: 'sensor.p1_gas_usage'
133 | device_class: gas
134 | state_class: total_increasing
135 | unit_of_measurement: 'm³'
136 | state_topic: "sensors/power/p1meter/gas_meter_m3"
137 | value_template: "{{ value|float / 1000 }}"
138 |
139 | - name: P1 Actual Tariff Group
140 | unique_id: 'sensor.p1_actual_tariff_group'
141 | state_topic: "sensors/power/p1meter/actual_tarif_group"
142 |
143 | - name: P1 Short Power Outages
144 | unique_id: 'sensor.p1_short_power_outages'
145 | state_topic: "sensors/power/p1meter/short_power_outages"
146 |
147 | - name: P1 Long Power Outages
148 | unique_id: 'sensor.p1_long_power_outages'
149 | state_topic: "sensors/power/p1meter/long_power_outages"
150 |
151 | - name: P1 Short Power Drops
152 | unique_id: 'sensor.p1_short_power_drops'
153 | state_topic: "sensors/power/p1meter/short_power_drops"
154 |
155 | - name: P1 Short Power Peaks
156 | unique_id: 'sensor.p1_short_power_peaks'
157 | state_topic: "sensors/power/p1meter/short_power_peaks"
158 |
--------------------------------------------------------------------------------
/esp8266_p1meter/esp8266_p1meter.ino:
--------------------------------------------------------------------------------
1 | #include