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.
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?
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…
@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.