I can't seem to find a way to push and hold a virtual button for say 5 seconds and then execute the programmed action. I want the push and hold time to prevent accidentally starting this action by slightly touching the button on the dashboard.
I think the dashboard just sends a pushed event as soon as you click the button doesn't it? I dont think it has any concept of holding the button or any other button actions.
You might have to do something like a virtual switch where you click it on, wait a few seconds then click it off, and only have the rule run after it is clicked off within a certain time after it is clicked on. Might be a better way but thats the first thing that comes to mind.
Oh... or you could do something with multiple button events within a certain time.
Either way it gets a little complicated, would for sure be easier if you could do a press and hold on the button like you can with a real button device.
That's what I'm finding no matter what command I try to program in button controlled all I get is one push to turn on a switch. Very confusing why they even give you the other options.
Button devices can support any of those events, depending on the real-world (or virtual) capabilities of the device, so it is natural that Button Controller lets you use them.
What seems to be the point of confusion here is what @jtp10181 mentioned above, that (you are using a virtual button device and that) Hubitat Dashboard makes you pick one of these particular events to generate when the tile is tapped -- and that is not related to what you actually do to the dashboard tile itself when you use it (e.g., tap, tap and hold, etc.).
I'm not sure if you're using the "original" Hubitat Dashboard or the newer Easy Dashboard, but that's how the the original works. You actually might prefer Easy Dashboard for this. There's still no "tap and hold" capability (that's just not part of how any of these dashboards -- or any third-party options I'm aware of, for that matter -- work), but it at least gives you an extra popup where you have to select the event, so it might address your concern that way.
Otherwise, since this is apparently a virtual device where you're making the rules anyway (i.e., this isn't a physical device you're putting on the dashboard), you could use something else that gives you the options you're looking for -- maybe a virtual lock or garage door, as these tiles ask for confirmation first? Someone might also have more creative ideas if you share more about what you're actually trying to accomplish.
I think I had a similar issue when trying to use a virtual button on a dash but it could've been my error.
I did that with two virtual switches with auto off. I use it on my dashboard for the garage door which I'm paranoid about being opened accidentally. I did this rule:
Once the 'Shutter' button is pressed triggering the rule, the 'confirm' has to be pressed before it switches off (auto off is set in the virtual switch to 5 seconds) otherwise the rule exits.
Yeah it's not a Garage Door by definition but a Fibaro Roller Shutter 3 module connected to a tubular roller motor. Also I'm using this in HD+ and Homekit (after several years I gave on Hubitat Dashboards)
Any chance the devs could add a push and hold option to the dashboard??
Bitfocus Companion, for example, has the option to set time how long a button must be held before action is executed. Very useful!