The DSMR-binding is targeted for dutch users having a Smart Meter ('Slimme meter' in dutch). Data of Dutch Smart Meters can be obtained via the P1-port. When connecting this port to a serial port of a PC the data can be read out.
This binding reads out the P1-port of the Dutch Smart Meters that comply to DSMR v2.1, DSMR v2.2, DSMR v3.0, DSMR v4.0 or DSMR v4.04.
dsmr:port |
The serial port where the P1-port is connected to. E.g.:dsmr:port=/dev/ttyUSB1 (Linux)dsmr:port=COM3 (Windows)
| Default: <empty> |
dsmr:version |
The DSMR version for the smart meter (supported values: v2.1, v2.2, v3.0, v4.0, v4.04). E.g.dsmr:version=v3.0
| Default: <empty> |
dsmr:gas.channel |
The M-BUS channel where a gas meter is connected (number values are supported). E.g.dsmr:gas.channel=1
| Default: <empty> |
dsmr:water.channel |
The M-BUS channel where a water meter is connected (number values are supported). E.g.dsmr:water.channel=1
| Default: <empty> |
dsmr:heating.channel |
The M-BUS channel where a heating meter is connected (number values are supported). E.g.dsmr:heating.channel=1
| Default: <empty> |
dsmr:cooling.channel |
The M-BUS channel where a cooling meter is connected (number values are supported). E.g.dsmr:cooling.channel=1
| Default: <empty> |
dsmr:generic.channel |
The M-BUS channel where a generic meter is connected (number values are supported). E.g.dsmr:generic.channel=1
| Default: <empty> |
dsmr:slaveelectricity.channel |
The M-BUS channel where the slave electricity meter is connected (number values are supported). E.g.dsmr:slaveelectricity.channel=1
| Default: <empty> |
The communication settings for DSMR v4 (115200 8n1
) and up differ from previous versions (9600 7e1
). If you use the wrong version here no data will be received.
If the communication is up, the most elimentary electricity values will work even if the wrong version is configured. Configuring the wrong version, may result in not having all values available in openHAB and the log may contain problems.
Increasing the loglevel of org.openhab.binding.dsmr
will give a lot of detailed information.
In order to bind an item to the DSMR binding, you need to provide configuration settings.
The syntax for the DSMR binding configuration string is:
dsmr="[dsmr value]"
The following table shows the full list of values
DSMR value | Description | Supported for DSMR version | Unit | |
---|---|---|---|---|
General P1 Values | ||||
P1VersionOutput | Version information for P1 output | v4.0 and up | ||
P1Timestamp | Timestamp of the P1 output | v4.0 and up | ||
Electricity meter values | ||||
eEquipmentId | Equipment identifier | All versions | ||
eDeliveryTariff1 | Total meter delivery tariff 1 | All versions | kWh | |
eDeliveryTariff2 | Total meter delivery tariff 2 | All versions | kWh | |
eProductionTariff1 | Total meter production tariff 2 | All versions | kWh | |
eProductionTariff2 | Total meter production tariff 2 | All versions | kWh | |
eTariffIndicator | Tariff indicator | All versions | ||
eActualDelivery | Actual power delivery | All versions | kW | |
eActualProduction | Actual power production | All versions | kW | |
eTreshold | The actual threshold Electricity | All versions | A for v2.1, v2.2, v3.0 kW for v4.0 and v4.04 | |
eSwitchPosition | Actual switch position | All versions | ||
ePowerFailures | Number of power failures | v4.0 and up | ||
eLongPowerFailures | Number of long power failures | v4.0 and up | ||
eNumberOfLogEntries | Number of power failure entries in the event log | v4.0 and up | ||
eDatePowerFailureX | Date of power failure (entry X) | v4.0 and up X is a value [1-10] | ||
eDurationPowerFailureX | Duration of power failure (entry X) | v4.0 and up X is a value [1-10] | seconds | |
eVoltageSagsL1 | Number of voltage sags L1 | v4.0 and up | ||
eVoltageSagsL2 | Number of voltage sags L2 | v4.0 and up | ||
eVoltageSagsL3 | Number of voltage sags L3 | v4.0 and up | ||
eVoltageSwellsL1 | Number of voltage swells L1 | v4.0 and up | ||
eVoltageSwellsL2 | Number of voltage swells L2 | v4.0 and up | ||
eVoltageSwellsL3 | Number of voltage swells L3 | v4.0 and up | ||
eTextCode | Version information for P1 output | All versions | ||
eTextMessage | Version information for P1 output | All versions | ||
eInstantCurrentL1 | Instantenous current L1 | v4.04 and up | A | |
eInstantCurrentL2 | Instantenous current L2 | v4.04 and up | A | |
eInstantCurrentL3 | Instantenous current L3 | v4.04 and up | A | |
eInstantPowerDeliveryL1 | Instantenous active power delivery L1 | v4.04 and up | kW | |
eInstantPowerDeliveryL2 | Instantenous active power delivery L2 | v4.04 and up | kW | |
eInstantPowerDeliveryL3 | Instantenous active power delivery L3 | v4.04 and up | kW | |
eInstantPowerProductionL1 | Instantenous active power production L1 | v4.04 and up | kW | |
eInstantPowerProductionL2 | Instantenous active power production L2 | v4.04 and up | kW | |
eInstantPowerProductionL3 | Instantenous active power production L3 | v4.04 and up | kW | |
Gas meter values | ||||
gDeviceType | Device Type | v3.0 and up | ||
gEquipmentId | Equipment identifier | All versions | ||
gValueTS | Timestamp of the last measurement (local time) | v4.0 and up | Date & time | |
gNumberOfValues | Number of values available for gValue en gValueX | v3.0 | ||
gUnit | Unit of the values | v3.0 | ||
gValue | Delivery of: -Last hour (v3.0 / v4.0 and up) -Last 24 hours (v2.1 / v2.2) | All versions2 | m3 | |
gValueX | Meter reading X of the buffer (hourly period) | v3.02 X is a value [2-10] Higher values are older | m3 | |
gProfileStatus | Unknown | v3.0 | ||
gRecordingPeriod | Duration of a value recording | v3.0 | minutes | |
gValueCompensated | Temperature compensated delivery of the last 24 hours | v2.1 and v2.2 | m3 | |
gValvePosition | Valve position | All versions | ||
Gas meter values | ||||
Thermal meter (heating) values | ||||
hDeviceType | Device Type | v3.0 and up | ||
hEquipmentId | Equipment identifier | All versions | ||
hValueTS | Timestamp of the last measurement (local time) | v4.0 and up | Date & time | |
hValue | Last hour delivery | All versions | GJ | |
hValvePosition | Valve position | v3.0 and up | ||
Thermal meter (cooling) values | ||||
cDeviceType | Device Type | v3.0 and up | ||
cEquipmentId | Equipment identifier | All versions | ||
cValueTS | Timestamp of the last measurement (local time) | v4.0 and up | Date & time | |
cValue | Last hour delivery | All versions | GJ | |
cValvePosition | Valve position | v3.0 and up | ||
Water meter values | ||||
wDeviceType | Device Type | v3.0 and up | ||
wEquipmentId | Equipment identifier | All versions | ||
wValueTS | Timestamp of the last measurement (local time) | v4.0 and up | Date & time | |
wValue | Last hour delivery | All versions | m3 | |
wValvePosition | Valve position | v3.0 and up | ||
Generic meter values | ||||
genericDeviceType | Device Type | v3.0 | ||
genericEquipmentId | Equipment identifier | v3.0 | ||
genericValue | Last hour delivery | v3.0 | ||
genericValvePosition | Valve/Switch position | v3.0 | ||
Slave electricity meter values | ||||
seDeviceType | Device Type | v4.0 and up | ||
seEquipmentId | Equipment identifier | v4.0 and up | ||
seValueTS | Timestamp of the last measurement (local time) | v4.0 and up | Date & time | |
seValue | Last hour delivery | v4.0 and up | kWh | |
seSwitchPosition | Switch position | v4.0 and up |
Number P1_Actual_Delivery "Huidig verbruik [%.3f kW]" {dsmr="eActualDelivery"}
Number P1_Meter_DeliveryLow "Meterstand verbruik daltarief [%.3f kWh]" {dsmr="eDeliveryTariff1"}
Number P1_Meter_DeliveryNormal "Meterstand verbruik[%.3f kWh]" {dsmr="eDeliveryTariff2"}
Meter | DSMR Version | Electricity | Gas | Water | Heating | Cooling | General | Slave Electricity |
---|---|---|---|---|---|---|---|---|
Landys + Gyr E350 | 3.0 | OK | Not tested | Not tested | Not tested | Not tested | Not tested | N/A |
Kaifa E0003 | 4.04 | OK1 | OK | Not tested | Not tested | Not tested | N/A | Not tested |
eDatePowerFailureX, eDurationPowerFailureX
) not tested