Status of zwave Item not updating?

I am trying to link an Item to a zwave energy sensor to get the current and power consumption data from my stove. This is what I have for the item configuration:

Number Stove_Power "Stove power: [%.1d] W" <energy> { channel="zwave:device:ac5528b3:node3:meter_watts1" }

This seems to link the item to the channel, but the problem is that the state of Stove_Power stays constant at 6.829W, even when I turn on the stove. When I restart openHAB with the stove still on, the state would change to around 1000W, but again, it doesn’t drop (like one would expect) when I turn off the stove.

One more thing, when I press the ‘refresh item’ button in HABmin, the status of the item gets updated to the correct value.

Any ideas on what could be wrong?

Thanks in advance.

EDIT: I have been researching on my own, and I think the problem may be with something called association groups. I have an idea of what they are through reading the docs but were not able to find a way to add my zwave device to an association group. It would be greatly appreciated if someone could enlighten me on this.

Association groups are configured in HABmin. Select the device in the thing configuration area, and you will have the option to configure its config parameters and associations -:

Thank you for the reply, chris, I know you must be a busy man. I now have it set up as shown in the picture below, but it seems that that didn’t do the trick.

I see that in the screenshot you have provided, the group names are descriptive (e.g. Controller Updates) while mine are generic (e.g. Group 1, Group 2). Can this be the root of the problem?

I believe that the titles for the Association Groups (AG) depend on the device configuration (xml?)
For example, I have other titles for one device and other for another (I also have the same AG titles for my Aeotec ZW100)
It depends on what the device supports.

Association Groups work in the following way (simplified):
They allow the devices to send signals directly to each other without involving the controller.
You can configure each Group and add as a member the remote device. This will send direct notifications.
This also allows devices to be used in networks without a static controller.

I don’t recommend this method since these actions will happen only on the Z-Wave network, without the controller managing them (and as a result openHAB).

The only association that I set in all of my Z-Wave devices is the Group 1 (aka Device Status, aka Controller Updates)
If I am not wrong, this is added by default when a new node is included in the controller. Then, through the OH2 Z-Wave binding discovery, this info is pulled from the controller. (I may be wrong here)

I see that your Group 1 is correctly configured (to send updates to the controller). So, if some update is performed in the device (e.g. new power meter measurement), the telegrams should reach the controller (and OH2 will update the linked item status).

Check your Z-Wave device configuration parameters for event triggers (how often and when should it send updates to the controller).

I don’t use HABmin to display the states of my linked items but rather BasicUI and/or HABPanel.
I don’t know if there is any issue with the refresh of the description tab of the thing (where the values are displayed). I don’t have any problems and in my system (OH 2.2.0 Snapshot 986 running HABmin, the values refresh ok.

check also your events.log to find out if the items get regular status updates.

No - that’s just the naming in the database. ie it’s just a label so has no impact on the operation.

I see, thanks!

How can I check the configuration parameters for event triggers for the zwave device?

From within HABmin
HABmin -> Configuration->Things->Thing->configuration parameters
Each device has its own settings. Usually, they are related to thresholds and/or time periods which define when and how often the device will report stuff to the controller.

Alright, so I figured out that the status of the device gets updated every 30 minutes, which seems to match with the polling period it was set to (30 minutes).

From my events.log:

2017-07-18 08:40:20.151 [ItemStateChangedEvent     ] - Stove_Power changed from 6.34 to 6.304
2017-07-18 09:10:20.149 [ItemStateChangedEvent     ] - Stove_Power changed from 6.304 to 6.344
2017-07-18 09:40:20.183 [ItemStateChangedEvent     ] - Stove_Power changed from 6.344 to 6.357
2017-07-18 10:10:20.200 [ItemStateChangedEvent     ] - Stove_Power changed from 6.357 to 6.297
2017-07-18 10:40:20.246 [ItemStateChangedEvent     ] - Stove_Power changed from 6.297 to 6.293
2017-07-18 11:10:20.248 [ItemStateChangedEvent     ] - Stove_Power changed from 6.293 to 6.405
2017-07-18 11:40:20.308 [ItemStateChangedEvent     ] - Stove_Power changed from 6.405 to 6.308
2017-07-18 12:10:20.301 [ItemStateChangedEvent     ] - Stove_Power changed from 6.308 to 6.349
2017-07-18 12:40:20.320 [ItemStateChangedEvent     ] - Stove_Power changed from 6.349 to 6.252
2017-07-18 13:10:20.490 [ItemStateChangedEvent     ] - Stove_Power changed from 6.252 to 6.402
2017-07-18 13:40:20.370 [ItemStateChangedEvent     ] - Stove_Power changed from 6.402 to 6.372

The minimum I can set polling period to is 10 minutes, which is still not as frequent as I would like it to be. Is there a way to get around this so that I get the status updates, say, every few seconds?

Is that a limitation of the device? How frequent do you want?

I’m not sure if it is a limitation of the device…but it would be great if I can achieve updating once per five seconds or less.

Polling this fast certainly is not recommended and the binding doesn’t allow anything faster than 10 or 15 seconds from memory.

If it’s not a device limitation then what’s actually stopping you using a faster poll rate.

I guess I wanted to get as close to “live” status of the stove as possible, but then I saw this

Generally, I do not recommend polling. For most devices, there is a configuration for the device to send data unsolicited and this should be used.

on another post: Z-Wave binding / Difference between wakeup interval and refresh_interval

Does this mean that if the wattage of the stove jumps from 6 to ~1000 W, that data should be sent to the controller and thus openHAB regardless of whether I asked for it?

It depends on the device, but most devices can be configured in this way, and you can then avoid using fast polling. Polling is then only used to check that the device is still responding (which is why the binding defaults to a poll period of 30 minutes).

Some devices (not many) don’t have such configuration or association settings, which may mean polling is the only option and then I think you’re limited to around 10 seconds by the binding (not the 10 minutes you said above).

I just had a look at the DSB28 configuration and it has such options so I’d suggest to have a read of the manual.

Yup, read the manual and set the configuration parameters to where it needs to be.

My god, you don’t know how happy I am now that it is working. Thank you so much everyone! :grinning:

1 Like