DSMR binding suitable for Belgium Smart Meters

I thought I’ve did that. But apparently something was still running somewhere. If I now do it, I do get again the log saying that he can not parse everything. Btw, I always get 2 “slimme meter” and an “Algemene slimme meter” things in my inbox when I do the discover:

2020-01-22 17:21:33.809 [INFO ] [.discovery.DSMRMeterDiscoveryService] - There are unrecognized cosem values in the data received from the meter, which means you have values that can't be read by a channel: obis id:{}, value:{}. Please report them and your raw data as reference: /FLU5\253769484_A

0-0:96.1.4(50213)
0-0:96.1.1(3153414733313030303733333633)
0-0:1.0.0(200122182157W)
1-0:1.8.1(000109.797*kWh)
1-0:1.8.2(000115.256*kWh)
1-0:2.8.1(000002.728*kWh)
1-0:2.8.2(000001.145*kWh)
0-0:96.14.0(0001)
1-0:1.7.0(00.216*kW)
1-0:2.7.0(00.000*kW)
1-0:32.7.0(232.4*V)
1-0:52.7.0(000.0*V)
1-0:72.7.0(231.8*V)
1-0:31.7.0(000*A)
1-0:51.7.0(000*A)
1-0:71.7.0(000*A)
0-0:96.3.10(1)
0-0:17.0.0(999.9*kW)
1-0:31.4.0(999*A)
0-0:96.13.0()
0-1:24.1.0(003)
0-1:96.1.1(37464C4F32313139303837373137)
0-1:24.4.0(1)
0-1:24.2.3(200122182005W)(00315.203*m3)
!2317
/FLU5\253769484_A

