Example DSMR dutch smart meter (slimme meter)


Does somebody having a good working example for the DSMR dutch smart meter(slimme meter) binding.
I have a simple item and sitemap display but i also want some charts for the electricity and gas meter.

I would be very nice if somebody can post his items, sitemap and rules.

Thanks in advance.
Regards MIckel

Hi Mickel,


Group chart ā€œā€ (All)

Number  P1_Actual_Delivery  "Huidig verbruik [%.1f kW]"  (P1,chart)    { dsmr="eActualDelivery" }
Number  P1_Actual_Production  "Huidig teruggeleverd [%.1f kW]"  (P1,chart)    { dsmr="eActualProduction" }


Frame label="P1 garafiek"{
	Text label="Grafiek P1" icon="kwhmeter" {
				Switch item=Weather_Chart_Period label="Chart Period" mappings=[0="Hour", 1="Day", 2="Week", 3="Month", 4="Year"]
				Chart item=chart period=h refresh=600 visibility=[Weather_Chart_Period==0]
				Chart item=chart  period=D refresh=900 visibility=[Weather_Chart_Period==1, Weather_Chart_Period=="NULL"]
				Chart item=chart  period=W refresh=3600 visibility=[Weather_Chart_Period==2]
				Chart item=chart  period=M refresh=3600 visibility=[Weather_Chart_Period==3]
				Chart item=chart  period=Y refresh=3600 visibility=[Weather_Chart_Period==4]

You should also add the following line in rr4dj.persist

// chart p1 meter
chart* : strategy = everyMinute, everyChange, restoreOnStartup

This works for me in OH 1.8.3


DateTime    P1_Timestamp           "Laatste meter lezing [%1$ta %1$tR]"            { dsmr="P1Timestamp" }
Number      P1_eDeliveryTariff1	   "Afgenomen stroom laagtarief [%.0f kWh]"        { dsmr="eDeliveryTariff1" }
Number      P1_eDeliveryTariff2	   "Afgenomen stroom hoogtarief [%.0f kWh]"        { dsmr="eDeliveryTariff2" }
Number      P1_eProductionTariff1  "Teruggeleverde stroom laagtarief [%.0f kWh]"   { dsmr="eProductionTariff1" }
Number      P1_eProductionTariff2  "Teruggeleverde stroom hoogtarief [%.0f kWh]"   { dsmr="eProductionTariff2" }
String      P1_eTariffIndicator    "Huidig tarief [MAP(dsmr.map):%s]"              { dsmr="eTariffIndicator" }
Number      P1_ActualDelivery      "Huidig afgenomen stroom [%.3f kW]"             { dsmr="eActualDelivery" }
Number      P1_eActualProduction   "Huidig teruggeleverde stroom [%.3f kW]"        { dsmr="eActualProduction" }
Number      P1_ePowerFailures      "Onderbrekingen in levering [%d]"               { dsmr="ePowerFailures" }
Number      P1_eLongPowerFailures  "Landurige onderbrekingen in levering [%d]"     { dsmr="eLongPowerFailures" }
Number      P1_eNumberOfLogEntries "Gelogde onderbrekingen [%d]"                   { dsmr="eNumberOfLogEntries" }
Number      P1_eInstantCurrentL1   "Huidige stroom [%.3f A]"                       { dsmr="eInstantCurrentL1" }


		Frame label="Electriciteitsmeter" {
			Text item=P1_Timestamp
			Text item=P1_eDeliveryTariff1
			Text item=P1_eDeliveryTariff2
			Text item=P1_eProductionTariff1
			Text item=P1_eProductionTariff2
			Text item=P1_eTariffIndicator
			Text item=P1_ActualDelivery
			Text item=P1_eActualProduction
			Text item=P1_ePowerFailures
			Text item=P1_eLongPowerFailures
			Text item=P1_eNumberOfLogEntries
			Text item=P1_eInstantCurrentL1

Iā€™m not persisting the DSMR data directly, but rather combine it with the PV data to provide real consumption data etc.

1 Like

can you post an example of the file dsmr.map?

I think this depends on your Smart Meter. My Kaifa MA105C sends
eTariffIndicator ā€˜0001ā€™ for Laag/Nachttarief and ā€˜0002ā€™ for Normaal/Hoogtarief

So a valid dsmr.map for this would be:


Let me go one step back, how did you even get this working ? Did you connect a P1 kabel to your openhab host machine or use external device like plugwise or something ?