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.

Bacnet COV subscription limit increase
#1
Hello,

I'm running LM5 (20180822) as a KNX -> BacnetIP gateway, no other tasks on the device. Zero scripts, zero visualisation.
But I need as much COV points as possible, around 2500.

At the moment when I connect the Bacnet client it reads some points and the rest is "cannot read". If I test with Yabe at that time it gives an error message:
"Error during subsrcibe. Error from device: ERROR_CLASS_RESOURCES - ERROR_CODE_NO_SPACE_TO_ADD_LIST_ELEMENT. Replace by periodic ReadProperty process?"

I have enough space on all partitions, memory usage is fine, CPU usage is ok, so the only thing I can think of is limit in config somewhere. I was looking around in config files but didn't found any obvious limit. Is there any method to increase the number of COV subscription limit in LM?



The bacnet client is a piece of hardware I cannot change, and it is necessary for BMS software.

Attached Files Thumbnail(s)
           
Reply
#2
Anyone can comment on this, please?
Reply
#3
We'll add this to our to-do list Smile
Reply
#4
(16.04.2019, 06:10)admin Wrote: We'll add this to our to-do list Smile

I don't understand! You'll add the reply to your to-do list or the COV thing?

Where it is configured in the system? I can edit the config files, but need to know what to edit.
Reply
#5
Right now COV subscription size cannot be configured. Next version will have this configurable via UI.
Reply
#6
(16.04.2019, 06:45)admin Wrote: Right now COV subscription size cannot be configured. Next version will have this configurable via UI.

You want to say it is hardcoded into the bacnet server? What is the limit at the moment?
Reply
#7
Yes, current hard-coded limit is 256.
Reply
#8
Thanks!
One more question - when is expected the new version? I'm good with pre-alpha version if I can change the COV number.

Edit:
Something is not quite right with this. Before I got more than 1000 points exported and working without this error. Only when I go over that number of points (probably around 1500) I get the above problem.
Reply
#9
Updated package: https://dl.openrb.com/pkg/bacnet_20190416_imx6.ipk
Keep in mind that package update will reset BACnet configuration (server will be off).

You can set COV size up to 4096 subscriptions via a script:
Code:
require('uci')
uci.set('bacnet.server.covsize=4096')
uci.commit('bacnet')
os.execute('/etc/init.d/bacnet restart')
Reply
#10
(16.04.2019, 09:29)admin Wrote: Updated package: https://dl.openrb.com/pkg/bacnet_20190416_imx6.ipk
Keep in mind that package update will reset BACnet configuration (server will be off).

You can set COV size up to 4096 subscriptions via a script:
Code:
require('uci')
uci.set('bacnet.server.covsize=4096')
uci.commit('bacnet')
os.execute('/etc/init.d/bacnet restart')

Thanks,
I'll test tomorrow!
Reply
#11
(16.04.2019, 10:56)zoltan Wrote:
(16.04.2019, 09:29)admin Wrote: Updated package: https://dl.openrb.com/pkg/bacnet_20190416_imx6.ipk
Keep in mind that package update will reset BACnet configuration (server will be off).

You can set COV size up to 4096 subscriptions via a script:
Code:
require('uci')
uci.set('bacnet.server.covsize=4096')
uci.commit('bacnet')
os.execute('/etc/init.d/bacnet restart')

Thanks,
I'll test tomorrow!

So, what are the results of your tests ?!

Thank you
Reply
#12
(28.06.2019, 15:11)iJAF Wrote:
(16.04.2019, 10:56)zoltan Wrote:
(16.04.2019, 09:29)admin Wrote: Updated package: https://dl.openrb.com/pkg/bacnet_20190416_imx6.ipk
Keep in mind that package update will reset BACnet configuration (server will be off).

You can set COV size up to 4096 subscriptions via a script:
Code:
require('uci')
uci.set('bacnet.server.covsize=4096')
uci.commit('bacnet')
os.execute('/etc/init.d/bacnet restart')

Thanks,
I'll test tomorrow!

So, what are the results of your tests ?!

Thank you

I was sure I gave a report on this, but it looks like my brain is failing...


It works as described, I got what I needed. Only the other side (JCI NIE) chokes to death trying to accept all that data Big Grin
Reply
#13
I have newest firmware. And i have 486 exports to bacnet. Is it safe to update the maximum Cov subsciption to a larger number. 
Lets say 500 from the "Bacnet COV settings menu. Where original is set to 256.

Or do i need to do it via script posted above?
Reply
#14
Script is not needed, just set the required COV value in System Config > Network > BACnet COV settings. You can make it bigger as there's a very minor increase in RAM/CPU usage.
Reply


Forum Jump: