[Released] Rule Machine 3.0

Thus is all so reminiscent of CoRE's evolution. (As I recall history....) CoRE used asynchronous execution but it was hard for users to wrap their heads around all actions going at once when they were presented visually in a certain order. WebCoRE changed that to synchronous execution, then quickly made it user-selectable. I like the way the GOM (Grumpy Old Man - said lovingly as an original ST RM user) has implemented this.

1 Like

I don’t see “random” delay seconds mins hours..

Is this a feature in 3.0?

It's available with Delay These Actions in Rule 2.5, and its equivalent in Rule 3.0.

I think this is an under-appreciated new feature. Thanks @bravenel.

5 Likes

Thanks, bravenel !

6 posts were split to a new topic: Getting exception with new RM 3.0

I do love blowing it up trying to be fancy. That's the best kind of mess ups. It frustrates my wife when the house scream red Alert and strobe red in an every room but I forget to get it out of the loop and she just wants it to stop and go back to the nice automatic mood lighting.

Edit: never mind. User error.

I thought I would have a play with the 'while loop'.
I have defined a test rule that, in my mind anyway, should turn on a light, wait 1 minute, turn off light and repeat this sequence every 5 minutes.
When I hit the run rule button the light turns on and no other action happens. It just stays on. I've obviously misunderstood your instructions and any guidance would be much appreciated.


Any thoughts @bravenel

You didn't create a "while loop". It has the form of a simple condition on the repeat

IF (front-door-open) REPEAT every 0:05:00

I'm obviously missing something very simple here.
Haven't I got
IF mode is day
Repeat every 5 minutes
-Wait 1 min.
-Turn on
-Wait 1 min
-Turn off
End.

Yes, you are missing Conditional Action. It's at the bottom of the list of Action types, and you want Simple conditional action.

How exactly does the random delay work. For instance if I put in a 20 second delay and then click the random delay will it randomly delay between 1-20 seconds?

Is this what you mean because this doesn't work either.

NO.

IF (Mode is Day) Repeat every 0:00:05.

Well here is my last attempt.
Lights turn on and that's it.
I've tried lots of combinations to try and get this work.

I would have done the exact same thing as @bobbles, why?
Simply because I was assuming that the "Select Conditions" was in fact an IF.
IF Mode is Day THEN do the following actions.

What I find strange is that you have to repeat the condition inside the action section. Why? Isn't that the purpose of the "Select Conditions" section?

1 Like

You missed the prelude to this. He was trying to create a while-loop.

Back up a moment to basic Rule Machine logic.

You can have a Rule or a Trigger. A Rule tests some conditions with a logic rule, and decides to either do Actions for True or Actions for False, depending on the outcome of the logic rule. A trigger just takes some event and does some actions when that event happens. Whatever one does with Actions happens within this framework.

Within actions one can introduce yet more conditional logic should that make sense for the use case. It would be easy to get confused at this point between the foregoing framework and what one does with actions. I'd say that introducing conditional actions is an advanced concept, and probably best used once one has a full grasp of how RM is working.

2 Likes

Let's start over. What are you trying to get to work?

Consider this simple trigger:

This is going to toggle that light on and off 10 times, then stop.

Now look at this one:

This one is going to go on repeating as long at the Front Door is closed. Once the Front Door is open when it does the every 5 second look at it, it will stop repeating. See below:

1 Like

I did find a bug in the repeat logic that would explain why you are not repeating. This will be fixed in the next release.

1 Like