RM Feature Request

Is there a possibility to have an RM rule "pause" itself after it's action is completed. It appears that this feature is only allowed to pause other rules? It would be an easy way for a rule to only be run once.

I have a scheduled rule that makes an announcement hourly that it's time to gather and take the trash to the curb on "trash day". I would like to have it resume a rule that will cancel the repeating reminder once the front door has been opened after the announcement.

It would be nice if the announcement action could resume the "reminder cancel" rule and the "reminder cancel" rule could pause itself after it's executed.

I may be making this more complicated then necessary so if anyone has an alternate way to achieve this I'd appreciate it.

1 Like

Boolean

Every Rule has a Boolean capability. You don't have to use it but when you want One rule (event) to control another, Boolean is probably the first answer to pursue.

Enable boolean in your "trashDay" rule and then simply have your front door set the TrashDay rule's boolean to false.

scap

Open Restrictions and then at the bottom, find that switch.

You'll have to conjure up a method for setting the Boolean True on Trash Day. Perhaps a different rule, perhaps the existing TrashDay rule set's the Boolean of the Front Door rule. (The rules become cross connected :smiley: )

Thanks I'll try it this way

1 Like

Meanwhile, I made the change to RM. This was a huge effort that entailed changing 3 characters.

Haha, won't add that to Resume Rule though...

4 Likes

This is a great notification scenario! Went ahead and implemented it. :slight_smile:

I'm trying to do something similar now in RM 4, and it seems that there is no option for a rule to pause itself? I know I could use a global variable, or the private Boolean, but in my case I think it would be much simpler to just have the rule pause itself after it is done. If this is in there somewhere, please point it out to me. Otherwise please consider this a feature request.

Do you mean that you want it to run once and then never again? How would it get resumed, if ever?

It is very easy to do this using Private Boolean, if you aren't using it for anything else.

Actions:
IF (Private Boolean true) THEN
   ... actions...
   Set Private Boolean false
END-IF

Some other rule could re-enable that by setting its Private Boolean to true again.

What I want to do is have some lights come on in the house when I get home. But I don't want them going on and off when I'm leaving or just going in and out of the garage. So this is what I have set up now:

sunrise -> pause "garage door" rule (and other lighting rules)
sunset -> resume "garage door" rule (and other lighting rules)
"garage door" -> if the garage door opens, resume "laundry room door" rule, then pause it again in 5 minutes
"laundry room door" -> if no lights are on and this door gets opened, turn on a light

The only issue would be, for the 5 minutes after I open the garage door, the interior light will come on again if I open the door (say, I was just stopping by to get something and I'm going out again). I'd rather have it trigger once then stop. I could of course do as you suggest and have the "garage door" alter the boolean in "laundry room door", but then I have to add extra checks in "laundry room door". It would be more elegant if "laundry room door" could just pause itself.

OK - so I discovered the "wait for event with timeout" feature in RM, and that allowed me to simplify my rules, combining two rules elegantly into a single rule. Very nice feature -- thanks.

But I still think a rule should be able to pause itself...

This will be in the next release.

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