Z-Wave node sends data 'multiple' in short time

When I push my zwave button (Hank SCN04 Z-Wave Scene Controller with 4 buttons), I see that my script reacts badly. I assume the button sends the command multiple times. At least, I see it several times in my openhab.log file.

It’s possible that it’s us, humans, who push the button several times. :blush:
It’s afterall a small button, with a not-high-qualitly-‘click’-system.

Item:

> Number  Sch_Bed				"Bed Ouderkamer"			<contact>					{ channel="zwave:device:30038385:node89:scene_number" }

My rule:

    when
    	Item Sch_Bed received update
	then
		if (Sch_Bed.state == 1.0) {
			logInfo("Hal", "Bed Knop 1, Slaap gedrukt")
			if (HouseMode.state != "statussleep") {
	                       HouseMode.sendCommand("statussleep")
                 	       }
           	else
              HouseMode.sendCommand("statushome")
			}	
		if (Sch_Bed.state == 2.0) {
        ...

Log output:

log/openhab.log:2020-04-29 22:41:09.956 [INFO ] [g.eclipse.smarthome.model.script.Hal] - Bed Knop 4, Alles uit
log/events.log: 2020-04-29 22:41:09.957 [ome.event.ItemCommandEvent] - Item 'HouseMode' received command statusaway
log/events.log: 2020-04-29 22:41:09.962 [vent.ItemStateChangedEvent] - HouseMode changed from NULL to statusaway
log/openhab.log:2020-04-29 22:41:12.777 [INFO ] [eclipse.smarthome.model.script.Modus] - Het huis werd in de status WEG geplaatst, en alarm wordt straks ACTIEF.
log/openhab.log:2020-04-29 22:41:12.777 [INFO ] [g.eclipse.smarthome.model.script.Hal] - Bed Knop 4, Alles uit
log/openhab.log:2020-04-29 22:41:12.777 [INFO ] [g.eclipse.smarthome.model.script.Hal] - Bed Knop 4, Alles uit
log/events.log: 2020-04-29 22:41:12.837 [ome.event.ItemCommandEvent] - Item 'HouseMode' received command statushome
log/events.log: 2020-04-29 22:41:12.838 [ome.event.ItemCommandEvent] - Item 'HouseMode' received command statushome
log/events.log: 2020-04-29 22:41:13.133 [vent.ItemStateChangedEvent] - HouseMode changed from statusaway to statushome

Is there something I can (should) do in my rule? A kind of ‘timeout’ / ‘waiting time’?
Or is there something I can do with my item/device?

I believe zwave messages may pass along several paths in the mesh?

Your events.log snippet does not show us your trigger Item behaviour. But events.log does not normally show updates that don’t cause a change in Item state.
Does your Item change when you release the button?
If it does, you could just trigger your rule from change, not update.

I have had zwave devices do this too. A power cycle sometimes helps. Also, check for and remove any ghost nodes. If it is still sending multiple reports, exclude the device and reinclude.

However, based on the info you’ve provided, there’s no evidence that the zwave device is repeatedly sending updates. Specifically, there are no updates for the Sch_Bed Item shown in the event.log. It’s possible there may be issues in your rule too, but you’ve only shown a section of it. Is HouseMode changed in any other rule?

Is changing the trigger from ‘received update’ to ‘changed’ acceptable to you?

[Sorry… Ross posted while I was typing, so most of this is duplicate :slight_smile:]

1 Like

The log doesn’t show “updates-to-same” since OH2.3, so multiple events will be hidden.
You have to rely on rule triggering to spot those.
If this device also issues “no button pressed” events, then we’ll see changes (and can trigger a rule off it).

1 Like

Check the associations. Sometimes having multiple associations pointing to the Controller can cause this.

1 Like

Indeed.
I removed the central notification toward the controller, and for now, it seems the data is just send once? Guess I’ll need to read/learn a bit more about the best configuration in zwave (association groups and their purposes).

Generally speaking, at least for Z-Wave Plus devices, it’s sufficient just to set the Lifeline to Controller (which actually is done automatically in recent versions of the binding). In my experience, setting any other Associations should be done only for a specific purpose.

1 Like