Posts: 4643
Threads: 24
Joined: Aug 2017
Reputation:
207
Feadback in this case is not needed when you use the same object.
Check what value you have in your object as this only display corresponding value
------------------------------
Ctrl+F5
Posts: 303
Threads: 87
Joined: May 2017
Reputation:
2
Checked now in objects log. Button sends 1-2-3-4 instead of the choices 500-600-700-800.
Therefore the value returns 400 which is minimum in the thermostat..
Posts: 4643
Threads: 24
Joined: Aug 2017
Reputation:
207
If you want the value to send 500.600... then you have to do it other way around. This is simple enumeration.
500 | 1
600 | 2
If you want to display 500 and send 500 then do it like 500 | 500 ...
It goes back to minimum as you send them 1,2,3,4 so thermostat is sending minimum value back.
------------------------------
Ctrl+F5
Posts: 303
Threads: 87
Joined: May 2017
Reputation:
2
Fixed it in the value, which of course was wrong.
But when choosing 600 and 800 both send this value as setpoint.
When sending 700, value shown in objects value is 699.52 and then the value is not shown as the chosen one in option button.
500 also shown as 499.84. Why is this.?
Posts: 4643
Threads: 24
Joined: Aug 2017
Reputation:
207
This is a problem of KNX floating objects. With higher values they do this. KNX org screw this as they assumet this will be used only for temp. The only work around is to use an integer object for this control and then you will have to convert it via script to floating object if you need this format on thermostat..
------------------------------
Ctrl+F5
Posts: 4643
Threads: 24
Joined: Aug 2017
Reputation:
207
Just do it with event script like that
Code:
grp.write('1/1/1', event.getvalue())
------------------------------
Ctrl+F5
Posts: 303
Threads: 87
Joined: May 2017
Reputation:
2
Feeling a bit stupid. But whats the correct way to put it. Just adding this to the group adress in object viewer as an event scrtipt didnt do the trick.
So what is the correct way?
Posts: 7758
Threads: 42
Joined: Jun 2015
Reputation:
447
Create a virtual object, set data type to 2 bytes unsigned. Attach an event script to this object. Change 1/1/1 in the script to 2 bytes floating point object address that controls CO2 setpoint.
Posts: 4643
Threads: 24
Joined: Aug 2017
Reputation:
207
On your widget you have to use the virtual object.
------------------------------
Ctrl+F5
Posts: 303
Threads: 87
Joined: May 2017
Reputation:
2
15.06.2020, 07:41
(This post was last modified: 15.06.2020, 07:47 by Tokatubs.)
Yes, but used the set value directly from "Objects" Pane.
May be that i misunderstood. The value now shows in the widget, and that was originally the end target.
I was waiting for the float value to return to 700, but maybe that was never the intention.?
Posts: 4643
Threads: 24
Joined: Aug 2017
Reputation:
207
You will not fix floating object, this trick is only to correctly display values on visu.
Do you have feadback object which you want to use in visu too?
------------------------------
Ctrl+F5
Posts: 303
Threads: 87
Joined: May 2017
Reputation:
2
Daniel it works now like intended. No problem. I got a bit looked on the thought of fixing the Float value. But now the value shows in the "Option button" in the widget, and that was the end goal all along.
Thanks for help.
Posts: 7758
Threads: 42
Joined: Jun 2015
Reputation:
447
You can't "fix" 16-bit floating point value because this data type does not have enough precision for larger numbers