ZWave binding INFO LAST_UPDATE flooding the eventbus

I’d like to iterate over the list of ZWave devices last update times so I can detect devices that have problems. The LAST_UPDATE value seems right for that purpose, as described in the documentation.

Retrieving a node item is easy:

DateTime Node4_LastUpdate “Node4 last update [%1$ta %1$td-%1$tm %1$tH:%1$tM]” (GZwaveLastUpdates) {zwave=“4:command=INFO,item=LAST_UPDATE”}

However, the LAST_UPDATE is updated every 5 seconds. This is flooding my eventbus, for which I’ve enabled logging to disk. This is too much, for 40+ active zwave devices.

I was under the impression that the zwave:aliveCheckPeriod set in openhab.cfg influences this reporting (I’ve set it to 120 seconds), but this doesn’t seem to work. Can someone explain what this aliveCheckPeriod does and how I might be able to get a list of LAST_UPDATE values (as seen from habmin), without flooding the eventbus?

The aliveCheckPeriod sets a period of how often polls are made to check if a device is alive - this isn’t anything to do with the refresh interface of the info data which is fixed at 5 seconds.

Thank you for your fast reply Chris.

Would you be open for a pull request that makes this fixed refresh time of 5 seconds to be configurable via openhab.cfg?

Or can I get this information in some other way, because habmin also seems to have access to a lot of zwave node metadata without flooding the eventbus?

randomname872634 https://community.openhab.org/users/randomname872634
February 7
Thank you for your fast reply Chris.

Would you be open for a pull request that makes this fixed refresh time of 5 seconds to be configurable via openhab.cfg?

Yes - there is an issue already opened a few weeks back for this. Basically the best approach I think is to support the refresh_interval parameter in the item definition. This should be quite easy - take a look in the info converter where it is fixed, and compare it to the other converters which allow this to be changes…

I’m attempting to do something very similar and get my node’s health state. But when I have a line like this in my demo.items file:

DateTime ECO2 “Last Update [%1$ta %1$td-%1$tm %1$tH:%1$tM”] { zwave=“6:command=info, item=last_update” }

I get an error saying:
[ERROR] [o.u.i.items.ItemUIRegistryImpl] - Cannot retrieve item ECO2 for widget org.openhab.model.sitemap.Text

How does your sitemap code look for Node4_LastUpdate?

Ok, I found the issue. A bad character in the file was messing up the retrieval.

@jeeturk, good to hear you found a solution. My sitemap displaying the Node4_LastUpdate does not even exist, because I am not intending to display it, just use it from a rule.

I did notice there is a small error in your items file:
DateTime ECO2 "Last Update [%1$ta %1$td-%1$tm %1$tH:%1$tM"] { zwave="6:command=info, item=last_update" }
should be
DateTime ECO2 "Last Update [%1$ta %1$td-%1$tm %1$tH:%1$tM]" { zwave="6:command=info, item=last_update" }

@chris using the refresh_interval parameter in the item definition seems like a much better solution then defining it globally. I’ll see if I can pull it off.

You are right, I corrected that and it was still giving issues and later found out a # character mistyped. Thanks anyways.