Determine and Overcome Button Options?

So there's 2 parts to this question.

First,
How do you determine what buttons/presses/options are available for a given button? The UI doesnt know and always presents the same options. For example:

  • Samsung ST button: Does it do double tap? Does it support "button 2 = 2 taps" like some light switches?
  • Pico Remote: I heard you can't do double press on this. As a user, how would I know this?
  • Button 7 on Inovelli: Pretty sure I can't do double-tap on these buttons (since all the other double-tap functions are separate buttons) but I want to make sure.

Second question:
I want to overcome that I cant do multiple taps on a Pico remote by making the button a "cycle" instead. (like Fan-Speed option allows you to cycle through fan speeds.

I plan on doing this with a global variable or maybe virtual switches. pseudo code:
IF (vswitch 1 = on) THEN (turn off vswitch 1 AND turn on switch 2))

Also I think this would be a great thing to be built right into the UI for more novice users. Button Action = "Cycle through scenes"

I don't have the other two devices that you list, but the Samsung buttons does "pressed", "doubleTapped" and "held"

Just something to lightly think about: while these devices may not expose all their available events to Hubitat, there are other platforms (like Node-RED) that can indeed see/capture all events.

Just a small example: HE can't see/act on a Hue Dimmer "held" action for buttons 1 or 4, but Node-RED can (when the dimmer is paired through Hue Bridge)

1 Like

You have to research these questions...often by posting here in the forum. I know of no central database of button controllers' capabilities.

Pico remotes support Pushed, Held, and Released events. But even this is dependent on the choice made when adding them to the system. There are two possible drivers for a Pico remote - the FAST Pico driver only support pushed and released. The normal Pico driver supports pushed, held, and released (if I recall correctly.)

While the Pico remotes do not generate Double Tap events, they can generate "Held" events. Also, most Pico remotes have 5 buttons, and thus can generate 15 unique events (pushed, held, released per button.) Using just pushed and held events, you could easily assign a different scene to each of these 10 events.

I have used the center button on a Pico remote to execute a Fan Controller's "cycleFanSpeed" command - similar to pulling the speed chain on a traditional ceiling fan. This works well, so I can see the desire and the simplicity of the design.

This is definitely one approach. Be careful with turning SCENES off. They are really designed to only be turned on (i.e. activate a scene.) Once any of the lights in the scene are no longer in the exact state the scene specified, I believe the SCENE device will automatically turn itself off.

Another option would be to use a custom App. This App would allow you to select a group of 'scene devices' as well as a button controller, and the button number you'd like to use. That custom code could then cycle through the list of scene devices you've chosen.

Just an idea... :thinking: Others may have some other creative solutions for you as well.

2 Likes

While this sort of thing appeals to me (I do write code at work all the time), I have promised myself that my home automation will not venture that deeply. I don't want to be constantly tinkering and re-doing it. (same reason I no longer buy games until they have been out a while with lots of fixes)

I also have a desire to help make a platform like this more user accessible. I want to give suggestions on what would make a product like this easy enough that "my dad could use it". (not my mom, she's hopeless LOL)

Thanks, I have to learn more about scenes, I just started playing with them when I realized I'm regularly specifying the same settings for a light in different rules.

This is close, but it hasn't been updated lately to support newer devices:

You got the answer for this above, but something else you'll want to know is that Hubitat supports a "double tappable button" capability, so "double tapped" is a native event on Hubitat. SmartThings does not, so that is why you need workarounds there, like additional button numbers. Hubitat still needs this for things like a few Z-Wave scene dimmers/switches that support 1-5 taps up and down, since it does max out at "double tap," but the ST Button can be handled intuitively as-is.

1 Like

I may submit a couple wiki pages around building this kind of list.

2 Likes

The Hubitat Official Documentation is a Wiki, and they are always looking for help in improving the documentation. Your efforts would be very much appreciated.

1 Like

Hmmm. Confused why this is a forum post instead of in a Wiki. I guess it doesnt matter, but I would have never known it was there.

Perhaps there needs to be a forum section/tag for reference information

So why would i want to use the FAST driver compared to the other?

Because it is faster. LOL. :sunglasses:

But seriously, if you are only using the push and not held or released, it does not have to wait for these events, it can simply trigger from the push.

That's why! :grinning:.

If you use Fast, the Pico sends immediately on pushed. It doesn't wait to see if you are holding the button so if you don't need HELD, use the Fast Pico driver. I use Fast on some; normal on others.

Ok so you mean if I push a button, with the FAST driver it happens immediately....

..but with the other driver it has to wait x milliseconds to see if the button was actually held?

1 Like

:+1:

2 Likes

Correct. With the normal Pico driver, Hubitat receives the initial button pushed message from the Lutron SmartBridge Pro immediately. It then starts a timer based on your settings in the device details page. If the button released message comes in before the timer expires, then the driver creates a button pushed event on the Hubitat hub. If, on the other hand the timer expires before the released message comes in from Lutron, a button held event is created on the hub.

2 Likes

It could probably be moved to the docs, or the forum post itself could be made into a wiki so users could edit as more devices are added (but that really shouldn't be necessary if it's scoped to officially compatible devices, in which case staff would know and could do it themselves--I'm guessing this was just intended to be a "state of button devices" at the time when both Hubitat and its button model were relatively new).

In my world, there'd ideally be some sort of standard documentation with button devices that said when they send events (e.g., the SmartThings button sends one on a push, hold, or double tap natively, and these translate nicely into Hubitat's button events; Lutron's really only send something on push and release, but "held" can be calculated from that, something Hubitat doesn't usually like to do but which probably works well here because it's Lutron). Different platforms could interpret these differently, but there's generally some reasonable expectations you'd be able to make based on that (and often information that's hard to get elsewhere, like that the Eria Dimmer only sends and event on "hold" for the middle two buttons). Instead, vendors often leave it to users and developers of the hub to figure out themselves, so...here we are. :slight_smile:

1 Like