Button controller is awesome. I wish it supported conditionals

I only just started messing around with the button controller app this weekend and I wish I had used it sooner. I've already replaced several simple automation rules with a single button controller instance because you can define actions for multiple buttons for a device in one place.

I have a rule that turns the bathroom light on at 10pm at 6% and off at sunrise. So during the day I want button 2 to turn the light off, but from 10pm to sunrise, I want button 2 to return the dimmer level to 6%. There's not a way to test conditions in button manager that I could see, but I did manage to get around it by creating a "bathroom nightlight" scene and added a restriction that it can only be activated between 10pm and sunrise.

I have similar automations in other areas of the house and while there are workarounds, it would be nice if I could do it in one place. I know there is no performance downside to having multiple rules and multiple scenes, etc. but I'd rather have a single switch's behavior defined in one place. Mostly for ease of use so if I need to make changes or something isn't quite working right, I don't have to go check multi places.

Have you tried Rule Machine? Not sure how long you have used HE but button controller was deprecated for several months and Rule Machine became it’s replacement but then it was brought back. Any advanced button use cases should be done in RM instead.

Button Controller is embedded in Rule Machine, with the full capability of conditional actions. Select Button Device as the trigger, and it will drop you into the same UI as Button Controller.

Oh really? I hadn't realized that. I'll check it out when I get home.

I'm not seeing what you're talking about. In RM I can create one rule per button press but that's not what I want to do. For example, I converted 3 simple automation rules to this 1 button controller app instance.

This is for a Zen21 that we use to control 2 bedside lamps plugged into a Zen25. Single tap up to turn one lamp on, double tap to turn both lamps on, tap down to turn both lamps off. In RM, if I select Button as the trigger, it behaves just like any other trigger in RM. I don't get dropped into the button controller GUI.

Here's the button controller app that prompted me to create this thread. I have a simple automation rule that turns a light on at 6% at 10pm and turns it off at sunrise.


What I wanted for button 2 was simply "If the time is between 10pm and sunrise, dim the lights to 6. Otherwise, turn the lights off"

But I couldn't do that. So I had to create a scene called "bathroom nightlight" which sets a single dimmer to 6% with a restriction of between 10pm and sunrise only. So now I have another device showing up which is essentially a duplicate of a device I already have but more restricted.

As Bruce says above you must select button devices. Not button.

Was this added in RM 4.1? I assume so. I was trying to edit my existing rules and button device did not appear in the list of triggers. Just realized it does if I create a new rule though.

No it’s been that way for quite a while. Probably a year or so at this point.

1 Like

There are two different triggers: Button Device and Button. Button is for a single button. Button Device opens up the same multi-button UI as Button Controller.

I know this is confusing, and we plan to address that so it's easier to find and use with the same power of RM behind it.

Alright, so I got this working and I'm 99% happy with it.

I have a simple automation rule that turns the outside lights on at 30% at sunset and off at sunrise. This should make it so I can easily make them brighter if I need to and when I turn them "off" it will actually reset them to 30% if it's still between sunset and sunrise. The main reason I wanted to make this actually is because the switch is a Zooz Zen30, so just under the bottom paddle is a relay button. The relay button is setup as a scene button that will open the garage door. My wife very often presses the down button on the paddle while trying to open/close the garage door and turns the outside lights off.

So this rule accomplishes what I want. But, if the lights at already at 30% and I press button 2, instead of just nothing happening, the outside lights turn off and then ramp back up to 30% over 2 seconds. Is there a different action I should be using instead? Or should I just add another conditional in to say AND if dimmer level > 30?


No, that makes the light turn off when I don't want it to because now if the dimmer is AT 30, it will skip to the else and turn off. Why does setting the dim level to 30 when it's already 30 turn the light off to begin with? Shouldn't it just do nothing? Or is it the ramping that is causing the issue?

EDIT: It's not the ramp rate. Setting it to 0 seconds make the light turn off and then back on at 30% right after. My new theory is that I need to disable the physical control for the relay and make it zwave only. I think the relay is physically turning the light off and then the HE sends it a command to dim to 30. I can't really think of a downside to doing this... the switch would stop working if my HE is not working, but then I could just factory reset the switch if it came to it.

EDIT2: Yup, that was it. Changing the paddle control to zwave only did the trick. It'll add latency, but since it's an outside light I don't care.