Detect difference between second tap (light switch) & polling update

@chris & @Kai not sure if this is possible or not. I know there’s work going on to handle event such as double-taps. I currently have GE dimmers/switches, and if I do a second tap, it does send an “update” that I can use in a rule (i.e. Item xyz received update), but the problem is that the same rule would be fired by a normal poll set off by the z-wave binding. Is there any way to differentiate?

I think this is only possible if the device sends a command saying it’s had a double tap event. I think we’ve discussed this before - I can’t see any (reliable!) way to detect it otherwise.

The scene command class is designed to do this and will send the number of taps that the device detects and the binding will provide this information so you can use it in a rule.

I’m not sure what “ongoing work” you refer to though…

My thought was that being as it’s the binding that asks for the info (aka polling), the binding would then know when it’s waiting for a poll response, as opposed to the switch sending an update on its own when it’s tapped. I.e. the difference between someone talking to you vs. someone answering a question you asked.

Here’s the ongoing work I was referring to: Introduce trigger channels for things, which allow modelling of buttons and remote controls · Issue #1043 · eclipse-archived/smarthome · GitHub
Which I found via: https://github.com/openhab/openhab2-addons/issues/1037

The binding can’t poll the state of a switch fast enough to know if a button was pressed once or twice in a few hundred milliseconds. This needs to be detected by the switch, and ZWave has a mechanism to do this and send the number of clicks to the binding. High speed polling is out of the question on ZWave at least.

The link you refer to is for trigger channels which are not related to detecting double clicks on equipment, but is linked to triggering events within the framework - so if the device detects the double tap of a switch, and sends a message to the binding, then it might use the trigger to initiate an event (eg rule) in the framework.

I think I may have been misunderstood. My goal is not to use polling to achieve this, but just to be able to differentiate between an update received from a poll and an update sent by the switch. If a polling update looks “different” (as I mentioned previous post, the binding does the polling, so I would think it’s expecting a response back), then the rules can ignore it and handle two quick updates as a double tap.

Or, for an even simpler example, it would also be nice to have clicking a switch while it’s on have an alternate action. I.e. I tap on once, lights go on as normal, and then if I tap again (not necessarily quickly) I turn on another set of lights. This is currently not possible as although the second tap will send an update, so will a poll response, and they are indistinguishable.

I’m not sure I understand what you’re really suggesting - sorry - or at least what I think you might be suggesting isn’t possible. When an update is received from a device, the channel is updated. There’s no way to say “this update was a poll” or “this update was from an association” - you just get the update onto the event bus. Inside the binding, it might be possible to correlate this - but not 100% accurately since both messages look the same - they will simply be a command class report - there’s no link to a request or association group etc.

You could set polling to a large number if you want to disable polling?

The SCENE class in ZWave manages this sort of thing - really this is the correct way to do this I think and it’s probably best to get a device that sends the CENTRAL_SCENE command class.

My thought was that the binding could flag a device as “waiting for poll response” when it does polling.

Is it possible to actually turn off polling altogether for a device? That may solve the issue.

While that may be the ideal…I already have a slew of GE switches/dimmers, which are supposedly some of the better ones to use ignoring some of the caveats. There’s not many z-wave switches that look/act like a normal switch (one of my top priorities) and have decent pricing.

It’s not really very straightforward - what does “waiting for poll response” mean? If a device has 10 channels that get polled, do we mark it whenever any channel is being polled? It just feels like a bodge that would be cumbersome and difficult to implement reliably.

I think at the moment you can set polling to once every 24 hours, so to all intense purposes it won’t interfere with anything.[quote=“feens, post:7, topic:16437”]
There’s not many z-wave switches that look/act like a normal switch (one of my top priorities) and have decent pricing.
[/quote]
Fair enough - as with anything though, there’s always a tradeoff…

There are many switches that fit behind standard faceplates so maybe there are more options out there?

It’s not so much the look but how it acts. For example, the Leviton switches/dimmers work such that out push on the top of it for both on & off, which is quite different to how a normal “dumb” switch acts. At least from my research, the GE ones were as close as it gets to normal.