rnilssoncx / homebridge-pico

Expose Lutron Pico Remotes in Homebridge: https://github.com/nfarina/homebridge
MIT License
63 stars 6 forks source link

don’t wait for double click time if I’m not using a double press #15

Closed jmissig closed 3 years ago

jmissig commented 3 years ago

Really appreciate this homebridge plugin. I’ve moved from the smockle one. Don’t know why I didn’t discover this one earlier.

One thing I’ve noticed is that my single click events have to wait for the double-click timer to expire before they fire. This is a classic unfortunate downside to double-click events in a variety of circumstances. If I’m not using double-click event on a Pico, I have to wait half a second (or configured-clicktime) slower than it needs to be.

Could we detect if there’s a double-click event configured, and skip the wait if there’s no double-click event? It doesn’t quite seem like it from the code I looked at.

Alternately, could we configure in the json a lack of double-click? On a per-switch basis?

jmissig commented 3 years ago

I thought I’d be clever and set clicktime really short, but clicktime is actually used to determine a Long Press event as well. So I’m walking a fine line between making it too easy to trigger a Long Press vs making my regular single clicks faster.

rnilssoncx commented 3 years ago

There will always be a delay - HomeKit is not instantaneous. If you set a double press action you'll see how much of the delay is HomeKit vs the defaults 500ms as the double click fires as soon as the 2nd press occurs.

I don't currently have plans to allow disabling the double and long press capability of the plugin, but I'll put the request in my feature backlog.

jmissig commented 3 years ago

Thanks for adding it to the list.

I understand there will always be a delay — but 500ms is long enough to be a noticeable addition. I experimented with decreasing the clicktime and could notice the improvement. Unfortunately I’d get accidental long presses with the shorter clicktime.

If long press and double-click times were separate settings I’d be able to configure it to what I’d prefer. Or a no-double-click setting, global or per-switch. Any of those that make sense to how you want to make this.