From 6e3cef4313bdde6e67dd5e748be2eac29cd7f21c Mon Sep 17 00:00:00 2001 From: Erik Montnemery Date: Sat, 21 Aug 2021 12:37:35 +0200 Subject: [PATCH] Improve DSMR documentation and document support for Swedish meters (#18996) --- source/_integrations/dsmr.markdown | 60 +++++++++++++++++++----------- 1 file changed, 38 insertions(+), 22 deletions(-) diff --git a/source/_integrations/dsmr.markdown b/source/_integrations/dsmr.markdown index d2bfb0e359e..3fe12c9df30 100644 --- a/source/_integrations/dsmr.markdown +++ b/source/_integrations/dsmr.markdown @@ -15,17 +15,39 @@ ha_platforms: - sensor --- -A sensor platform for Dutch Smart Meters which comply to DSMR (Dutch Smart Meter Requirements), also known as 'Slimme meter' or 'P1 poort'. +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. -- 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. +- 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. - For official information about DSMR refer to: [DSMR Document](https://www.netbeheernederland.nl/dossiers/slimme-meter-15) - For official information about the P1 port refer to: [P1 Companion Standard](https://www.netbeheernederland.nl/_upload/Files/Slimme_meter_15_a727fce1f1.pdf) - For unofficial hardware connection examples refer to: [Domoticx](http://domoticx.com/p1-poort-slimme-meter-hardware/) +- 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).

+### Configuration + +- For Belgian meters, choose DSMR version `5B` +- For Dutch meters, choose DSMR version `2.2`, `4`, or `5` +- For Luxembourg meters, choose DSMR version `5L` +- For Swedish meters, choose DSMR version `5S` + +### Options + +To configure options for DSMR integration go to **Configuration** >> **Integrations** and press **Options** on the DSMR card. + +#### Time between updates + +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. + +
+Reducing the default time between updates will increase the amount of events generated and can potentially flood the system with events. +
+ +### Supported meters + This integration is known to work for: - Iskra ME382 / MT382 (DSMR 2.2) @@ -37,14 +59,24 @@ This integration is known to work for: - Sagemcom XS210 ESMR5 - Ziv E0058 ESMR5 -USB serial converters: +### Connecting to the meter + +Connection can be done directly to the meter via a USB to serial connector, or through a serial to network proxy + +#### USB serial converters: - Cheap (Banggood/ebay) Generic PL2303 - [Smartmeter Webshop](https://sites.google.com/site/nta8130p1smartmeter/webshop) - [SOS Solutions](https://www.sossolutions.nl/slimme-meter-kabel) - [AliExpress](https://nl.aliexpress.com/item/32945187155.html) -Serial to network proxies: +Docker users have to allow Docker access to the USB to seriacl converter by adding `--device /dev/ttyUSB21:/dev/ttyUSB21` to the run command: + +```hass +$ 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 }} +``` + +#### Serial to network proxies: - [ser2net](http://ser2net.sourceforge.net) @@ -66,30 +98,14 @@ or 2001:raw:600:/dev/ttyUSB0:9600 EVEN 1STOPBIT 7DATABITS XONXOFF LOCAL -RTSCTS ``` -Docker users have to allow Docker access to the device by adding `--device /dev/ttyUSB21:/dev/ttyUSB21` to the run command: - -```hass -$ 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 }} -``` - -### Options - -To configure options for DSMR integration go to **Configuration** >> **Integrations** and press **Options** on the DSMR card. - -#### Time between updates - -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. - -
-Reducing the default time between updates will increase the amount of events generated and can potentially flood the system with events. -
- ### Technical overview 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. 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. +Smart meters in Belgium, Luxembourg and Sweden provided telegrams with largely the same contents. + 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. 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.