1
1
# esp8266-dsmr
2
2
3
- A ESP8266 based DSMR reader, posting onto MQTT, powered directly from the meter itself, no external power supply needed.
3
+ A ESP8266 based DSMR reader, posting messages onto MQTT.<br />
4
+ Can be powered directly from the meter itself, no external power supply needed* .<br />
5
+ <sup ><i >* if enough power can be supplied by the meter.</i ></sup >
4
6
5
- The code should work on DSRM v2.2 and higher, only tested on V4.2.
7
+ The code should work on DSRM v2.2 and higher, only tested on V4.2.<br />
8
+ Supports Dutch and Belgian smart meters.<br />
6
9
10
+ ## Board in action
7
11
![ esp8266-dsmr] ( /docs/PCB_IRL.png " esp8266-dsmr ")
8
12
9
13
## Requirements
@@ -18,24 +22,24 @@ The code should work on DSRM v2.2 and higher, only tested on V4.2.
18
22
- [ PubSubClient] ( https://pubsubclient.knolleary.net ) - MQTT client
19
23
- [ Core for ESP8266] ( https://github.com/esp8266/Arduino ) - Arduino core for ESP8266 WiFi chip
20
24
21
- ## Supported messages
25
+ ## Messages
22
26
23
27
### Info
24
28
| Name | unit | DSMR code | MQTT topic |
25
29
| :---- | :-------| :------ | :------|
26
30
| DSMR version | - | 1-3:0.2.8 | <MQTT_TOPIC>/version |
27
- | Status | online, offline | - | <MQTT_TOPIC>/status |
31
+ | Status | online | - | <MQTT_TOPIC>/status |
28
32
29
33
### Power
30
34
| Name | unit | DSMR code | MQTT topic |
31
35
| :---- | :-------| :------ | :------|
32
36
| current power consumption | kW | 1-0:1.7.0 | <MQTT_TOPIC>/power/consumption |
33
37
| current power production | kW | 1-0:2.7.0 | <MQTT_TOPIC>/power/production |
34
- | total consumption low | kWh | 1-0:1.8.1 | <MQTT_TOPIC>/power/total_consumption_low |
35
- | total consumption high | kWh | 1-0:1.8.2 | <MQTT_TOPIC>/power/total_consumption_high |
36
- | total production low | kWh | 1-0:2.8.1 | <MQTT_TOPIC>/power/total_production_low |
37
- | total production high | kWh | 1-0:2.8.2 | <MQTT_TOPIC>/power/total_production_high |
38
- | power tariff | 1 = low, 2 = high | 0-0:96.14.0 | <MQTT_TOPIC>/power/power_tariff |
38
+ | total consumption tariff 1 | kWh | 1-0:1.8.1 | <MQTT_TOPIC>/power/total_consumption_tariff_1 |
39
+ | total consumption tariff 2 | kWh | 1-0:1.8.2 | <MQTT_TOPIC>/power/total_consumption_tariff_2 |
40
+ | total production tariff 1 | kWh | 1-0:2.8.1 | <MQTT_TOPIC>/power/total_production_tariff_1 |
41
+ | total production tariff 2 | kWh | 1-0:2.8.2 | <MQTT_TOPIC>/power/total_production_tariff_2 |
42
+ | power tariff | [ See tariffs ] ( #tariffs ) | 0-0:96.14.0 | <MQTT_TOPIC>/power/power_tariff |
39
43
| short power outages | - | 0-0:96.7.21 | <MQTT_TOPIC>/power/short_power_outages |
40
44
| long power outages | - | 0-0:96.7.9 | <MQTT_TOPIC>/power/long_power_outages |
41
45
| instant current phase 1 | A | 1-0:31.7.0 | <MQTT_TOPIC>/power/phase_1/current |
@@ -63,6 +67,16 @@ The code should work on DSRM v2.2 and higher, only tested on V4.2.
63
67
| timestamp| - | 0-1:24.2.1| <MQTT_TOPIC>/gas/timestamp |
64
68
| device id | - | 0-1:96.1.0 | <MQTT_TOPIC>/gas/device |
65
69
70
+ ## Tariffs
71
+ The meter has a power tariff property, and is used for the total consumption/production counters.<br />
72
+ The values for the day and night tariffs are different in the Netherlands compared to Belgium.
73
+ | Country | tariff | value |
74
+ | :---- | :---- | :---- |
75
+ | NL | Night (low) | tariff_1 |
76
+ | NL | Day (high) | tariff_2 |
77
+ | BE | Night (low) | tariff_2 |
78
+ | BE | Day (high)| tariff_1 |
79
+
66
80
## Settings
67
81
Copy ` Settings.example.h ` to ` Settings.h ` and fill in the correct data.
68
82
0 commit comments