0-0:96.1.4(50213)
0-0:96.1.1(3153414733313030303733333633)
0-0:1.0.0(200122182158W)
1-0:1.8.1(000109.797*kWh)
1-0:1.8.2(000115.256*kWh)
1-0:2.8.1(000002.728*kWh)
1-0:2.8.2(000001.145*kWh)
0-0:96.14.0(0001)
1-0:1.7.0(00.216*kW)
1-0:2.7.0(00.000*kW)
1-0:32.7.0(232.4*V)
1-0:52.7.0(000.0*V)
1-0:72.7.0(231.7*V)
1-0:31.7.0(000*A)
1-0:51.7.0(000*A)
1-0:71.7.0(000*A)
0-0:96.3.10(1)
0-0:17.0.0(999.9
2020-01-22 17:21:34.821 [INFO ] [.discovery.DSMRMeterDiscoveryService] - There are unrecognized cosem values in the data received from the meter, which means you have values that can't be read by a channel: obis id:{}, value:{}. Please report them and your raw data as reference: *kW)
1-0:31.4.0(999*A)
0-0:96.13.0()
0-1:24.1.0(003)
0-1:96.1.1(37464C4F32313139303837373137)
0-1:24.4.0(1)
0-1:24.2.3(200122182005W)(00315.203*m3)
!8764
/FLU5\253769484_A

0-0:96.1.4(50213)
0-0:96.1.1(3153414733313030303733333633)
0-0:1.0.0(200122182159W)
1-0:1.8.1(000109.797*kWh)
1-0:1.8.2(000115.256*kWh)
1-0:2.8.1(000002.728*kWh)
1-0:2.8.2(000001.145*kWh)
0-0:96.14.0(0001)
1-0:1.7.0(00.218*kW)
1-0:2.7.0(00.000*kW)
1-0:32.7.0(232.4*V)
1-0:52.7.0(000.0*V)
1-0:72.7.0(231.8*V)
1-0:31.7.0(000*A)
1-0:51.7.0(000*A)
1-0:71.7.0(000*A)
0-0:96.3.10(1)
0-0:17.0.0(999.9*kW)
1-0:31.4.0(999*A)
0-0:96.13.0()
0-1:24.1.0(003)
0-1:96.1.1(37464C4F32313139303837373137)
0-1:24.4.0(1)
0-1:24.2.3(200122182005W)(00315.203*m3)
!0DF3
/FLU5\253769484_A

0-0:96.1.4(50213)
0-0:96.1.1(3153414733313030303733333633)
0-0:1.0.0(200122182200W)
1-0:1.8.1(000109.797*kWh)
1-0:1.8.2(000115.256*kWh)
1-0:2.8.1(000002.728*kWh)
1-0:2.8.2(000001.145*kWh)
0-0:96.14.0(0001)
1-0:1.7.0(00.216*kW)
1-0:2.7.0(00
2020-01-22 17:21:34.828 [INFO ] [.discovery.DSMRMeterDiscoveryService] - There are unrecognized cosem values in the data received from the meter, which means you have values that can't be read by a channel: obis id:{}, value:{}. Please report them and your raw data as reference: 
2020-01-22 17:21:36.804 [INFO ] [.discovery.DSMRMeterDiscoveryService] - There are unrecognized cosem values in the data received from the meter, which means you have values that can't be read by a channel: obis id:{}, value:{}. Please report them and your raw data as reference: .000*kW)
1-0:32.7.0(232.4*V)
1-0:52.7.0(000.0*V)
1-0:72.7.0(231.7*V)
1-0:31.7.0(000*A)
1-0:51.7.0(000*A)
1-0:71.7.0(000*A)
0-0:96.3.10(1)
0-0:17.0.0(999.9*kW)
1-0:31.4.0(999*A)
0-0:96.13.0()
0-1:24.1.0(003)
0-1:96.1.1(37464C4F32313139303837373137)
0-1:24.4.0(1)
0-1:24.2.3(200122182005W)(00315.203*m3)
!7070
/FLU5\253769484_A

0-0:96.1.4(50213)
0-0:96.1.1(3153414733313030303733333633)
0-0:1.0.0(200122182201W)
1-0:1.8.1(000109.797*kWh)
1-0:1.8.2(000115.256*kWh)
1-0:2.8.1(000002.728*kWh)
1-0:2.8.2(000001.145*kWh)
0-0:96.14.0(0001)
1-0:1.7.0(00.223*kW)
1-0:2.7.0(00.000*kW)
1-0:32.7.0(232.5*V)
1-0:52.7.0(000.0*V)
1-0:72.7.0(231.9*V)
1-0:31.7.0(000*A)
1-0:51.7.0(000*A)
1-0:71.7.0(000*A)
0-0:96.3.10(1)
0-0:17.0.0(999.9*kW)
1-0:31.4.0(999*A)
0-0:96.13.0()
0-1:24.1.0(003)
0-1:96.1.1(37464C4F32313139303837373137)
0-1:24.4.0(1)
0-1:24.2.3(200122182005W)(00315.203*m3)
!23F9

and this is the bundle that is installed:
252 │ Active │ 80 │ 2.5.0.201912092236 │ openHAB Add-ons :: Bundles :: DSMR Binding

@hilbrand what is strange, that every time that I discover the things and add them, he automatically links them to the old items (which I also removed).

I’ll run the raw data through the test to see what it misses and report it back to you.

You have 2 things. 1 is the bridge which has the serial port settings and does the actual communication. The other one is a general thing with some generic channels not specific to a meter type. I would expect it to also find an energy and gas meter. If it doesn’t find those it could explain why it’s reporting the missing values.

I don’t know why it re-links, maybe a caching issue.

Turns out there was a value not recognized. The fuse current limit 1-0:31.4.0(999*A). Not a very interesting channel I guess, but I added it anyway. I’ve not updated the binding on my page as it’s not a breaking problem.

You should be able to use the current binding and it should detect your meters correctly or do you still have the problem of not getting electricity values?

I do get 4 items

And If I try to install them, it works for “Slimme meter” “Gasmeter” and “Elektriciteitsmeter”, but not for “Algemene DSMR meter”. There it gives an error :

2020-01-23 18:48:47.248 [ERROR] [home.core.thing.binding.ThingFactory] - Thing factory (class org.openhab.binding.dsmr.internal.DSMRHandlerFactory) returned null on create thing when it reports to support the thing type (dsmr:device_emucs_v1_0).
2020-01-23 18:48:47.252 [WARN ] [g.discovery.internal.PersistentInbox] - Cannot create thing. No binding found that supports creating a thing of type dsmr:device_emucs_v1_0.

After I’ve installed the 3 working things, it keeps the link (I even tried a openhab-cli clean-cache). And I get a couple of metrics. See below on the screen shots:
image and
image

As you can see, for the electric meter I only get one working metric. and for the gas meter I get 3 working items.

One NOOB thing, I didn’t saw the show more. So I do have more items. But only the current consumption and production are populated. the rest stays at NaN

I think I found why the ‘algemene meter’ doesn’t work. I’m going to fix it.

Why the electricity meter doesn’t show values isn’t clear. Can you open the details of the electricity meter. It has some additional channels if you click ‘show more’. It should be visible on the right side, next to the title channels. If you see it, can you check if there are more channels with problems?

Yes, I found the show more. And all of the ones I added where having the same issue. But I’m really starting to think that I did not correctly installed the snapshot version.

Would that be the behaviour when I have the released version? or not?

I would not expect it to have the problem. It might be due to it still having some items from the earlier version that you created with the original binding. You could disable simple mode in linking items In System -> Configuration and remove the items created and then enable simple mode again and recreate the thing.

I am at advanced mode. I already deleted the items and did it again.

hmmm. at least, at this moment I already have the two most important ones. The curent production and current injection.

Hi,

Can someone help me with following problem:
I get all readings from my Belgium smart meter cofrecty, and as I think, the DSMR binding is also set up ok. I get changing values from my current injection, my voltige of my 3 phases, etc… But I do not get an update of my total conumption and injection:

Does anybody has any idea what the problem can be here?

Thanks in advance!

To clarify: My P1 readings via my USB port are as following:
image

So as far as I see, all data is entering openhab fine…

Which openHAB thing do you use for the meter?

@hilbrand Hope this helps you a bit :wink:

Also in the logfile I only see the updates of the mentioned channels, not the total production etc…

I don’t know why this happens. Can you run discovery and see if it reposts anything additional in the logging. Or run with log level trace. In karaf console: log:set TRACE org.openhab.binding.dsmr

So to be as clear as possible: I removed everything and triend again from zero.
I installed the DSRM binding (as I an using openhab 2.5, i have seen that the EMUCS for Belgium meters you created @hilbrand is already added in this binding). I did the autodiscover and it found 5 to add as Thing: Gas meter, Electricity meter, Smart meter 1, Smart meter 2, and the unknown generic DSMR device.
Here is teh log started from the moment I ran the autodiscover up to when I created 3 items in the Electricity meter. And as you can see, only the actual power is updated.

DSMR log.txt (56.8 KB)

It does shows the following regularely:

There are unrecognized cosem values in the data received from the meter, which means you have values that can’t be read by a channel: obis id:{}, value:{}. Please report them and your raw data as reference:

Maybe this can be a cause?

Hi, think I have found the problem.
As I was reading discussions from previous versions (dated 2018 :slight_smile: ), I have seen someones setting as the electricity meter set to 'channel = 0"
I looked at my settings, and saw the channel was set to 1.
So I changed the channel from ‘1’ to ‘0’ and voila… suddenly the values started to be registred!

Saying this for the case anybode else should stumble into the same issue!

3 Likes

Hi Stievie

Thanks a lot. I can confirm that the same trick helped me. And sorry for the late responses

Mr

Jan

@Stievo

located also in Belgium,

I’m strugling with the things configuration, using dsmr v5 is working, kind of…
could you post your thing configuration file?
Not sure if I should use dsmr v5 or emucs