Wait Rule

I just need clarification regarding Wait for condition or events. So, from my understanding, Wait rules/subscriptions are cancelled each time a rule is re-triggered. So is there any point on using the "cancel wait" rule? Also, I am planning to consolidate my Downstairs and Upstairs thermostat rule into one. Can there be 2 wait conditions in a rule? I'm thinking if my thermostats downstairs and upstairs would be running at the same time, I want them to wait for a specific temperature (different from each other) before turning off so there will be 2 separate wait conditions. Thanks in advance.

Edit: Additional Question. So if a wait rule is processed, will it automatically exit the rule or will it continue processing the entire rule? I have also read somewhere that It will put a subscription and exit the rule. Thanks.

You mean a compound wait? As in wait for A AND B to be true? No, that's not possible. You can only have one wait condition.
image
You can wait for one of two (or more) EVENTS to occur but they are joined by an OR so it is A OR B events occuring.
image

What do you mean? Thermostats don't work that way. You set the setpoint and then they turn off when they reach the setpoint.

Continue processing the events after the wait. That is the whole point of the wait versus canceling the wait.

Put out a subscription? I don't know what you mean by that. Apps subscribe to devices. Apps don't publish subscriptions. The rule does not "exit" unless you have an "EXIT RULE" or you Cancel a Delayed/Wait Action.

Not a compound wait. For my case, if my thermostat upstairs and downstairs is heating at the same time, I want my both my thermostats to hit their respective setpoints before turning off. So there is going to be two waits.

My thermostat idles, not turn off when it reaches a certain setpoint. I want mine to turn off because when don't like to run again when the temp changes. I have mine setup to heat when it reaches 66, but it will heat to 70. I don't want it to hold temperature so hence, I want it off.

Let me rephrase that, I was not clear. So when a wait rule is triggered (it is not true yet), will it exit the entire rule or will it continue to process other rules that is not nested in the same IF-THEN-END-IF statement? Because if I consolidate my rule for both upstairs and downstairs thermostat, I want it to continue to process my other rules.

For example,
"Wait for condition, themostat downstairs temperature >= Heating.Setpoint"
Will HE exit my rule and put a subscription to my themorstat downstairs temp so it will continue the when it reaches it the heating.setpoint?

If I am to consolidate both my rules for my thermostats, I want the rule to continue after the wait condition to process my other thermostat. For example:
If my downstairs temp reach 66, I want it to heat, wait for it to reach the setpoint then turn off. While it is waiting, I want it to continue to process my thermostat upstairs.

I don't understand. What type of thermostat do you have? When you say turn it off, do you mean set the mode to off? Then you set the mode to heat again? You shouldn't need to do that, that's what the thermostat is for.

Other rules? Or other parts of the same rule? You're not really making a whole lot of sense.
Rule are not like webCoRE pistons. You should not have rules that stretch on and on and on and on. They will cause your hub to grind to a halt.

Yup, set the mode to off because I don't want to to hold on to a certain temp. I have ecobee. It will idle, which is off too. But it will start again when it drops and raises again. I want mine to heat or cool to a certain temp, then turn the mode to OFF so it will not hold on to a temp.

That's not how an eccobee works. I had one. You can adjust how much of a delta between the setpoint you have before the heating cycle begins. And they do not heat to 4 degrees above the setpoint before turning the furnace off. Also, your thermostat is always on, it has modes of heat, cool or off. But your thermostat being in heat mode should not mean that the burner in your furnace is always on. If it is, then you have your thermostat configured incorrectly and quite frankly, very dangerously.

I tried setting the delta, but it is not consistent for me. I set to auto mode and leave it, but I notice that my furnace runs sometimes when I don't want to. Hence, I tried making a rule. RIght now I have 2 rules, to automate both my thermostat. If it is in auto mode, I have it hold the temp. But if it is off, and when my the temp reaches 66 downstairs, it will turn on (thermostat mode heat) and heat to 70, then turn off (thermostat mode off). At night, when I'm upstairs, I don't want it to run even though it will get below 66. My thermostat upstairs automation start when we sleep, so it has a different setting and temperature to turn on and off.

To answer the original question.

You can set up a repeat - say every 5 second - that will exit the repeat if both conditions are true.

I don't want to repeat. Basically I just want to ask if a wait condition is triggerred, will it exit the entire rule or can it continue in a different nested If-Then-End-if. For example:

...
Some Rules
Else
  If (Upstairs thermostat downstairs mode is heat), Wait for condition: thermostat downstairs >= Downstairs.HeatSetpoint
  If (Upstairs thermostat downstairs mode is cool), Wait for condition: thermostat downstairs <= Downstairs.CoolSetpoint
  setThermostatMode(off) on Thermostat Downstairs
End-IF
Other rules
...

So, when the wait condition is false, I have read it will exit the rule and put a subscription and will continue when it is met. I just want to clarify, will the rules after End-IF continue even if the 1st condition is false. Because if it exits after the 1st wait condition, I cannot consolidate both my upstairs and downstairs thermostat rules.

That's not how Waits or Rule Machine works. You can't continue with another part of the same rule. Once you hit a wait, it will wait. You can't process other parts of the rule at the same time.

1 Like

Thanks, that's what I thought. So I can't consolidate both my thermostat rules then. Thanks for your patience.

@EijiS I don't know how an Ecobee handles a minimum temperature so this may be irrelevant. I use rules to manipulate the setpoint up and down based on several temperature sensors throughout the house. Originally I had my rules turn the thermostat off when the setpoint was reached and back on when a minimum was reached. After considering the consequences of no heat should something cause the rule to not fire, I changed the rules to just change the new setpoint to a value just below my rule minimum rather than off. That way I will be colder but not frosted if something goes wrong with the rule.

@zarthan Oh, I see what you mean. That's is really smart man. Thanks. You are going to make me rewrite everything. So you have your thermostat on auto all the time?

No I don't use auto, but I also don't have an Ecobee. For heating, I just move the heating setpoint to something just above where I want the temperature to end up and use the temperature sensors to control when to turn the setpoint to the slightly lower than the minimum temperature I want. The upper setpoint is just above my rule maximum temperature for the same reason as my minimum is just below the rule minimum. If something goes wrong with my rules, the thermostat just operates as a normal thermostat.
I also use Global Variables for my setpoints so that I don't ever need to directly edit the rule. I can also use rules to change the Global Variables to account for a cold southwestern wind or whatever.

Thanks. I have a clear picture now. Ecobee has auto mode. I will try to keep the temp within the comfort setting. Comfort setting has heat setpoint and cool set point and different modes, Home, Away, Sleep. If the thermostat is off, I will not do anything even the temp goes past the temp ranges. So if it is auto, it will try to keep those temps. I also have global variables for my setpoints. But, I kinda have an idea on what you did to yours, which is better than what I have. So thanks for the idea.