This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

Datatype "Percentage difference" Mosaic.
#1
   


Tried making a easier way for people to regulate the ventilation and Vav.
Then the ventilation guy could change via Mosaic instead of me, changing via Ets.
The Siemens GDB181 uses 2 setpoints for Vmin and Vmax. But these are in Ets in "percentage difference" 8.010 so i dont see that there is a datatype for this out of the box.
 
Like in the example above the setpoint should be 30%. But shows 3000 when choosing the 8. 2 bytes signed integer. Choosing 0-100 in visualizations parameters i guess only apply to the Visu and not mosaic?

Anyone have an idea how to change this to correct value.
Reply
#2
Hi
What value do you receive from KNX? 3000 or 30?
I think you will need a script to convert it to % if you want it to be in this format.
BR
Reply
#3
(30.09.2019, 10:22)Daniel. Wrote: Hi
What value do you receive from KNX? 3000 or 30?
I think you will need a script to convert it to % if you want it to be in this format.
BR
Reiceved from knx is 3000  yes. The datatype in Ets is 8.010 "percentage difference".
My thought in the mosaic creator also is a bit wrong. When i try a different number it goes back to 100 as max.
Thought was just to use the value as is. When the ventilation guy wanted 40%, he just added 4000 to the value in the mosaic. But dont seem to want higher than 100.

Then a script is the way to go then.
Reply
#4
Hm. Did you set the min/max values correctly?
Reply
#5
(30.09.2019, 10:47)Daniel. Wrote: Hm. Did you set the min/max values correctly?
Default 0-100, fixed it. Testet from mosaic sending 3400 receiving 34% on the bus.
For now this will work. One beautiful day maybe i discover a script to convert. Or i will have a look in the Fb Editor.
Thanks for help..
Reply
#6
1/1/1 is 4 byte floating point object, 1/1/2 is 2 byte unsigned object. Script has loop protection via event.sender check (se = script type event).

Code:
if event.sender ~= 'se' then
  grp.update('1/1/2', event.getvalue() * 100)
end

Code:
if event.sender ~= 'se' then
  grp.update('1/1/1', event.getvalue() / 100)
end
Reply


Forum Jump: