Z-Wave Binding Channel Request


I would like to request that one of the channels for the Z-Wave Serial Controller be the “queue length”. In my network, a cold boot can push my queue up to almost 400 messages, and it may take 20-30 minutes for that to reach 0. It would be nice to be able to monitor this queue directly via an OH2 item, and even be able to send myself notifications if that queue grows again, which may indicate a problem. Thoughts are welcome!

1 Like

Interesting! I have noticed that after a reboot of my system the Z-Wave parts seems to be a bit unresponsive for a while. I guess that may be caused by the queue being filled up. How do you monitor the queue length now? Is this visible in the logs?

Does it really matter though?

If you have locks, or simply a lot of devices in your network, then the queue will be quite large during initialisation, and it will take time for the system to restart - this will be indicated in the initialisation state of devices. The queue uses prioritisation, so commands to lights etc will be prioritised high, while the majority of initialisation messages will be low. A large queue is not an indicator of something being wrong - the only reason I log the queue size (currently) is for debug.

If you think there are problems - eg if there are timeouts, then you should try and address them. However I know that for example some locks have a LOT of user codes (I saw a lock with 200 codes), so this will increase the queue during initialisation - that’s fine.

I’m not so keen to add extra channels unless it’s really needed.

Yes, in debug you can see the queue length. It’s a bit of a pain to track. Right now I find it with:

tail -f /var/log/openhab2/openhab.log | grep --color -E 'Queue length|$'

This at least highlights the queue length notification as the logs are pouring through.

Fair enough. I personally would find this useful - there are many scenarios where I’ve found my OH instance to have hung or be very slow because the queue is long, or where I wait to include devices for the queue to be cleared out. I have frequently found at least a loose correlation to a “long” queue and Z-Wave performance problems. Having the info accessible in a channel for simple charting, notifications and monitoring would be helpful for me, but I imagine I could always write some kind of script to parse this out of the log file and into an OH item as well, if required.