Samsung Smartthings Button. Best way to accomplish this?

I have a Smartthings Button. It is 1 button with 3 different ways to press it (single press, double press, and press and hold). I am struggling with the best way to accomplish this. I started using Button Controller but don't see "Conditionals" as an option in there so am I just going to have to construct 3 separate and complex Rule Machine rules for each of the 3 commands of the button?

The whole goal is to be graceful in-between the states so if I originally did a single press and later did a double press, I want it to do what I would expect it to do and not get caught in this weird gray area of trying to remember and figure out where I am in relation to the three button states.

I have two lights. I will refer to them as a light and a lamp.

Single Press
If light and lamp are both off, turn them both on to 95%. If they are both on already, toggle them off.

Double Press
If light and lamp are both off, only set the lamp to 25%, leaving the lamp off. If they are both on already, fade out the light then set the lamp to 25%. If only the lamp is on, turn off the lamp.

Press and Hold
Something completely unrelated.

In Rule Machine, select the capability of 'Button Device', then you can construct an action for each press, double press, and hold (including conditionals). One rule-three different actions :+1:

Beautiful! As far as the rest of it goes, just need to build conditionals to accomplish that or are there any other ways? I thought maybe using scenes and then switching between scenes so things fade in and out properly without abrupt changes?

You could certainly set up scenes and then set up transitions between them. Personally, with just two lights, I would set/adjust dimmer levels and choose desired fade times.

Got you, but using conditionals, right? Because on the double press, I ONLY want the lamp on so I would need to check the status of the light if you're switching between the single press configuration and the double press.

Yes, correct.

1 Like