-
Notifications
You must be signed in to change notification settings - Fork 0
DSMR binding
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 from a serial port the data can be read out.
This binding reads the P1-port of the Dutch Smart Meters that comply to NTA8130, DSMR v2.1, DSMR v2.2, DSMR v3.0, DSMR v4.0 or DSMR v4.04.
If you are not living in the Netherlands but do want to read a meter please have look at the IEC-62056-21 Meter Binding.
To enable the binding please include the following configuration in openhab.cfg
######################## DSMR Binding ###########################
# Port of the DSMR port (mandatory, e.g. /dev/ttyUSB0)
dsmr:port=/dev/ttyUSB1
# Configuration of additionel meters (channel 0 is used for the main
# electricity meter)
#dsmr:gas.channel=1
#dsmr:water.channel=2
#dsmr:heating.channel=3
#dsmr:cooling.channel=4
#dsmr:generic.channel=5
#dsmr:slaveelectricity.channel=6
The channel of the additional meters correspond to the M-Bus channel of the smart meter that the additional meter is connected to. Since the main electricity meter is always at channel 0, configuration of this meter is not necessary (and not supported).
The serial port settings for DSMR v4 and up (115200 8n1) differ from NTA8130, v2.1, v2.2 and v3.0 (9600 7e1). The DSMR binding will automatically detect the applicable serial port settings.
Use the following setting in logback.xml to increase verbosity of the logging
<logger name="org.openhab.binding.dsmr" level="DEBUG"/>
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 item id]"
The following table shows the full list of available dsmr values:
DSMR item id | Description | Available for DSMR version | Unit |
---|---|---|---|
General 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 | |
eDeliveryTariff0 |
Total meter delivery tariff 0 | 1 | kWh |
eDeliveryTariff1 |
Total meter delivery tariff 1 | All versions | kWh |
eDeliveryTariff2 |
Total meter delivery tariff 2 | All versions | kWh |
eProductionTariff0 |
Total meter production tariff 0 | 1 | kWh |
eProductionTariff1 |
Total meter production tariff 1 | 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 | |
Heating meter 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 | |
Cooling meter 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 | |
Cooling 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 |
1 This item isn't part of any specification however, the ITRON ACE4000 GTMM Mk3 does use this value.
2 Gas values for DSMR v3.0 are available in a list of max. 10 entries. The binding assumes the first value is the most recent (and thus available in gValue
)
Meter | DSMR version | Electricity | Gas | Water | Heating | Cooling | General | Slave electricity |
---|---|---|---|---|---|---|---|---|
ISKRA MT382 | 3.0 | OK | OK | Not tested | Not tested | Not tested | Not tested | N/A |
Itron ACE4000 GTMM Mk3 | NTA8130 | OK | Not tested | Not tested | Not tested | Not tested | N/A | N/A |
Kaifa E0003 | 4.04 | OK | OK | Not tested | Not tested | Not tested | N/A | Not tested |
Kaifa MA304 | 4.04 | OK | Not tested | Not tested | Not tested | Not tested | N/A | Not tested |
Kamstrup 162JxC | 3.0 | OK | OK | Not tested | Not tested | Not tested | Not tested | N/A |
Landys + Gyr E350 | 3.0 | OK | Not tested | Not tested | Not tested | Not tested | Not tested | N/A |
Remarks
- A meter that conforms to DSMR v4 or higher includes a CRC on the complete message. The binding does not check the CRC yet.
###Windows
###FreeBSD
- Classic UI
- iOS Client
- Android Client
- Windows Phone Client
- GreenT UI
- CometVisu
- Kodi
- Slack
- Chrome Extension
- Cosm Persistence
- db4o Persistence
- Amazon DynamoDB Persistence
- Exec Persistence
- InfluxDB Persistence
- JDBC Persistence
- JPA Persistence
- Logging Persistence
- mapdb Persistence
- MongoDB Persistence
- MQTT Persistence
- my.openHAB Persistence
- MySQL Persistence
- rrd4j Persistence
- Sen.Se Persistence
- SiteWhere Persistence
- AKM868 Binding
- AlarmDecoder Binding
- Anel Binding
- Arduino SmartHome Souliss Binding
- Asterisk Binding
- Astro Binding
- Autelis Pool Control Binding
- BenQ Projector Binding
- Bluetooth Binding
- Bticino Binding
- CalDAV Binding
- Chamberlain MyQ Binding
- Comfo Air Binding
- Config Admin Binding
- CUL Transport
- CUL Intertechno Binding
- CUPS Binding
- DAIKIN Binding
- Davis Binding
- Denon Binding
- digitalSTROM Binding
- DMX512 Binding
- DSC Alarm Binding
- DSMR Binding
- eBUS Binding
- Ecobee Binding
- EDS OWSever Binding
- eKey Binding
- Energenie Binding
- EnOcean Binding
- Enphase Energy Binding
- Epson Projector Binding
- Exec Binding
- Freebox Binding
- Freeswitch Binding
- Frontier Silicon Radio Binding
- Fritz AHA Binding
- Fritz!Box Binding
- FritzBox-TR064-Binding
- FS20 Binding
- Garadget Binding
- Global Caché IR Binding
- GPIO Binding
- HAI/Leviton OmniLink Binding
- HDAnywhere Binding
- Heatmiser Binding
- Homematic / Homegear Binding
- HTTP Binding
- IEC 62056-21 Binding
- IHC / ELKO Binding
- ImperiHome Binding
- Insteon Hub Binding
- Insteon PLM Binding
- IPX800 Binding
- IRtrans Binding
- jointSPACE-Binding
- KNX Binding
- Koubachi Binding
- LCN Binding
- LightwaveRF Binding
- Leviton/HAI Omnilink Binding
- Lg TV Binding
- Logitech Harmony Hub
- MailControl Binding
- MAX!Cube-Binding
- MAX! CUL Binding
- MiLight Binding
- MiOS Binding
- Mochad X10 Binding
- Modbus Binding
- MPD Binding
- MQTT Binding
- MQTTitude binding
- MystromEcoPower Binding
- Neohub Binding
- Nest Binding
- Netatmo Binding
- Network Health Binding
- Network UPS Tools Binding
- Nibe Heatpump Binding
- Nikobus Binding
- Novelan/Luxtronic Heatpump Binding
- NTP Binding
- One-Wire Binding
- Onkyo AV Receiver Binding
- Open Energy Monitor Binding
- OpenPaths presence detection binding
- OpenSprinkler Binding
- OSGi Configuration Admin Binding
- Panasonic TV Binding
- panStamp Binding
- Philips Hue Binding
- Picnet Binding
- Piface Binding
- PiXtend Binding
- pilight Binding
- Pioneer-AVR-Binding
- Plex Binding
- Plugwise Binding
- PLCBus Binding
- Powermax alarm Binding
- Primare Binding
- Pulseaudio Binding
- Raspberry Pi RC Switch Binding
- RFXCOM Binding
- RWE Smarthome Binding
- Sager WeatherCaster Binding
- Samsung AC Binding
- Samsung TV Binding
- Serial Binding
- Sallegra Binding
- Satel Alarm Binding
- SimpleBinary Binding
- Sinthesi Sapp Binding
- Smarthomatic Binding
- Snmp Binding
- Somfy URTSI II Binding
- Sonance Binding
- Sonos Binding
- Souliss Binding
- Squeezebox Binding
- Stiebel Eltron Heatpump
- Swegon ventilation Binding
- System Info Binding
- TA CMI Binding
- TCP/UDP Binding
- Tellstick Binding
- TinkerForge Binding
- Tivo Binding
- UCProjects.eu Relay Board Binding
- VDR Binding
- Velleman-K8055-Binding
- Wago Binding
- Wake-on-LAN Binding
- Waterkotte EcoTouch Heatpump Binding
- Weather Binding
- Wemo Binding
- Withings Binding
- XBMC Binding
- xPL Binding
- Yamahareceiver Binding
- Zibase Binding
- Z-Wave Binding
- Asterisk
- DoorBird
- FIND
- Foscam IP Cameras
- LG Hombot
- Worx Landroid
- Heatmiser PRT Thermostat
- Google Calendar
- Linux Media Players
- Rainforest EAGLE Energy Access Gateway
- Roku Integration
- ROS Robot Operating System
- Telldus Tellstick
- Zoneminder
- Wink Hub (rooted)
- Wink Monitoring
- Transformations
- XSLT
- JSON
- REST-API
- Security
- Service Discovery
- Voice Control
- BritishGasHive-Using-Ruby
- Dropbox Bundle
A good source of inspiration and tips from users gathered over the years. Be aware that things may have changed since they were written and some examples might not work correctly.
Please update the wiki if you do come across any out of date information.
- Rollershutter Bindings
- Squeezebox
- WAC Binding
- WebSolarLog
- Alarm Clock
- Convert Fahrenheit to Celsius
- The mother of all lighting rules
- Reusable Rules via Functions
- Combining different Items
- Items, Rules and more Examples of a SmartHome
- Google Map
- Controlling openHAB with Android
- Usecase examples
- B-Control Manager
- Spell checking for foreign languages
- Flic via Tasker
- Chromecast via castnow
- Speedtest.net integration