IEC 62056 - 21 Meter Binding: Assing 2nd value to item

Hi,
I’m using the binding to read a Landis & Gyr 2WR5 district heating meter.
I get all data in and displayed in openhab except where the meter returns multiple values separated by a semicolon. I only get data until the semicolon
Example:
DataSet: 6.8;0497.202;GJ - I just get 0497.202 { iec6205621meter=“district_heating:6.8” }
DataSet: 9.4;100;C&085*C - I just get 100. { iec6205621meter=“district_heating:9.4” }
In many cases the last item (like the GJ in my first example) is simply an indication of the unit for the value. But in my second example it is tuneable parameter for the heating of the house and I’d like to have the value reported.

Any recommendation on to go about getting this value in an item??

Thanks,

Is this related?

It looks like an identical issue where the ‘:’ is now replaced by a ‘;’.

Item config:
Number flowtempmaxreturn “Flow temperatuur in/uit [%.s]” { iec6205621meter=“district_heating:9.4” }
Binding log:
2016-04-13 12:16:44 - DataSet: 9.401;100;C&085C
2016-04-13 12:16:44 - Updateing item flowtempmaxreturn with OBIS code 9.4 and value 100

I guess the issue is that the binding only assigns a single value to an item (up until the next semicolon).
If you look at the structure of the data:
DataSet:id;val1;val2
only val1 is assigned to an item, val2 is discarded.

The good news is that the binding author is preparing a PR to fix it. He is providing a patched addon bundle in the meantime.

Hi ,

the 3 “;” separated items are
DataSet: 9.401;100;C&085C
OBIS;Value;unit

So my guess is that C&085*C is representing °C

So currently the dataset provides this values including the unit, but the item binding configuration does not allow access to the unit.
I am not sure if the item configuration could be adapted to also represent the unit.
Currently it is manually done in the formatting.

/kreutpet

Hi,
In this case “C&085*C” is not the unit.
As you can see from the log below, most of the data is properly formatted, with the unit behind the last ;
Dataset: 9.4 is supposed to return two numbers: flow temperature IN and flow temperature OUT. In this case 100 and 85 degrees Celsius.
The data for this entry is oddly formatted, but it’s not the unit.

2016-04-18 08:38:42.200 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 2WR5;;
2016-04-18 08:38:42.204 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 6.8;0497.394;GJ
2016-04-18 08:38:42.207 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 6.26;04300.16;m3
2016-04-18 08:38:42.209 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 9.21;65489591;
2016-04-18 08:38:42.212 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 6.2601;04105.60;m3
2016-04-18 08:38:42.215 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 6.8
01;0471.155;GJ
2016-04-18 08:38:42.218 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: F;0;
2016-04-18 08:38:42.221 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 9.20;65489591;
2016-04-18 08:38:42.224 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 6.35;60;m
2016-04-18 08:38:42.226 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 6.6;0023.6;kW
2016-04-18 08:38:42.229 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 6.601;0023.6;kW
2016-04-18 08:38:42.232 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 6.33;000.708;m3ph
2016-04-18 08:38:42.235 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 9.4;100;C&085
C
2016-04-18 08:38:42.238 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 6.31;0080898;h
2016-04-18 08:38:42.241 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 6.32;0000632;h
2016-04-18 08:38:42.244 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 9.22;R;
2016-04-18 08:38:42.248 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 9.6;000&65489591&0;
2016-04-18 08:38:42.251 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 9.7;20000;
2016-04-18 08:38:42.254 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 6.3201;0000632;h
2016-04-18 08:38:42.257 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 6.36;01-01;
2016-04-18 08:38:42.260 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 6.33
01;000.708;m3ph
2016-04-18 08:38:42.263 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 6.8.1;;
2016-04-18 08:38:42.266 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 6.8.2;;
2016-04-18 08:38:42.269 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 6.8.3;;
2016-04-18 08:38:42.272 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 6.8.4;;
2016-04-18 08:38:42.275 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 6.8.5;;
2016-04-18 08:38:42.278 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 6.8.101;;
2016-04-18 08:38:42.281 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 6.8.2
01;;
2016-04-18 08:38:42.284 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 6.8.301;;
2016-04-18 08:38:42.287 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 6.8.4
01;;
2016-04-18 08:38:42.290 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 6.8.501;;
2016-04-18 08:38:42.293 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 9.4
01;100;C&085C
2016-04-18 08:38:42.296 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 6.36.1;2009-12-19;
2016-04-18 08:38:42.299 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 6.36.1
01;2009-12-19;
2016-04-18 08:38:42.302 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 6.36.2;2008-11-19;
2016-04-18 08:38:42.305 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 6.36.201;2008-11-19;
2016-04-18 08:38:42.308 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 6.36.3;2009-01-10;
2016-04-18 08:38:42.311 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 6.36.3
01;2009-01-10;
2016-04-18 08:38:42.314 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 6.36.4;2014-10-08;
2016-04-18 08:38:42.317 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 6.36.401;2014-10-08;
2016-04-18 08:38:42.320 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 6.36.5;2000-00-00;
2016-04-18 08:38:42.322 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 6.36
02;01;
2016-04-18 08:38:42.325 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 9.36;2016-04-18&13:33:19;
2016-04-18 08:38:42.328 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 9.24;1.5;m3ph
2016-04-18 08:38:42.331 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 9.17;0;
2016-04-18 08:38:42.334 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 9.18;;
2016-04-18 08:38:42.337 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 9.19;;
2016-04-18 08:38:42.340 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 9.25;;
2016-04-18 08:38:42.343 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 9.1;0&1&0&-&CV&3&2.21;
2016-04-18 08:38:42.346 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 9.2;&&;
2016-04-18 08:38:42.349 [DEBUG] [iec6205621meter.internal.Meter] - DataSet: 0.0;65489591;

ok , got the point.
seems to be a bit strange as for most dataset it looks like following unit for 3rd entry.
I have looked into the code from openmuc to get an understanding how units are decoded from the bytes receive and I could not see any specific rule to deal with 2 values.

If you could share more details about the device we may contact the openmuc team to get some feedback from them.
Also looking into the IEC standard does not show that dataset my contain 2 values.
Address (Value*Unit)

/kreutoet

it’s a Landis & Gyr Ultraheat 2WR5; datasheet

While I connected the meter I was exited to get this tunable parameter data from it, now it gets warmer, the values do not change at all.
It turns out 9.4 is just a static value. So the interest in getting this resolved is gone (at least for me).

Sorry for the bother

Rgds,C