The DSMR-binding is targeted towards Dutch, Belgium and Luxembourger users having a smart meter (Dutch: 'Slimme meter').
Data of Dutch/Belgium/Luxembourg smart meters can be obtained via the P1-port.
When connecting this port from a serial port the data can be read out.
This binding reads the P1-port of:
* Dutch Smart Meters that comply to NTA8130, DSMR v2.1, DSMR v2.2, DSMR v3.0, DSMR v4.0, DSMR v4.04, and DSMR 5.0.
* Belgium Smart Meters that comply to e-MUCS v1.0.
* Luxembourg’s electricity meter "Smarty" that comply to V1.0.
Although DSMR v4.2 is not an official specification, the binding has support for this version.
If you are not living in the Netherlands/Belgium/Luxembourg but do want to read a meter please have look at the [SmartMeter Binding](/addons/bindings/smartmeter/).
Because the Dutch Meter standard is based on the IEC-62056-21 standard it might be desirable to build support for other country metering systems based on that standard in this binding.
## Serial Port Configuration
The P1-port is a serial port. To configure the serial port within openHAB see the [general documentation about serial port configuration](/docs/administration/serial.html).
## Supported Things
### dsmrBridge (The Netherlands/Belgium)
`dsmrBridge`: This is the device that communicated between the binding (serial) and its internal meters.
You always have to have a 'Dutch/Belgium Smart Meter'-bridge. The bridge contains the serial port configuration.
Specific meters are bound via the bridge to the smart meter. A smart meter consists typically out of minimal 2 meters.
A generic meter and the electricity meter. Each meter is bound to the DSMR protocol the physical meter supports.
For each meter it is possible to set a refresh rate at which the status is updated.
The physical meter might update with a high frequency per second, while it is desired to have only values per minute.
The Belgium e-MUCS protocol is an extension to the DSMR standard.
Belgium meters have `emucs` in the thing name.
Due to it similarities the bridge for Belgium meters is also a dsmrBridge.
### smartyBridge (Luxembourg)
`smartyBridge`: This is the device that communicated between the binding (serial) and its internal meters.
You always have to have a 'Smarty Smart Meter'-bridge. The bridge contains the serial port configuration.
## Discovery
The `dsmrBridge` and meters can be discovered via the discovery process.
The `smartyBridge` can be discovered.
Because the `smartyBridge` requires a decryption key.
You need to set the decryption key when the bridge is added.
After the decryption key is set a new discovery can be started to discover the meter.
If a bridge is manually configured it is possible to auto detect available meters.
### Configuration
The configuration for the `dsmrBridge` consists of the following parameters:
| serialPort | The serial port where the P1-port is connected to (e.g. Linux: `/dev/ttyUSB1`, Windows: `COM2`) (mandatory) |
| decryptionKey | The meter specific decryption key (mandatory) |
| receivedTimeout | The time out period in which messages are expected to arrive, default is 120 seconds |
**Note:** *The manual configuration is only needed if the DSMR-device requires non DSMR-standard Serial Port parameters (i.e. something different then `115200 8N1` or `9600 7E1`)*
### Troubleshooting
If there are unexpected configuration issues.
For example a meter could not be found or not all channels expected are available.
Than run the discovery process and look into the log file.
There are extra checks that can give more information about what might be wrong.
## Meters
The information in this paragraph in necessary if you choose to configure the meters manually in a `.things` file.
Supported meters:
| Meter Thing | Thing type ID | M-Bus channel | Refresh rate |
| `emeter_actual_delivery` | Number:Power | Current power delivery (kW) | - | Y | Y | Y | Y | Y | Y | Y | Y | Y |
| `emeter_actual_production` | Number:Power | Current power production (kW) | - | - | - | Y | Y | Y | Y | Y | Y | Y |
| `emeter_actual_reactive_delivery` | Number | Actual Reactive Power Delivery (kvar) | - | - | - | - | - | - | - | - | Y | - |
| `emeter_actual_reactive_production` | Number | Actual Reactive Power Production (kvar) | - | - | - | - | - | - | - | - | Y | - |
| `emeter_active_threshold_smax` | Number | Active threshold (SMAX) (kVA) | - | - | - | - | - | - | - | - | Y | - |
| `emeter_power_failures` | Number | Number of power failures | - | - | - | - | Y | Y | Y | Y | Y | - |
| `emeter_long_power_failures` | Number | Number of long power failures | - | - | - | - | Y | Y | Y | Y | - | - |
| `emeter_power_failure_log_entries` | Number | Number of entries in the power failure log | - | - | - | - | Y | Y | Y | Y | Y | - |
| `emeter_power_failure_log_timestamp[x]`*note 2* | DateTime | Timestamp for entry [x] in the power failure log | - | - | - | - | Y | Y | Y | Y | Y | - |
| `emeter_power_failure_log_duration[x]`*note 2* | Number:Time | Duration for entry [x] the power failure log | - | - | - | - | Y | Y | Y | Y | Y | - |
| `emeter_voltage_sags_l1` | Number | Number of voltage sags L1 | - | - | - | - | Y | Y | Y | Y | Y | - |
| `emeter_voltage_sags_l2` | Number | Number of voltage sags L2 | - | - | - | - | O | O | O | O | O | - |
| `emeter_voltage_sags_l3` | Number | Number of voltage sags L3 | - | - | - | - | O | O | O | O | O | - |
| `emeter_voltage_swells_l1` | Number | Number of voltage swells L1 | - | - | - | - | Y | Y | Y | Y | - | - |
| `emeter_voltage_swells_l2` | Number | Number of voltage swells L2 | - | - | - | - | O | O | O | O | - | - |
| `emeter_voltage_swells_l3` | Number | Number of voltage swells L3 | - | - | - | - | O | O | O | O | - | - |
| `emeter_instant_current_l1` | Number:ElectricCurrent | Instant Current L1 (A) | - | - | - | - | Y | Y | Y | Y | Y | Y |
| `emeter_instant_current_l2` | Number:ElectricCurrent | Instant Current L2 (A) | - | - | - | - | O | O | O | O | O | Y |
| `emeter_instant_current_l3` | Number:ElectricCurrent | Instant Current L3 (A) | - | - | - | - | O | O | O | O | O | Y |
| `emeter_instant_power_delivery_l1` | Number:Power | Instant Power Delivery L1 (kW) | - | - | - | - | Y | Y | Y | Y | Y | - |
| `emeter_instant_power_delivery_l2` | Number:Power | Instant Power Delivery L2 (kW) | - | - | - | - | O | O | O | O | O | - |
| `emeter_instant_power_delivery_l3` | Number:Power | Instant Power Delivery L3 (kW) | - | - | - | - | O | O | O | O | O | - |
| `emeter_instant_power_production_l1` | Number:Power | Instant Power Production L1 (kW) | - | - | - | - | Y | Y | Y | Y | Y | - |
| `emeter_instant_power_production_l2` | Number:Power | Instant Power Production L2 (kW) | - | - | - | - | O | O | O | O | O | - |
| `emeter_instant_power_production_l3` | Number:Power | Instant Power Production L3 (kW) | - | - | - | - | O | O | O | O | O | - |
Number:Energy MeterDeliveryTariff0 "Total electricity delivered to the resident during low tariff period [%.3f kWh]" {channel="dsmr:electricity_v5_0:mysmartmeter:electricityV5:emeter_delivery_tariff1}
String P1Version "P1 Version output" {channel="dsmr:device_v5:mysmartmeter:dsmrV5Device:p1_version_output"}
Number:Energy MeterDeliveryTariff0 "Total electricity delivered to the resident during low tariff period [%.3f kWh]" {channel="dsmr:electricity_v5_0:mysmartmeter:electricityV5:emeter_delivery_tariff1"}
Number:Energy MeterDeliveryTariff1 "Total electricity delivered to the resident during high tariff period [%.3f kWh]" {channel="dsmr:electricity_v5_0:mysmartmeter:electricityV5:emeter_delivery_tariff2"}