Can not change Rule Machine trigger if trigger set to "Button Device"

If I create a Rule Machine rule with a trigger type of "Button Device", then clone the rule and attempt to change the trigger, I find it is locked to "Button Device" and can't be changed.

Other triggers do not exhibit this limitation.

Is this normal behavior?

Thanks and regards,

Don

Hmmm. Conversely, if a Rule Machine trigger is set to something other than "Button Device", it can not be changed to "Button Device".

"Button Device" vanishes from the pick list.

Don

This is likely intentional on the developer's part--"Button Device" drastically transforms the RM UI into something resembling the standalone Button Controller app (gone are the conventional notion of triggers at all, and there are several different "actions" sections for different button-related events instead of just one as normal). I'm guessing they were not able to come up with a logical way for this (de-)conversion to happen once a choice was made. Creating a new rule is probably best (this is my preference for any significant change--it helps avoid phantom "in use by" references if you happened to, say, not remove a device before removing an action in which it is used).

That being said, if you haven't checked out the standalone Button Controller app, do that too. :slight_smile: Similar idea (and it was briefly retired after the introduction of the above feature into RM but brought back as an example of one way to encourage keeping things simple) with only slightly less power since you don't get some RM-only features like variables.

I just tried the "Button Controllers" app. My four Iris Smart Button 3460-L devices show up in the button device list, but allow NO actions to be set. The actions drop down list is empty, but for a partially obscured item:

Weird.

I started fooling around with this since suddenly ALL of my Iris Smart Button 3460-L devices started randomly indicating either held or pushed on a single short press. Re-pairing makes no difference. It is on all four 3460-Ls.

All working working fine prior.

A shutdown/reboot did not help. Pressing the "Configure" and "Save Device" buttons on the Device page for each button made no difference.

Don

Interesting...on the device page, do you see anything under "numberOfButtons" under "Current States" in the upper right? This is what I mean:

image

Also, what do you mean with "indicating" a hold or release? You'll always see the last button number associated with a specific button event (e.g., pushed or held) on the device page, which you can in my screenshot above, too. This doesn't mean Hubitat thinks it just happened or is currently happening--just the last button number for each of these events when they did happen.

Well, I hit "Save Device" and "Save Preferences" in the Devices area for the button. This time when I selected it in the Button Controllers app, it allowed me to select "Pushed" or "Held", which it did not do before. I was also able to set actions normally.

Oddly, the button started behaving again, detecting "Pushed" and "Held" states correctly.

Very confusing. I can configure the button three ways:

  • In the Rule Engine as a Button device.
  • In the Rule Engine as a Button Controller Device
  • In the built-in Button Controller app, which looks identical to the interface in the Rule Engine Button Controller device.

Could anyone explain the differences among these options?

Much appreciated.

Regardfs,

Don

All four of my Iris Smart Button 3460-L devices look like this, showing Number of Buttons correctly:

It may be that when I re-paired Button 1, I did not hit the "Save Device" button. Seems I had to do that when originally pairing to get the Number of Buttons to show.

I'm not sure if "Configure" does anything useful for these devices, or if they need to be woken up to respond to the Configure command.

Best,

Don

I meant that a single short press (clearly not "held") showed in the log randomly as "held" or "pushed". The "pushed" state detection became unreliably.

The indication on the devices page show pushed and held as "1" if those states were ever detected, so the Log was a better indicator of whet was being detected.

Since migrating on of my button Rule Machine routines to the "Button Controllers" app, the detection starting working reliably again.

Don

Well, I think my issues were coming from having two rules in the Rule Machine using "Button Device", one rule for "pushed" and the other for "held".

I see that using Button Device in either Rule Machine or the Button Controllers app allows setting up a single rule with separate actions for each button state.

The one difference in the Button Controllers app and using the Rule Machine is that the Button Controllers app does not seem to allow conditional actions. Not sure if this was an oversight.

Other than that, combining both states into a single rule seems to have resolved all the issues.

Best,

Don

Conditionals are one of the RM-only features, but almost everything besides that and variables should be available in BC.

The "Button Device" trigger is indeed intended to allow you to create one rule for all button-type events (pushed, held, doubleTapped, or released for any button number--all dependent, of course, on what the device actually supports). This is the way Button Controller more or less always worked, and the "Button Device" trigger was added to RM to emulate this behavior there if you want the "full" power a rule gives you instead-- a bit different from conventional rule triggers in that it drastically alters the UI, but easier than creating a separate rule for each button event (still possible with a "Button" trigger if you really only care about one specific event).

2 Likes

All clear. Thanks for the concise summary.

Sorry for the newbie thrashing!! :nerd_face:

Don

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.