Repeat While Loop

Where is the "IF (condition) Repeat Actions" While Loop (shown below) in the RM UI?

image

It doesn't appear to be under 'Conditional Actions' or 'Delay or Repeat Action, Wait'

Simple Conditional Action with a Repeat.

I see.

So that logic will re-evaluate the IF statement before each iteration of executing the actions between 'Repeat Actions' and 'END-REP' and if False, execute whatever is below the 'END-REP'?

Correct.

That's what I thought but the actions After 'Repeat every' don't get executed:

image

What am I missing?

Repeat Every ??????????
You haven't specified.

e.g.

image

When creating the rule, I selected 'Repeat Actions'. The UI put in 'Repeat every'.

I want it to repeat until the IF statement is false - like I was told it would (see above).

Why not just put repeat every 5 seconds and get rid of the delay at the end. That will work the same.
You need to tell it how often to repeat though, you haven't.

I'll try repeating every 5 seconds, but if such a specification is required, the UI shouldn't let me click Done.

A bug perhaps?

1 Like

Something like this might work for you.

image

All repeats have to specify a time for the loop to run.

We try to avoid the forced inputs (shouldn't let me click Done), because that has its own downside.

How about a warning message on the 'Repeat Actions' page,

"WARNING: If you do not specify either a duration or increment, Repeat Actions will not be executed."

For the dumb dumbs like me...

Also, syncing the labels would help avoid confusion. In the documentation, it says 'Repeat Actions'; in the RM UI it says 'Repeat Actions', but once you actually implement it, it changes to 'Repeat every'

This worked. Thank you for the suggestion.

1 Like

If your rule is essentially the same as you first posted, then there is nothing telling the rule to stop repeating.
Have a look at the one I knocked up and you will see what I mean.

The text in the actions list is intended to convey more information than just the name of the action. "Repeat every 5 seconds" makes sense, doesn't it?

Yes, "Repeat every 5 seconds" makes sense.

What doesn't makes sense is a category called 'Repeat Actions' with only one option called 'Repeat every'. If the ONLY option is 'Repeat every' call it 'Repeat every' or add a generic Repeat option - which is the behavior I was expecting when I was permitted to click the Done button without specifying a duration or increment.

Again, maybe just the way my broken brain works.

This is not correct. See above.

If you are talking about the screenshot of your rule above,
repeat every,
some actions and an
END-REP
which tells the rule it has reached the end of the actions that need to be repeated.
It will then go back to the start of the repeat actions and run again after 5 seconds.
This will continue until you tell the rule to STOP repeating actions.

Again, if you look at the rule that I knocked up quickly, this will show what I mean.
There is a Stop Repeating Actions at the beginning.

Then in the repeat you can see
Repeat every (stopable).

If you do not tell it to stop, it will not.

@bobbles So you're saying that the lines between 'Repeat every' and END-REP will continue to be executed in perpetuity even after the IF statement evaluates to false and the Kitchen LIFX is turned off?

You are correct, not @bobbles. The while loop continues until the condition is false, then stops.

Oh well. I've had repeats just carry on in the past, stop repeating has to be stated to stop it.
Either something has changed along the way or I have never set it up correctly to start with.
Either way, as long as you get it working as you want it, happy days.