Would adding held be difficult? Btw thx. Been using this like 5 years
That option is already available, assuming the device you chose supports the event.
Thanks for this app. I'm using this and button controller together to set Smartwings shades with the community driver which exposes shades as a dimmer. Button controller for 1,3,5 for open, set level and close and a favorite level. Dimmer button for 2, 4 to dim down and dim up. The shades wouldn't reliably use "release" to stop shade movement. 15 levels is a suitable interval. If you could support open, close and set level it could all be in one place.
I once experimenter with a fork of this app that sounds more like what you're asking for. I've never posted about it. Will it work?
I recently moved and had to re start my automations from scratch. We're in Malaysia where there isn't a lot of options on home automation but i did find some TUYA 3 button Zigbee scene controllers and i have about a half a dozen RGBW strips on gledopto RGB controllers. Used your app...it's awesome.
Easy to configure, very intuitive.
Button one toggles between pre set on, level, color - level / off
Button 2 dims up and down
Button 3 toggles between 5 pre set colors.
Now if i can only figure the right Hue and Sat to get the colors i want that would be great but thats just some experimentation on my part.
Wanted to pass on thanks for the great app.
Cheers
Mac
Is there an option for a button used to set brightness to act as an off switch after a set period of time?
In this case, a button press after 12 seconds would turn off the light, regardless of the state of the bulb state. This is with a Quadmote Nano with buttons 2 and 3 controlling left and right lights (disregard the button 1 press in the screenshot).
I had a perfectly working config in Rule Machine with your help a while ago, but I am now tearing out my hair after my last hub kicked the bucket.
No, that functionality does not exist in this app.
I'm trying to use button 3 on a Pico to toggle scenes. I'm also brand new to Hubitat. I've currently got this in the configuration for the button, but I can see it's toggling all of the scenes at one and I was expecting it to toggle them one at a time with each press. I can see in the notes this should be working.
What am I doing wrong?
Are you trying to cycle through them with successive presses of the same button? If so, add the first one here, then right below that you'll get an option to do so for the second button event, then after that the same, and so on.
Yes exactly, successive presses of the same button. That was easy and works great! Thanks
Just discovered this app after fumbling for a few hours and just wanted to say thank you! It does exactly what I was looking to do, which is using a Zooz ZEN34 remote switch to control a Zooz ZEN30 double switch (dimmer) for dimmable lights in a way that feels intuitive. Thanks again!
All,
I've released a minor update, Dimmer Button Controller version 3.1.3, which fixes a compatibility problem with activating CoCoHue scene devices for anyone using CoCoHue 5.1.
As usual, installation instructions in first post. For manual installs, only the child app is affected.
Any chance you could take a look at adding an option to use a variable for CT in DBC? Same way level currently works.
It's on my list for some day, along with significant other changes if I find the time to go back to this app. A lot harder than adding the single parameter to that other driver, though.
Yeah I get that. :arrow_up_down:
I have an 'off-label' use for this that I'd like to work out. I use dimmer tiles in dashboards to control volume on amps. Works fine, so I thought I'd grab a zooz zen37 and set up a physical button device to work the up/dn. Grabbing this I configured it and get the following in logs. I guess the problem is volume vs dimmer explicit commands, but the logic should work fine, no? Can someone point me to where in the code to replace the appropriate bits of code to work the volume rather than level? The below log cap shows the button device error and the amp's device 'set level' and 'set volume' from @codahq yamaha receiver apps from years and years ago... the relevant bit attached (i think).
Maybe the answer is simply to search and replace 'level' with 'volume' but IDK, I'm an analog dude... appreciate any assistance.

That driver looks like it was never updated to support the "new" parameters for Set Level, which if it it was abandoned long ago, would make sense.
Somewhere in the driver you'll probably have a method definition that starts with something like:
def setLevel(level) {
or
void setLevel(level) {
From the error, this should be on line 886 of the driver code. Replacing it with something like this would get rid of the error:
def setLevel(level, transitionTime=null) {
The key is just adding that second, optional parameter (transitionTime
, though you can call either parameter whatever you want in the code -- this is one example that would work). Keep in mind that this won't actually do anything, but since this parameter wasn't accounted for in the code before at all, that won't change any existing behavior, just trick it enough into getting rid of the error like you want.
I sure do wish I'd paid more attention in class(es)... but,... you know,... there were girls....
I found the def section (I think):
def setLevel(value) {
logDebug("setLevel(${value})")
if (value > 100) value = 100
if (value < 0) value = 0
logInfo("Zone ${getZone()} volume set to ${value}")
def db = calcRelativeValue(value)
sendVolume(db)
sendEvent(name: "volume", value: value)
sendEvent(name: "level", value: value)
}
def setVolume(value) {
logDebug("setVolume(${value})")
setLevel(value)
}
So I replace that top line?:
//def setLevel(value) {
def setLevel(value, transitionTime=null) {
logDebug("setLevel(${value})")
if (value > 100) value = 100
if (value < 0) value = 0
logInfo("Zone ${getZone()} volume set to ${value}")
def db = calcRelativeValue(value)
sendVolume(db)
sendEvent(name: "volume", value: value)
sendEvent(name: "level", value: value)
}
def setVolume(value) {
logDebug("setVolume(${value})")
setLevel(value)
}
And that error goes away. It's abandoned code I'm trying to keep limping along as I can't find a better yamaha amp device driver. Thank you very much for the assist @bertabcd1234 !
Yep, that looks like it should work!