[Released] Rule Machine 3.0

You're right, I read your response wrong.

If that is the case, though, his other comment in the Live that actions happen "in the order listed" is not always correct/valid.

Which is OK. People just need to know that if you REALLY want the order preserved, use separate delay actions - not delays ON actions. And that is not obvious at all to me.

That's really what I'm getting at. If that is how delay on actions work, I wish he would have removed that function altogether. Then people would just make all delays with delay actions, and order of execution is always correct and obvious.

I think this is going to cause a lot of confusion with users.

They do happen in the order that they are entered....when they don't have delay timers. I can't really think of a scenario though off the top of my head where I'm going to use that. Now, the delay action....THAT i'm going to use..a lot. I have a lot of Actions that are triggered by other rules to get another delay timer out of the scenario. They work now but not cleanly and they're a bitch to maintain. They're all gettin re-worked!! lol

I agree...it's probably going to cause more confusion than it's worth and I can't think of a scenario that it would be useful.

But in the end, delay actions are going to be SUPER useful. That and conditional actions open a world of possibilities!

Very exciting stuff!!!

1 Like

YES!!!!! A lot of my announcements have a visual and an auditory component. The visual I always want to happen but the audio, only when a VS is on. This prevents hubitat from telling me the washing machine is complete while I'm leading a conference call with 20 people. Right now I do it through Actions and restrictions but it is a mess and a PITA to maintain. The conditional actions is HUGE!

1 Like

I just have one more things to say about Rules 3.0......

giphy

1 Like

What @aaron said is correct. The script is executed in order. When an action with a delay is encountered in the script, it's timer is started and the execution moves to the next action in the list. To help make this clearer, these will now be labeled like this:

On: myLight --> after a delay of 0:00:30
Off: myLight --> after a delay of 0:00:40
On: myOtherLight

What would happen with that script is that 1st, the timer for 30 seconds would start for On. Next the timer for 40 seconds would start for Off. Next the myOtherLight would turn on.

@aaron is also right about Delay Actions. This is a standalone delay, not tied to a specific action. It simply stops the execution of the script for however long it says. There is a variant of this, Delay Actions Per Mode. This allows the duration of the "pause" in the script to vary depending on the current mode.

7 Likes

You took my comment too literally. I should not have said "all start at the same time". Each action in the script is executed in order (which actually takes some time). A delay on an action begins the delay timer when that step is reached, and then execution proceeds to the next step (that timer only relates to the step it was attached too, not subsequent steps).

From the beginning of this script running, Action 1 will run 30 seconds later, and action 2 will run 10 seconds later. So 10 seconds after the beginning of the script, Action 2 will run and then 20 seconds later, Action 1 will run.

2 Likes

This is not so confusing as you are making it out to be. There is a need for both types of delays.

For example, [do some things, wait 30 seconds, do some other things]. That one is Delay Actions. No point in having to put a delay on each of the second bunch of things to do if you want all of them to happen after the 30 second pause.

No one is going to force you to use this if you find it confusing. Please bear in mind that most rules are actually very simple, not elaborate scripts. Those who want to write elaborate scripts are free to do so.

When you say "REALLY want the order preserved", the order of what? It gives you complete control of the exact order in which things happen and the timing of those things. Now, whenever you have such power you gain the power to totally screw it up also.

5 Likes

Hey, if you guys really want me to neuter it before you've even tried it, why not?

1 Like

DO NOT Listen to them....

9 Likes

You need to take things less personally Bruce. You glossed over all the praise and all the thanks and all the good and focused on the one negative thing. I give up.

What? I'm laughing at you guys...

7 Likes

So he was supposed to weigh and outweigh the other things said and "not respond" to the complaints that you guys were making on something you haven't even used yet? And were only complaining on the basis of your misinterpretations?

And "he's" taking things personally..........How about those making assumptions don't pre-judge the book by its cover....

It wasn't a complaint it was an opinion. You people need to lighten up a little.

1 Like

How do you have an opinion on something you haven't experienced?

Ah, that's never stopped anyone!!

12 Likes

Bruce Great job on Rule Machine 3.0. Thereā€™s always going to be someone who complains or has an opinion. Iā€™m sure if they donā€™t like it, those people are capable of writing there own code........

Thanks @bravenel! Your description completely clears it up for me.

You're right, I guess I was taking your comment about the timers all starting at the same time too literally, and any previous comments on the functionality were based on that.

The way you described it working this last time seems perfect to me.

1 Like