Why was Button Controller Deprecated

Button Controllers: Retired Button Controller 3.0 (use a Rule with ‘Button device’ trigger). Existing instances of Button Controller 3.0 will continue to work and be editable.

Why was this depreciated? I found this very useful. Not just to make writing the rules simple, but also because it kept these simple rules separate from the complex rules. This will be missed.

1 Like

Because RM 4.0 contains all the functionality and much more.

Give @stephack's excellent Advanced Button Controller (ABC) app a try. I have been using it on Hubitat for well over a year without any issues whatsoever. I have always preferred it to Hubitat's native Button Controller app, due to its additional functionality and simple UI.


As @halfrican.ak, the "Button Controller App" is now part of RM.
Create a new rule in RM and select "Button Device". You will get the same UI as you were used to in the "Button Controller" app plus more actions.

Yeah, I just wanted to know from the deva why they did it. It wasn’t that long ago I moved my buttons from rules to button controller. And now I am moving them back. And I really got used to have the separation. Kind of like the simple lighting app being separate from the rule engine...

1 Like

That's not a fair comparison: there's no way to get the Hubitat Simple Lighting UI inside Rule Machine. If you choose "Button Device" as the trigger capability in Rule 4.0, you literally get the old Button Controller 3.0 interface, plus a few more actions that only Rule Machine can handle (like conditionals and variables). If you choose plain "Button," it's quite different--you get the typical Rule interface and have to set up quite a bit yourself, and for setting up an entire button device, I certainly understand why you wouldn't want to do that. Other than that, I guess the only difference is organizational. I don't look at my apps list every day but I still usually "prefix" all my app names to keep them sorted and easily recognizable. Maybe that can help? (E.g., all my RM children in 4.0 start with "Rule -", but that could be modified to something like "Rule Btn - " or something for button devices if I wanted to.)

The main disadvantage, in my opinion, is discoverability: Button Controller is/was fairly easy to use, and certainly a lot less scary-sounding than Rule Machine if you're new to the platform (I avoided it for a long time because I preferred writing custom apps if a built-in one couldn't handle my use case).

So we wouldn't have to maintain two almost identical code bases for the same functionality. Also, the requests for additional functionality for Button Controller were all addressed this way. So it removes a point of confusion going forward.


Thanks Bruce. That’s what I was looking for. Just wanted to understand the reasoning before I move forward with the rest of my migrations.

Is there an easy way to migrate all the button controller 3.0 configurations into Rule Machine 4.0, short of recreating them all?

Welcome to the community!

You are not being forced to migrate.

Existing instances of Button Controller 3.0 will continue to work and be editable.

Plus, RM4 is a bit bigger and slower than Button Controller. It’s no longer deprecated as it was revived a couple versions ago.

Thank you, I know it is not forced and still supported but it would be nice to just consolidate, so I was wondering if there was a way to get the configuration and import them to RM, so that you only have to manage it in one place.

No, there is no way to migrate them.