Skip to content

Commit 6e3cef4

Browse files
authored
Improve DSMR documentation and document support for Swedish meters (home-assistant#18996)
1 parent 1510111 commit 6e3cef4

File tree

1 file changed

+38
-22
lines changed

1 file changed

+38
-22
lines changed

source/_integrations/dsmr.markdown

Lines changed: 38 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,39 @@ ha_platforms:
1515
- sensor
1616
---
1717

18-
A sensor platform for Dutch Smart Meters which comply to DSMR (Dutch Smart Meter Requirements), also known as 'Slimme meter' or 'P1 poort'.
18+
A sensor platform for Belgian, Dutch, Luxembourg and Swedish Smart Meters which comply to DSMR (Dutch Smart Meter Requirements), also known as 'Slimme meter' or 'P1 poort'. Swedish meters with a 'HAN port' are not supported by this integration.
1919

20-
- Currently support DSMR V2.2, V3, V4, V5, V5 Belgian and V5 Smarty through the [dsmr_parser](https://github.com/ndokter/dsmr_parser) module by Nigel Dokter.
20+
- Currently support DSMR V2.2, V3, V4, V5, Belgian V5 variant, Luxembourg V5 variant (Smarty) and the Swedish V5 variant through the [dsmr_parser](https://github.com/ndokter/dsmr_parser) module by Nigel Dokter.
2121
- For official information about DSMR refer to: [DSMR Document](https://www.netbeheernederland.nl/dossiers/slimme-meter-15)
2222
- For official information about the P1 port refer to: [P1 Companion Standard](https://www.netbeheernederland.nl/_upload/Files/Slimme_meter_15_a727fce1f1.pdf)
2323
- For unofficial hardware connection examples refer to: [Domoticx](http://domoticx.com/p1-poort-slimme-meter-hardware/)
24+
- For official information about the Swedish variant refer to: [Swedish specification](https://www.energiforetagen.se/globalassets/energiforetagen/det-erbjuder-vi/kurser-och-konferenser/elnat/branschrekommendation-lokalt-granssnitt-v2_0-201912.pdf).
2425

2526
<p class='img'>
2627
<img src='/images/screenshots/dsmr.png' />
2728
</p>
2829

30+
### Configuration
31+
32+
- For Belgian meters, choose DSMR version `5B`
33+
- For Dutch meters, choose DSMR version `2.2`, `4`, or `5`
34+
- For Luxembourg meters, choose DSMR version `5L`
35+
- For Swedish meters, choose DSMR version `5S`
36+
37+
### Options
38+
39+
To configure options for DSMR integration go to **Configuration** >> **Integrations** and press **Options** on the DSMR card.
40+
41+
#### Time between updates
42+
43+
Typically the smart meter sends new data every 5-10 seconds. This value defines the minimum time between entity updates in seconds. Setting this value to 0 will update entities each time data is received from the smart meter.
44+
45+
<div class='note warning'>
46+
Reducing the default time between updates will increase the amount of events generated and can potentially flood the system with events.
47+
</div>
48+
49+
### Supported meters
50+
2951
This integration is known to work for:
3052

3153
- Iskra ME382 / MT382 (DSMR 2.2)
@@ -37,14 +59,24 @@ This integration is known to work for:
3759
- Sagemcom XS210 ESMR5
3860
- Ziv E0058 ESMR5
3961

40-
USB serial converters:
62+
### Connecting to the meter
63+
64+
Connection can be done directly to the meter via a USB to serial connector, or through a serial to network proxy
65+
66+
#### USB serial converters:
4167

4268
- Cheap (Banggood/ebay) Generic PL2303
4369
- [Smartmeter Webshop](https://sites.google.com/site/nta8130p1smartmeter/webshop)
4470
- [SOS Solutions](https://www.sossolutions.nl/slimme-meter-kabel)
4571
- [AliExpress](https://nl.aliexpress.com/item/32945187155.html)
4672

47-
Serial to network proxies:
73+
Docker users have to allow Docker access to the USB to seriacl converter by adding `--device /dev/ttyUSB21:/dev/ttyUSB21` to the run command:
74+
75+
```hass
76+
$ docker run --device /dev/ttyUSB0:/dev/ttyUSB0 -d --name="home-assistant" -v /home/USERNAME/hass:/config -v /etc/localtime:/etc/localtime:ro --net=host {{ site.installation.container.base }}
77+
```
78+
79+
#### Serial to network proxies:
4880

4981
- [ser2net](http://ser2net.sourceforge.net)
5082

@@ -66,30 +98,14 @@ or
6698
2001:raw:600:/dev/ttyUSB0:9600 EVEN 1STOPBIT 7DATABITS XONXOFF LOCAL -RTSCTS
6799
```
68100

69-
Docker users have to allow Docker access to the device by adding `--device /dev/ttyUSB21:/dev/ttyUSB21` to the run command:
70-
71-
```hass
72-
$ docker run --device /dev/ttyUSB0:/dev/ttyUSB0 -d --name="home-assistant" -v /home/USERNAME/hass:/config -v /etc/localtime:/etc/localtime:ro --net=host {{ site.installation.container.base }}
73-
```
74-
75-
### Options
76-
77-
To configure options for DSMR integration go to **Configuration** >> **Integrations** and press **Options** on the DSMR card.
78-
79-
#### Time between updates
80-
81-
Typically the smart meter sends new data every 5-10 seconds. This value defines the minimum time between entity updates in seconds. Setting this value to 0 will update entities each time data is received from the smart meter.
82-
83-
<div class='note warning'>
84-
Reducing the default time between updates will increase the amount of events generated and can potentially flood the system with events.
85-
</div>
86-
87101
### Technical overview
88102

89103
DSMR is a standard to which Dutch smartmeters must comply. It specifies that the smartmeter must send out a 'telegram' every 10 seconds (every second for DSMR 5.0 devices) over a serial port.
90104

91105
The contents of this telegram differ between version but they generally consist of lines with 'obis' (Object Identification System, a numerical ID for a value) followed with the value and unit.
92106

107+
Smart meters in Belgium, Luxembourg and Sweden provided telegrams with largely the same contents.
108+
93109
This module sets up an asynchronous reading loop using the `dsmr_parser` module which waits for a complete telegram, parser it and puts it on an async queue as a dictionary of `obis`/object mapping. The numeric value and unit of each value can be read from the objects attributes. Because the `obis` are know for each DSMR version the Entities for this integration are create during bootstrap.
94110

95111
Another loop (DSMR class) is setup which reads the telegram queue, stores/caches the latest telegram and notifies the Entities that the telegram has been updated.

0 commit comments

Comments
 (0)