Help with Elk rule for automation with thermostat

robolo

Active Member
We often leave the side door of my house open during the day to allow the dog to go in and out to do his business outside (he is a big greyhound who is too frightened to go through a doggie door).

I have my Elk connected to an Aprilaire 8870 thermostat which changes the heat setpoint at different times of the day. 4 different setpoints based on time of day. I want the heating/cooling to be suspensed whenever the side door is left open. As my father would say, "You don't need to be heating/cooling the neighborhood".

It is easy to write the rule to turn the heat off when the door zone is open. But how do you write it to resume the thermostat at the correct setpoint when the door is closed? For example if the door is opened in the morning when the desired setpoint is 67 and closed in the evening when the setpoint should be 69 what is the best way to do that? I can write a rule to check the time of day when the door is closed and then compare it to each of the different times of day for the tempurature, then retrieve the temp setpoint for that time and restart at that number but it seems kind of kludgy. Is there anything more elegant that someone can come up with?

(WOW - my 100th post and I am now advanced!!!)
 
I don't have an Elk or an Aprailaire thermostat, so I'm not sure if either of these ideas will work in practice, but here are two quick suggestions that at least sound good in theory:)

Can you just have the elk set the mode of the thermostat to 'off' when the door is open? That should stop any heating or cooling that's going on, then when the door is closed you set the mode back to auto the thermostat should remember what the setpoint was (At least that's how my RCS thermostat works). The only potential problem I'd see here is if the door is open during a time the setpoint should change... the thermostat may not update with the correct setpoint.

My other thought was to set some sort of variable with the current setpoint of the thermostat whenever the setpoint should change in addition to setting the set point on the thermostat. That variable, then, should always have the correct setpoint for the thermostat and whenever the door is shut you can just reference that variable and use that to set the proper setpoint.

Finally, you might want to have some sort of timer on the off rule... if the door is open for more than 60 seconds or something. You don't really want your HVAC system going on and off whenever you guys to out the door to get the mail or something. That way if the door is only open for a little while the system will keep running. For a short opening like that I think it's more energy efficient and certainly easier on the system to just leave it running.

HTH,
Brett
 
The only potential problem I'd see here is if the door is open during a time the setpoint should change... the thermostat may not update with the correct setpoint.
Yes that is my exact concern

My other thought was to set some sort of variable with the current setpoint of the thermostat whenever the setpoint should change in addition to setting the set point on the thermostat. That variable, then, should always have the correct setpoint for the thermostat and whenever the door is shut you can just reference that variable and use that to set the proper setpoint.
I like the idea of a single Elk variable that always keeps what the current setpoint should be. That way only have to reference that one value when resuming

Finally, you might want to have some sort of timer on the off rule... if the door is open for more than 60 seconds or something. You don't really want your HVAC system going on and off whenever you guys to out the door to get the mail or something. That way if the door is only open for a little while the system will keep running. For a short opening like that I think it's more energy efficient and certainly easier on the system to just leave it running.

Excellent suggestion

Thanks
 
I use the following two rules to check if the Front Door has been opened for longer than 30 seconds (stored in Cust Set 1). If it has, there's an announcement to close the door and the timer (Out 64) is reset for another cycle.

You can use the same principle to adjust the thermostat setpoint after the timer has expired (i.e. after the door has been left open longer than 60 seconds). You can easily manipulate the setpoints if they are, as you've confirmed, implemented as Custom Values.

Code:
WHENEVER FrontDoor (Zn 1) BECOMES NOT SECURE
	THEN TURN DoorOpenTimer (Out 64) ON FOR DoorOpenTime (Cust Set 1) RESTART TIMER IS RUNNING
WHENEVER DoorOpenTimer (Out 64) STATE IS TURNED OFF
	AND FrontDoor (Zn 1) IS NOT SECURE
	THEN ANNOUNCE Front Door (Zn 1)
	THEN ANNOUNCE DoorOpenTimer (Out 64)
	THEN TURN DoorOpenTimer (out 64) ON FOR DoorOpenTime (Cust Set 1)
 
Back
Top