Good Evening, I am new to HE and rules machine and i have a pool and spa that i want to run when the temp gets below <34, that part if easy but i don't just want the pumps to just turn on and stay on I want to have the pumps run for 15 minutes and then off for 30 until the temp gets back to above >35
Thoughts on if rule machine can do this and if not anyone know of a better or different way to manage this,
Required Expression: Private boolean is 'true'
Trigger: Temp <35
Actions:
Set private boolean to 'false'
Repeat while temp<35 every 45 minutes and 30 seconds
Turn on pumps
Wait 15 minutes
Turn off pumps
Wait 30 minutes
END-REP
Set private boolean to 'true'
I assume we can classify 34.9° as "34." This will turn the pump on at 34.9 or lower for 15 minutes and off for 30 minutes. This cycle will continue to run until the temp is 35° or higher.
I presume you don't want to stop the pump as soon as it hits 35.
Well, that was fun for the first time using rule machine, took me a minute to understand the workflow but makes sense now, can you look at this screenshot and confirm it for me?
I like the overall approach but you don't need the Delay 0:30:00. All you need is the On, Wait for 15 minutes, then Off. Set the Repeat to 0:45:00 and the jets and pump will stay off for 30 minutes.
That's fair, although should hurt anything. I was headed a different route but realized it wasn't going to work. That one did require the delay so I didn't think to take it out.
One point to make, although it doesn't matter here. There is a difference between 'wait' and 'delay'. Waits will auto cancel if the rule is triggered again. Delays do not. There's an extra option for 'canceled delayed actions' to stop them from running.
An analogy. You're at the start line of a race on an oval track. A wait would be using setting using a timer but you reset it every time someone passes the start/finish line and start the countdown over. So the countdown would only run out of no one crosses the line before the time is up.
A delay would be starting the countdown and then starting a new countdown every time someone passes. Each countdown will still end once the time is up. You'd just have a different countdown for every pass.
To make sure the second wait has time to finish. As pseudonym pointed out though, the second wait could just be removed and the repeat set to a flat 45 min.