The delay could be something else on your system. There are also two different drivers for Pico. One is called fast Pico. This reacts on press. The other acts on hold and on release. This allows smooth dimming when supported. Hold starts the dimming and release stops it. I like @stephack ‘s ABC app for this. Setup is very simple. However button controller works as well, but you have to define hold and release separately. Not that big a deal for one Pico, but Stephan’s method is nice if you have many to define.
That's the "regular" (not "Fast") Pico driver, right? That one has a configurable delay parameter for the hold . . . I don't know how much that might affect the response.
For best performance, if a Pico remote is to be used to control a Lutron switch or dimmer, just use the Lutron Caseta App to associate the two devices together directly (i.e. put the Pico in the same ‘Room’ as the dimmer.) This bypasses the Hubitat hub altogether, although both the Pico and Dimmer can still be ‘seen’ and ‘controlled’ by Hubitat.
Others have reported the same delay you’re seeing when using Hubitat to use a Pico to control another Caseta device. The hypothesis is that using the Telnet connection to both receive the Pico command and to transmit the Dimmer command causes some sort of contention, causing the delay.
Just for giggles I tested this with a Lutron Plug-In Dimmer and a Pico associated with it (not defined at all in Hubitat) and the response is darn near instantaneous - as expected.
I wonder if using two SmartBridge Pro’s, with Pico remotes on one, and Caseta dimmers and switches on the other would solve this problem? I only have one SmartBridge Pro, so I can’t test it. (Although I am at 50 devices now... )
I'm not sure I understand how the Pico driver works with respect to detecting the button being held but it would seem to me it cannot process the press until that time (for a hold) expires. Otherwise, how does it know if it was a press or a hold? Am I missing something obvious?
You're not missing anything. It has to time the release. If the release happens before the time set for hold, it process a "pushed" event. But it can't do that until the button is released.