I have tried to find what these parameters are for. I just want to do a loop X times
I can't find it in the documentation. But would be happy to receive a link.
Time between repeats. I.e., Days/hours/minutes/seconds between each repeat. I have a laundry autmation that repeats a reminder that the laundry is done every 15 minutes until I open the door of the washer or dryer.
How many times you want the repeat to run. I have the laundry reminder set to 10 reminders...after that we're clearly either not home or don't care to deal w/laundry so I turn off the reminder at that point.
So, what if he just wants it to run X times or endlessly regardless of any time increment and stop it by placement of Stop Repeating Actions.
Let's say he has a set of actions in the rule that are spaced out over hours with Delays or Waits. The time increment is kinda confusing in that situation. One has to then sync up the Repeat time with the cumulative Delay(s) duration no?
I'm finding myself trying to relate this to the Do While construct but I'm not getting there.
Case in point....say you have a dual relay and want to cycle on then off between two colors of Xmas lights, first running one for 10 min, then off, and the second color for 10 min, then off, and back again to the first set...and do this nightly between two specific hours.
I thought the Repeat While would wrap this neatly but getting into it I had second thoughts.
EDIT: BEWARE I just kinda "cross-posted" on this subject as I just saw the exact use case elsewhere. See link below.
For repeat you don't need to define the number of loops but you do need to define the time interval.
Here's an option that doesn't use the Repeat action but will repeat
Required Expression:
Time between 6:00 PM and 9:00 PM
Trigger:
Time is 6:00 PM OR
Relay 2 is off
Actions to Run:
On: Relay 1
Wait for event: elapsed time --> 0:10:00
Off: Relay 1
On: Relay 2
Wait for event: elapsed time --> 0:10:00
Off: Relay 2
Trigger:
Time is 6:00 PM
Actions to Run:
On: Relay 1
Wait for event: elapsed time --> 0:10:00
While (Time between 6:00 PM and 9:00 PM) Repeat every 0:10:00
Toggle: Relay 1, Relay 2
END-REP
Off: Relay 1, Relay 2
Yeah, another permutation.
We're derailing the thread a bit here but...
I was just in working your first example and I sometimes find myself confused selecting Switch Triggers especially with the options in the menu: SWITCH, PHYSICAL SWITCH, DIGITAL SWITCH.
I haven't yet gone to the documents to reacquaint myself of the differences in selecting one vs the other (the relays I am using show up in ALL cases). But one thing that is obvious in ALL cases is that the screen menu options once a layer lower infer triggering when the switch "Turns On" (or off, or changes).
The way you wrote the RE condition above you were just CHECKING THE STATE of that switch not hanging around waiting for the state to change. So, which to choose?
Physical Switch refers to someone manually turning on or off a switch device. Not all devices report physical events. Can your relay be operated manually? Digital is non-manual events. Switch can be either physical or digital.
The RE above is checking that the current time is between 6:00 and 9:00. If it is then the triggering event, either the time becoming 6:00 or Relay 2 turning off, is causing the actions to run. It's an important distinction that triggers are events and not states (or conditions). For the example provided, I would choose Switch for the Relay 2 trigger.
Ah, thanks for the clarification. I neglect thinking "event vs state" often having not grown up in event based systems. So the in this case the very nature of turning off the relay in the code re-triggers the whole rule from the start regardless of what comes afterwards in the rule.