This page last changed on Feb 15, 2012 by mb.

Hi all.

I created a KNX command with DPT 9.001 and command "status".
Then used a custom sensor with the value eg. "21.1" as string.

It works fine if temperature is over 0° but when the temp goes down
it write me a wrong value.

From the ETS3, reading the BUS, the value is correct -2.0

we live in Italian riviera... rarely the temp goes down under 0°


TwoOctetFloat.class (application/octet-stream)

So just wait for a few days, and the nature will solve your issue

Posted by yannph at Feb 15, 2012 10:05

Hi Yann...
already solved today is 11° C

Posted by mb at Feb 15, 2012 11:37

When the real value in ETS was "-2.0" what did OR say?

Posted by mredeker at Feb 16, 2012 08:51


I have the same problem (Sweden is also cold this time of the year )

Here are some values ​​that I got out of OR.

-0.01 -20.47
-0.1 -20.38
-1.0 -19.48
-2.0 -18.48
-10.0 -10.48
-20.0 -0.48
-20.4 -0.08
-20.48 -0.0
-21.0 -19.96
-30.0 -10.96
-40.96 -0.0
-41.0 -40.92
-50.0 -31.92
-60.0 -21.92
-61.44 -20.48
-70.0 -11.92
-81.92 -0.0


Posted by kenta at Feb 17, 2012 15:40

Please try the latest dev snapshot:

Posted by mredeker at Feb 17, 2012 21:48

Thank you Marcus.
I've already tried that version. Unfortunately, no difference except that I get rounding to single digit decimals, (which is good).


Posted by kenta at Feb 17, 2012 23:17

Thanks, that's helpful.

Looks like it might be a two's complement issue on negative values in mantissa (the values are basically running in reverse).

Posted by juha at Feb 18, 2012 07:46

Hi again Marcus,

I'm not any programmer, but to me it looks like you have missed to perform "two's complement notation" (invert the M-bits and add 1).

I also have a question / wish, the Data Point Type is that anything you will introduce in the near future? My energy meters and actuators with current measurement are using the DPT. and it would be really nice to be able to monitor the house energy and power consumption through OR.

The PDF "03_07_02 Datapoint Types v1.5.00 AS.PDF" says.

-> 3.10 Datapoint Types "2-Octet Float Value"
-> Format: 2 octets: F16
-> octet nr 2 MSB 1 LSB
-> FloatValue
->Encoding: FloatValue = (0,01*M)*2(E)
->E = 0 ... 15
->M = \-2 048 ... 2 047, two's complement notation
->For all Datapoint Types, the encoded value 7FFFh shall always be used to denote invalid data.
->Range: \-671 088,64 ... 670 760,96

I hope you understand my English


Posted by kenta at Feb 18, 2012 07:47

I was too slow

Posted by kenta at Feb 18, 2012 07:49

Sorry, my question / wish was not regarding DPT, I meant DPT


Posted by kenta at Feb 18, 2012 22:32

slightly off topic, how can i get the temp value displayed in decimals? (I am using dtp 9.001)

Posted by bassie01 at Feb 19, 2012 22:47

Create a KNX command "status" with dpt 9.001 and the group address of your temp device.
That command you bind to a custom sensor and you can use a label which will display the value of that sensor.

Posted by mredeker at Feb 19, 2012 23:23

Can you please try the attached patch to see how it impacts the output?

It's a drop in replacement to OpenRemote-Controller/webapps/controller/WEB-INF/org/openremote/controller/protocol/knx/datatype/TwoOctetFloat.class


Thanks for reporting this bug,

– Juha

Posted by juha at Mar 06, 2012 20:09

YES, Perfect!

I've tried (almost) all values ​​between -273 and 670 760 and all work perfectly.

Thank you very much Juha!

/ Kenneth

Posted by kenta at Mar 07, 2012 07:27

I'll add DPT on the to-do list next time I touch controller/KNX code.

Posted by juha at Mar 16, 2012 17:52

Thanks Juha!

I really appreciate it.


Posted by kenta at Mar 19, 2012 08:53
Document generated by Confluence on Jun 05, 2016 09:32