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 that you accept these cookies being set.

LM5 polling rate KNX
#1
Hi,

Does LM5 have a parameter for setting the maximum polling rate for KNX objects via multicast? 
I've noticed that LM5 really pushes the capacity of the sublines.
Reply
#2
(18.12.2018, 09:15)gs@el-24.no Wrote: Hi,

Does LM5 have a parameter for setting the maximum polling rate for KNX objects via multicast? 
I've noticed that LM5 really pushes the capacity of the sublines.

Hi
LM does not pool any object unless you program it like that. It monitors live every telegram.
BR
------------------------------
Ctrl+F5
Reply
#3
(18.12.2018, 10:53)Daniel. Wrote:
(18.12.2018, 09:15)gs@el-24.no Wrote: Hi,

Does LM5 have a parameter for setting the maximum polling rate for KNX objects via multicast? 
I've noticed that LM5 really pushes the capacity of the sublines.

Hi
LM does not pool any object unless you program it like that. It monitors live every telegram.
BR

Correct, but Im using it for polling of 1000+ objects. I would like to limit the amount of telegrams pr second
Reply
#4
How do you do it?
------------------------------
Ctrl+F5
Reply
#5
(18.12.2018, 11:06)Daniel. Wrote: How do you do it?

Ive done a mass edit of the objects I need to poll by using the function "read during startup" and "poll intervall"
Reply
#6
Then do it via script.
Tag all objects which you want to pool with tag 'Read' and make a schedule script which will run as often as you want.  just make sure it will not run faster then time of execution of the script.  1000 X Delay 

Code:
myobjects = grp.tag('Read')


for _, object in pairs(myobjects) do

 -- send read request to object
 grp.read(object.address)

 os.sleep(1) --dealy in seconds

end
You can add also to start up script to read on boot.
------------------------------
Ctrl+F5
Reply
#7
(18.12.2018, 11:24)Daniel. Wrote: Then do it via script.
Tag all objects which you want to pool with tag 'Read' and make a schedule script which will run as often as you want.  just make sure it will not run faster then time of execution of the script.  1000 X Delay 

Code:
myobjects = grp.tag('Read')


for _, object in pairs(myobjects) do
 log(object.address)
 -- send read request to object
 grp.read(object.address)

 os.sleep(1) --dealy in seconds

end
You can add also to start up script to read on boot.

Thanks. But how will this reduce bustraffic when polling?
Reply
#8
In here os.sleep(1) --dealy in seconds  you specify how often you will make read request and it will go over all objects one by one with this delay.
Obviously disable all the previous pool settings.
I deleted not needed log in original script
------------------------------
Ctrl+F5
Reply
#9
Keep in mind that with 1000 objects and 1 second delay each object will be polled once in 17 minutes. The question is why do you need polling instead of devices sending object values on change and/or by their own timer?
Reply
#10
(18.12.2018, 11:36)admin Wrote: Keep in mind that with 1000 objects and 1 second delay each object will be polled once in 17 minutes. The question is why do you need polling instead of devices sending object values on change and/or by their own timer?

Because all devices doesnt have cyclic sending for all objects, and the BMS does not support polling trough KNX protocol. Thats why we poll via LM5. BMS turns on their updateflag so that values get updated in the BMS, for example after restart or crash.
Reply
#11
Ok then use what Daniel suggested. You can lower delay in os.sleep to 0.5 or less, depending on overall bus/system load.
Reply


Forum Jump: