Relative scene dimming from pico w/ button controller 3.0


First time poster! I have my SBPro and a pico set up, and all is good w/ basic communication. I have an interaction refinement question for Button Controller 3.0:

I know I can set absolute dimming levels on a variety of targets easily to make a scene, but how about making relative brightness adjustments for one button control configurations?

I know this works for a single light:
push [toggle dim 80] [lightA]
held [set dim 100, start lowering dimming] [lightA]
release [stop dimming adjustment] [lightA]

however, if I have two light targets in the set up to allow my scene to dim in unison it does not work (the second light stops dimming, but the first light will continue to dim until off):

This does not work:
push [toggle dim 80] [lightA, lightB]
held [set dim 100, start lowering dimming][lightA, lightB]
release [stop dimming adjustment][lightA, lightB]

explicit series commands don't work either
push [toggle dim 80] [lightA],[toggle dim 80] [lightB]
held [set dim 100, start lowering dimming] [lightA],[set dim 100, start lowering dimming] [lightB]
release [stop dimming adjustment] [lightA],[stop dimming adjustment] [lightB]

Any ideas on why multiple lights won't work properly? Also, this is my first time trying to set up single button configurations for single lights and whole scenes.. if there is a standard that the community is using that works better (via different button interaction, or different app), please let me know.. I'm all ears.



Multiple lights will not work correctly because it is not ramping them together. Try creating a group. Then, they may not ramp together but they will all end at the same level.

Thanks @Ryan780, I'll give it a shot..

In general sense, for 1 button workflows.. is

push to toggle on/off
held to start ramping down from full blast
release to stop ramping down

the preferred interaction standard for the end user? Just wanted to know if there is a 1 button standard that is considered universal.



There really isn't a standard. But you have to be careful with begin raising/lowing being assigned to the same button. Make it clear in your rule, which one should be happening. Otherwise, they both will. Personally I prefer to only use one or the other per button.

Groups don't support startLevelChange and stopLevelChange, so if that's what you're using ("Start raising/lowering dimmers"), it won't work on a group. I've had pretty good luck choosing multiple bulbs at once, but small numbers of them like 2-3. They won't always end the same, but unless you have some like Sengled that will completely turn off (or on) with these comands, which none of my other bulbs do, it's usually not enough to be noticeable.

Are bulbs A and B the same and using the same driver? Do startLevelChange and stopLevelChange work as expected from the device page for each? You could just have a problem with B. I honestly haven't found directly paired Zigbee bulbs to work well on Hubitat, so it's also possible that sending multiple commands at once (e.g,, stopLevelChange) could overwhelm your network and cause some commands to get lost, or at least that's the only explanation I can think of for some behavior I've seen, but with only two bulbs that seems unlikely. (My luck is much better letting the Hue handle this over the LAN from Hubitat.)

Thanks Bert,

Good to know groups won't suffice for this task. To answer your question:

2 different bulbs, same dimmers (Caseta), startLevelChange with held and stopLevelChange w/ release work perfectly if the command is isolated to a single light, but running simultaneously they don't. Specifically, I'm explicitly dictating just two lights like so, and the second light (lightB) only responds to the 'stop dimming adjustment' command on the release, while lightA continues to ramp all the way down to 0 as if it never responded to the release command:

push [toggle dim 80] [lightA],[toggle dim 80] [lightB]
held [set dim 100, start lowering dimming] [lightA],[set dim 100, start lowering dimming] [lightB]
release [stop dimming adjustment] [lightA],[stop dimming adjustment] [lightB]

FWIW: I'm using a pico remote, through a smartBridgePro, with the Lutron HE app, and it's driving 2 Caseta dimmers. I'm under no illusion that visual ramping rates would be the same given two different bulbs.. but I would expect them to both start ramping down from 100, and stopping within a few milliseconds of each other once they detect a release given the commands that I supply. Again, this works perfectly for both lights individually if it's just a single light scripted:

push [toggle dim 80] [lightA]
held [set dim 100, start lowering dimming] [lightA]
release [stop dimming adjustment] [lightA]

Thanks for your help!


OK, so they're Caseta dimmers, which work via telnet over the LAN. This is a guess, but maybe the telnet interface on the Smart Bridge Pro is rate-limited and therefore misses one of the stopLevelChange commands. I'm not sure if this (smooth dimming) is implemented natively on the Lutron side or if Hubitat is faking it by repeatedly sending a bunch of setLevel commands--the latter is the case where I could see this being problematic. Bruce probably wrote this and would know, but you can see what it's doing yourself over telnet by looking at live logs as you try.

First time analyzing the signal logs.. Something is definitely awry.. I'm not seeing commands that are programmed in the button controller.. for instance.. I'm not seeing the "release" at all that trails the "held" command. Any ideas?

dev:372019-09-05 11:24:54.889 pm inforcvd: DEVICE,6,4,4

dev:372019-09-05 11:24:54.603 pm inforcvd: DEVICE,6,4,3

dev:372019-09-05 11:24:43.975 pm inforcvd: OUTPUT,8,1,100.00

dev:972019-09-05 11:24:43.745 pm infoLower Yard Light was set to 100.0% with a duration of 0

dev:372019-09-05 11:24:43.571 pm inforcvd: OUTPUT,7,1,100.00

dev:392019-09-05 11:24:43.490 pm infoOverhead String was set to 100.0% with a duration of 0

dev:382019-09-05 11:24:42.722 pm infoExterior Pico button 1 was held

How long are you holding button #1? Buttons 1 and 5 cannot be held more than a couple of seconds. That is because holding them programs actions on the pico. Buttons 2 &4 can be held as long as you want. I found this out the hard way a while ago.

fwiw here is a single light which behaves as expected (you can see the "release" cmd:

dev:972019-09-06 12:01:20.044 am infoLower Yard Light was set to 56.34%

dev:372019-09-06 12:01:19.940 am inforcvd: OUTPUT,8,1,56.34

dev:382019-09-06 12:01:19.336 am infoExterior Pico button 4 was released

dev:372019-09-06 12:01:19.232 am inforcvd: DEVICE,6,6,4

dev:372019-09-06 12:01:17.611 am inforcvd: OUTPUT,8,1,100.00

dev:972019-09-06 12:01:17.545 am infoLower Yard Light was set to 100.0% with a duration of 0

dev:382019-09-06 12:01:16.915 am infoExterior Pico button 4 was held

dev:372019-09-06 12:01:15.730 am inforcvd: DEVICE,6,6,3

That held event was just under 3 seconds. How long was your first one. Did you see what I linked to above? A hold of longer than 5 seconds results in the pico going into programming mode and will result in the release event not happening. That is because in the Lutron system only buttons 2 and 4 are ever held.


thanks for this.. let me port the commands to another button and give it a shot.. thanks for your advice..


1 Like

No problem. I was scratching my head over that one for HOURS when it happened to me.