Couple Questions about Rule Machine and HomeSeer

OK, the conversion from smartThings is going way better than I thought it would. I have a few questions.

In rule machine. I'm creating a "Goodbye" based on presence. When I add the presence sensors, it creates it with " Select Trigger Events (ANY will trigger)", when clearly I want "ALL will trigger". So when ALL presence devices are not present, then the rule =true. How do I make the rule be that?

Second, I have a Homeseer hs-wd100+ and I don't understand how to expose the triple tap so that I can have 3 actions defined. Any ideas on that?

Rule Machine is event driven. So the only way that "ALL" would make sense in a trigger were if all presence sensors changed their state at the same instant. Which won't happen. Therefore, it is necessary to use the trigger "ANY" combined with conditions that ensure an "ALL".

So like "ANY of these presence sensors AND Mode NOT away"?

Hubitat's "standard" capability model only supports up to double taps, and all stock drivers I know of also max out there, even if the device supports more. To get all five taps on one of these, you'll need a community driver. I know there are or at least were a couple on the forum (one of which I might have helped someone try to write--difficult without one of these devices myself). These drivers usually use workarounds, like assigning additional button numbers to multi-taps.

Something like this:

1 Like

Here's a variant of @bertabcd1234's example above that uses a Simple Conditional:

Thanks Everyone for your help. Does this look right? I haven't triggered it yet, and the it's only triggering mode changes for now. Anything wrong with the logic I've put in place? If I understand properly, I'm saying "anytime a trigger matches, evaluate this expression for [TRUE]; if [TRUE] then DO ACTION(s)". Is that correct?

2021-02-13 19_52_36-PR-Goodbye!

no you can do all in one if like i did above.. ie all not present in the if.. multi select

1 Like

I guess I don't understand what is wrong with the logic I posted. My IF statement is grouped for the presence devices.

why would you write code with 5 separate if statements in an "and" like you did when you can have one if statement that says "all not present"

also if you have configured shm correctly you dont need both arm away and change mode to away in your rule actions.

see picture below.. changing mode to away is all you need as it will auto arm away

Because unfortunately I'm not actually "coding" this. If I could just type my commands instead of point and click, it would be much more efficient., I don't see how to do it your way. Bear with me. I'm just getting into hubitat today so I'm not familiar with the controls.

the same exact way you did in your if statement where you picked aj not present you had the option to multi select more than one presence sensor in the list and then select "all of these" you basically were on that page.

I don't see the options you're presenting at all when I'm selecting presence sensors:

No that is the trigger.. not your if statement.. the trigger is correct with all the or's

triggers are arrives/departs..

if checks are present/not present/

the trigger fires when an event happens. (like someone leaves or arrives)

the ifs check a certain state like is the sensor present or gone.. triggers are a one time thing.. once it triggers , thats it it till next time.

k. Looking now.

1 Like

not absolutely required but for correctness you should also put an end-if and the end.

If I'm doing it your way, there is no IF statement? I'm just selecting presence sensors and that's it?

no you still need a single if statement just like mine above because the trigger fires when any one leaves you need to check when they are all gone.. yours logically would have worked fine, but in innnefiient since you can do it with a single if instead of if y and x etc. like you had.

just select your action, delete all youir actions/if statements. and add a single if with condition presence and multi select all of them and turn on the all option.. then another if condition and select end-if.