I may be misunderstanding what you meant to say, but I think you have that backwards. 'Wait for' is canceled by a new trigger of the rule. 'Delay' keeps running when the rule is re-triggered.
I just tested this using a rule with a 'wait for elapsed time 10 seconds' that then logged a message. When I repeatedly triggered the rule (less than 10 seconds between triggers), the message was only logged 10 seconds after the last time I triggered it.
I then changed it to 'delay 10 seconds' and triggered the rule 4 times in less than 10 seconds. I got 4 messages logged as each 10 second delay completed.
TLDR for the rest of this post: If you want the space heater to turn on for 10 minutes after the first trigger and only turn back on for a new trigger after the 10 minutes has passed, use the Private Boolean to ensure it only runs once. If you want the space heater to stay on for 10 minutes past any subsequent triggers that happen during the first activation, use 'wait for elapsed time'.
Details, with the OP's original rule:
Scenario 1, rule is triggered at 00:00 and again 00:06 using 'delay' but not Private Boolean:
- Rule is triggered at midnight, Space heater is turned on
- At 00:06, rule is re-triggered. A second instance of the rule runs and the space heater is turned on (but it is already on)
- At 00:10, the first delay is over, the space heater is turned off
- At 00:16, the space heater is turned off again (but it is already off)
So far, no problem other than being a bit messy, but consider:
Scenario 2: Rule triggers at 00:00, 00:06 and 00:12 using 'delay' without Private Boolean:
- Rule is triggered at midnight, Space heater is turned on
-At 00:06, rule is re-triggered. A second instance of the rule runs and the space heater is turned on (but it is already on)
- At 00:10, the first delay is over, the space heater is turned off
- At 00:12, the rule triggers again. The space heater is turned on
- At 00:16, the space heater is turned off again after only 4 minutes
- At 00:22 the space heater turns off (but it is already off)
So the heater was on from 00:00 to 00:10 and 00:12 to 00:16.
Using the Private Boolean prevents this kind of back-and-forth between multiple instances of the rule turning the switch on and off. It will always run for 10 minutes after the first trigger, and each subsequent re-trigger will result in 10 minutes of heat. In scenario 1 with the Private Boolean the heater will be on from 00:00 to 00:10. In scenario 2 it will be on from 00:00 to 00:10 and 00:12 to 00:22.
However if you want it to keep the space heater on for 10 minutes after the most recent report of <68°, then you would want to use a 'wait for elapsed time' which is canceled by the next trigger.
Scenario 1 with 'wait for elapsed time':
- Rule is triggered at midnight, Space heater is turned on
- At 00:06, rule is re-triggered. A second instance of the rule runs and the space heater is turned on (but it is already on). The first 10 minute 'wait for' is canceled. A new one is started.
- At 00:10, nothing happens
- At 00:16, the space heater is turned off.
The space heater runs from 00:00 to 00:16
Or in scenario 2 with 'wait for elapsed time':
- Rule is triggered at midnight, Space heater is turned on
- At 00:06, rule is re-triggered. A second instance of the rule runs and the space heater is turned on (but it is already on). The first 10 minute 'wait for' is canceled. A new one is started.
- At 00:10, nothing happens
- At 00:12, the rule triggers again. The space heater is turned on (but it is already on). The second 'wait' is canceled. new one is started.
- At 00:16, nothing happens
- At 00:22 the space heater turns off
The space heater runs from 00:00 to 00:22
As with many things in Hubitat, there is more than one way to get the same result. You could get the same effect as 'wait for elapsed time' using cancelable delays.
There two action sets should be functionally the same:
Actions:
Cancel delayed actions
Turn on space heater
Turn off space heater (delayed 10 minutes, cancelable)
or:
Actions:
Turn on space heater
Wait for elapsed time: 10 minutes
Turn off space heater