Build 702, "Fast Pico driver"

Pushed and held are discrete events, issuing a pushed prior to every held negates the purpose. To generate a hold event one must always delay the pushed by some period of time, else how would you distinguish them?
Fast Pico can only be extended with the release event, this does not impact the pushed event generation. The Pico with the hold function is the one that may be extended to generate a hold event after a specific adjustable amount of time. Currently the hold event is generated on button release, only if the release was 1000ms after the the pico issues the push internally.

2 Likes

What you are describing is how the normal Pico driver works. When you push it the time is noted. When you release it, if more than 1000 ms has gone by it sends a "held" event. If less than 1000 ms has gone by it sends a "pushed" event.

A Pico does not send anything at all while a button is held down. It sends "pushed" when you push a button, and then sends "released" when you let go. The Pico driver uses the timing as above to "invent" pushed and held events.

The Fast Pico driver will, in the next release, send "pushed" when you push the button, and "released" when you let go -- exactly what the real device does. What you do with the "released" event is up to you. None of the built-in apps do anything with it.

3 Likes

Thank you both for explaining. I'm excited for this new capability of that Fast Pico driver.

Thanks Bruce! Looking forward to it.

Just a quick teaser on this, releasableButton will in fact be a thing, an additional optional button capability. Well what are we to do with this, first thing that came to mind was smooth dimmer level changes... well it turns out that zigbee and zwave have built in commands that would support this nicely, this will require some work on our end to implement, but not super hard.
I've got a little poc to do to verify this, but if it pans out you could use a button controller to manage dimmer levels in a way very simular to their physical counterparts, ie hold one button to increase level then release to set, then another button to do the decrease.
No promises, but the concept appears solid at the moment.

5 Likes

This sounds amazing.
I just bought my first scene controller pico to complement my army of 5 button remotes (more than double the price but looks good!). When adding it to HE I wasn't able to get it to work with the regular driver, I had to use the fast pico to get it to work. Is this normal or did I likely mess something up?

Mike,

This is exactly what I was hoping for! Thank you!

1 Like

Not familure with this bad boy, and i own lots of different picos, link?

Interesting, I have engraved versions of these which all work fine.
You do need to go into each one and update the button count in the driver as we don't do this automatically currently, so if you haven't done this they will present as 5 button picos and the internal button mapping will be incorrect.

I updated it to 4 buttons. When I open up logging that is the only thing it shows, the change to 4 buttons.

Thats all you need to do, same for the 2 button one.
What this does is change the internal lookup in the driver such that buttons are numbered 1 to x from top to bottom, lutron does not number them like this so we do a little translation.

I don't think this topic has come up before as most folks just have the 5 button picos.
Even on different versions of the 4 button Pico the maps are different, the shade engraved Pico uses a different map than the engraved 1 through 4 unit that I use for fans.

It seems that the Fast Pico driver does wait for a release command. Holding the button does not sent a button press. Go to live logging and press and hold the button. Nothing will appear until you release it. (Same with device events.)

What I'd like to do is use a button hold to do dimming/brightening, like the Hue Dimmer. I think to do that, I'd need to have the press and release as separate events. But I'd need to be able to capture them, such as in WebCoRe. What I'd like to see is having buttons 1 through 5 be press and virtual buttons 6 through 10 be release.

Assuming that would be the easiest way to get gradual dimming/brightening. I can't find any mention of how to do it.

This is not 100% correct. The Fast Pico driver does indeed send a pushed event upon initial press of the pico button (i.e. no release required.) However, I have found that simply changing the Driver (in the device page) for the pico device does not switch the behavior from the 'normal pico driver' to the 'fast pico driver'. I tried this today and I had to actually go into the Lutron App (not device) and change the Pico from the normal pico driver to the fast pico driver.

Take a look up a few posts...

This would completly hose our button capability schema...

Thanks. Will update my Picos through the app.....

Glad releasableButton will be able to handle it. My concern is whether webCoRe will have that as a thing. I don't pretend to know the best ways to accomplish "smooth dimming". I'm glad there will be a way to accomplish it on the way!

If this works as expected our button controller app and drivers will be updated to make use of it.

"If" :smiley: Always a tricky little thing.

I think will be able to use the release as a second button press to accomplish it, with a while loop in webCoRe. If that works, hopefully you won't fix that bug before that feature.

Running setLevel in a loop or via stacked runins will not produce acceptable results.