Button app retired? Did I miss something?

I was just adding a device to my Button app and was greeted by "Button App retired use Rule Machine 4". Which update was that retired? I must be losing it lolo

You use RM to setup button functions now. I'm pretty sure that was retired in 2.1.5.

If you mean the "Button Controller" app, then yes. However, you can still use and edit existing apps.

The replacement is Rule Machine 4.0 with a "Button Device" trigger. If you've never used Rule Machine, don't be scared--once you do that, you'll see the old Button Controller 3 interface appear. The difference is that now you get access to a few more things that only Rule Machine had before (e.g., local variables), and Hubitat doesn't have to maintain two nearly identical codebases. Do not choose "Button" as a trigger (unless you know what you're doing)--that will provide a different experience more in line with "regular" Rule Machine but also makes it generally harder to configure button devices with multiple capabilities.

Believe it or not , I had more trouble with "Button Device" then "Button" When I chose "Button device" I kept getting "required field missing" All I wanted was an emergency button to turn off sirens for my wife when she goes ballistic if the alarm triggered for some unknown reason lolo.

If you only have a single button with one action (or want to do the same thing for lots of different button event types) the Button trigger is pretty easy to use, and you get the familiar RM editor if you're familiar with that. Where people get into trouble is with the single Actions section and multiple triggers in the same rule for buttons that can do multiple things ("is this 2 held or 3 pushed?").

Either can work when used in the appropriate circumstances. Glad you got something figured out!

1 Like

Yep, got the Rule 4 Button to work perfectly. It will save my marriage hahaha. I like Rule 4 much better than previous versions and appreciated your guidance .
As always GREAT community!
Tony

1 Like

The button controller app is coming back in the next update

3 Likes

Yeah, but just wait for users to start asking why local and global variables don't work in it etc. It's possibly going to lead to some confusion unless they bring the functionality in line with the RM-embedded capability.

You won't be able to use RM Global Variables in the Button app. Rule Machine Global Variables are stored in the Rule Machine App. That's how rules access them. So, unless the button app goes under Rule Machine, that won't work.

Also, they're not taking away the trigger inside rule machine of Button Device. They just adding functionality back in, not removing anything. This is intended for folks who are new to the system and don't know how to use rule machine. Advanced functions will still require you to use Rule Machine the way you do today. At least that is the way I interpreted the message from Bruce.

3 Likes

This was addressed on the most recent Hubitat Live, and for sure it will be in the release notes. You cannot please all the people, all the time.

2 Likes

It sure was and you sure can't.

2 Likes

This should or could be prominently displayed in the app "instruction" page, where you click to add a new child app.

Here is the existing wording for the (retired) button app, so why can't this just say (paraphrasing here) "for XYZ situations, use RM instead".

Button Controllers has been retired.
To create an app to control all of the buttons of a button device, use Rule Machine.
In a new rule from Rule Machine, select 'Button device' as the Trigger Event.
The UI that is presented will offer choices to create actions for each button and type of button operation of your device

Yes I agree that’s what Bruce seemed to imply.

He also mentioned the KISS principal. It has left me wondering that if the button controller app is more efficient, does that imply that once it’s available again would it make sense to push simply button controllers from RM4 back under the Button Controller app.

Just wondering out loud.

That was my understanding of Button Controller, Motion Lighting, and Simple Lighting. They are better to use than RM due to the code overhead. Be nice to hear it officially though.

1 Like

@bravenel

Hi Bruce, would you be able to comment on this?

Would you advise to move existing button controllers in RM4 back under the button controller app when it becomes available again?

No, there won't be an effort made to put full RM functionality into Button Controller. If you need Conditional Actions, variables, Wait, etc, you would use RM to get that. If you don't need it, you can use Button Controller. Or, put another way, use Button Controller unless you need some RM specific advanced functionality that you don't find in BC. If that's confusing, I'm sorry.

About efficiency, this is much less an issue than people seem to think it is. In theory, BC is ever so slightly more efficient than RM for an identical set of functions, so slight as to be immaterial. On the other hand, global variables are known to be a bit slow (something we intend to improve on in the future). But, BC won't have global variables, so that's not an apples to apples comparison.

No, of course not, unless you like changing things for the sake of change.

My observation about this is that RM is very powerful, but why deal with its complexity if you don't need that level of functionality. Even finding the embedded BC functionality within RM (it's all there) appears to be a challenge for new users.

Finally, here's a cool thing you may not have thought of: You can have the same button device in multiple apps. So you could have 3 of the buttons in BC, and another one in RM, and yet another one in Simple Automation Rules, or an individual button rule. Obviously (I hope its obvious), if more than one app responds to a specific button, both of those apps will run when that button is pushed (in no predetermined order).

3 Likes

Lol. Thanks Bruce

No. Reworking something always give you the chance to screw something up. You're not going to save enough to actually make it worthwhile.

You wouldn't save anything.

Well, you wrote them...you're cheating. :wink:

I didn't want to presume that the overhead on the two was the same without having seen how they're set up. I assume Button Manager (which you can go ahead and use for the relaunched app btw :slight_smile: ) is just a paired down version of Rule Machine that just picks your trigger action for you. Saves a lot of coding work once updates happen.