Rule Machine - This is Frustrating the Heck Out of Me


Bob - Thank you for the schooling in RM 4.0. Really appreciate it. And my guess is that looking for "changed" in place of open/closed (unlocked/locked) makes this more efficient than my RM 3.0 rule.

Spent the last hour changing several of my RM 3.0 rules to RM 4.0!


Wow! Thanks to everyone, I figured there was a way, but I couldn't have asked for more help!! Everyone kicks ass!!


No problem!! Here's what mine looks like.


Can someone tell me what is wrong with this rule? It all works except the repeat will not shut off when all the doors/windows, whichever one was open, are finally closed. thanks


I think you need to put the "END-REP" above the ELSE-IF statement. The END-REP acts as a bookend to the "Repeat ever..." And you might be able to remove the Delay statement and just select delay on the Notify action (Speak on Living ...)


I moved it above endif but it still wants to repeat.


Hi never said that, he said

And that is where it should go.

You also need a stop repeating actions before the end-IF.

BTW I don't understand the delay? Why not just repeat every 45 seconds. Then remove the cancel delay and just have stop repeating.


Here is what I have. @BorrisTheCat Thanks for the help, I just said the wrong thing, I did put it above the elseif. See pic. The delay is for when my wife opens the laundry room door to get a mop it won't announce the door being open and then closed if she does it within 15 sec.

This works great now.


That will only announce the last device that was opened or closed if another one is open. And you will end up with multiple announcements, potentially for a window/door that is closed.

Let's take an open Dining Room Window Sensor East. That announces. Now you open the front door. That begins announcing, also every 30 seconds. Then you will get two announcements every 30 seconds until they are BOTH closed.

Now, when you close the front door, the front door announcement won't stop. In fact, you are going to get a second front door announcement. I t has triggered twice and %device% is the triggering device and the IF part of your rule will still be true, even though it was the one that closed. You can see how you could easily begin to get many announcements in a very short window of time. Hopefully, everyone keeps everything closed.


@Ryan780 So am I to understand that this rule would serve better if each of the sensors had this rule on an individual basis? That would be a lot of rules. If not, is there a better way?

Would changing the trigger to any open make any difference? thanks


It won't make any difference to HE if they're all in one rule or 20 separate rules. Each time it is triggered it "spawns" a new copy or the rule.
They're asynchronous. And now that you can clone a rule, it's a lot simpler.


I will have to play with it. I did change the trigger to Open because if a window or door was open prior to the AC coming on then the rule would not see it as changed and not include it in the announcement.


But then the rule will never stop because it won't trigger when you close the window.


Aah, yes indeed. It has to be 'changed'. Thanks, I will keep trying.


@razorwing, on your rule above :

If : Front Door open ( A ) , then Laundry Door open ( B ) , then Kitchen Nook Window open ( C ) then %device% will speak :
1/ A, B, C is open ?
2/ The last C is open ?
3/ or ... ?
After that
If : A and C closed, B still open then %device% will speak :
1/ The last C is open ?
2/ A,B,C is open ? ( because not all closed )
3/ or ... ?

Please explain futher . Thanks .


This may help:

I don't have a repeating notification, but it could be put in without much effort. The big thing is that you can have multiple open windows and it will read it out to you.


You have the concept of rules a little wrong. You are thinking there is only one copy of the rule running at any one time. In reality, what is happening is that when a trigger event occurs, another instance of the rule is spawned to handle the event and the actions associated with it.

So, the first time the trigger event occurs, window A opening, a copy of the rule is spawned and begins announcing Window A open.

Now door B opens. Another copy of the rule is spawned and begins announcing Door b is open. The announcement from Spawn #1 is also still running. So, you will get 2 announcements.
Window A is open.
Door B is open.

Now, here's the REALLY fun part. You close Door B. It will spawn another copy of the rule and now you will get 3 announcements!!
Window A is open.
Door B is open.
Door B is open.

Because the first part of the conditional action is true, not all those doors/windows are closed, it will produce an announcement with the trigger device. That will go on until all the windows/doors are all closed at the same time. Then the Else-If part of the rule will execute canceling all the repeats.


How are doing all of the IF ELSE-IF, THEN conditions? I don't see any way of doing that in Rule Manager. Would that be a Rule 3.0 rule?


Conditional Actions were available from RM 3


Do you know why did they never included that in 4.0? As a newbie programmer (.NET guy), I love defining that kind of logic.