Help w/ Elk rules and Aprilaire

EST

Member
I have not been utilizing my Aprilaire as much as I should given how much it all cost. So, I started to play around with some rules so automate the AC (and eventually heating).

So, I want to first change the running of the AC depending on day or night and for each zone (I have 2, upstairs and downstairs). This is what I came up with:

[codebox]WHENEVER THE TIME IS 11:00 PM
THEN SET Downstairs (Tstat 1) OFF
THEN SET Downstairs (Tstat 1) FAN TO AUTO
THEN SET Upstairs (Tstat 2) COOLING DESIRED TEMP TO NightCoolSet (Cust Set 3)
THEN SET Upstairs (Tstat 1) FAN TO AUTO

WHENEVER THE TIME IS 9:30 AM
THEN SET Downstairs (Tstat 1) COOLING DESIRED TEMP TO DayCoolSetPt (Cust Set 1)
THEN SET Downstairs (Tstat 1) FAN TO AUTO
THEN SET Upstairs (Tstat 2) COOLING DESIRED TEMP TO NightCoolSet (Cust Set 3)
THEN SET Downstairs (Tstat 1) FAN TO AUTO[/codebox]

My custom values are: DayCoolSetPt = 74, NightCoolSet = 76

Now, sometimes this works and sometimes it doesn't.

Also, it seems that everyone likes to leave our backdoor open when the AC is running, so I used this rule I found here but it doesn't.

[codebox]WHENEVER Sliding Door (Zn 19) BECOMES NOT SECURE
THEN TURN DoorOpenCounter (Out 63) ON FOR DoorOpenTime (Cust Set 6), RESTART TIMER IF RUNNING

WHENEVER DoorOpenCounter (Out 63) STATE IS TURNED OFF
AND Sliding Door (Zn 19) IS NOT SECURE
THEN ANNOUNCE Sliding Door (Zn 19)
THEN ANNOUNCE DoorOpenCounter (Out 63)
THEN SET Downstairs (Tstat 1) OFF
THEN SET Upstairs (Tstat 2) COOLING DESIRED TEMP TO 78 DEG. F. (26 DEG. C.)

WHENEVER DoorOpenCounter (Out 63) STATE IS TURNED OFF
AND Sliding Door (Zn 19) IS SECURE
THEN SET Downstairs (Tstat 1) COOLING DESIRED TEMP TO 70 DEG. F. (21 DEG. C.)
THEN SET Upstairs (Tstat 2) COOLING DESIRED TEMP TO NightCoolSet (Cust Set 3)[/codebox]

My custom values are DoorOpenTime = 60

First, right now the door is open and the downstairs TStat Setpt is 77 and it is not turned off. Second, it didn't Announce output 63. Third, when I close the door it doesn't change to 70 ( I made it 70 for testing only) downstairs and upstairs never changed. Today, I found that when the door was open it didn't change the downstairs Tstat at all and it changed the upstairs to 80 degrees. No where in any of my Elk settings does it state 80 degrees. When I close the door...nothing happens.

Do these rules look right? I don't know if it is a rule issue OR I am having troubles with the Elk/Aprilaire interface like others are having.

Any thoughts?

Thanks

Eric
 
You may have to break your thermostat commands apart with a small time delay between them. Some thermostats cannot take multiple commands at one time without a time delay between them for processing the command.


Send a themostat command and start an unused output timer.
When the output timer expires, send the next thermostat command and start another unused output timer.
...
and so on until your commands are sent.
 
You may have to break your thermostat commands apart with a small time delay between them. Some thermostats cannot take multiple commands at one time without a time delay between them for processing the command.


Send a themostat command and start an unused output timer.
When the output timer expires, send the next thermostat command and start another unused output timer.
...
and so on until your commands are sent.


If this is the case it sounds like a bug in the Elk firmware. The Aprilaire protocol spec clearly outlines the timing requirements of the thermostats. Why not just queue the commands in the Elk? The rules would be so much simplier.

BTW, another thing that confuses the Elk is a thermostat with a name. Again, the protocol spec allow it but Elk will ignore replies from a thermostat that has a name.
 
I simplified the rules by taking out the Auto Fan to only allow one command per Tstat. It still is intermittantly working, but when I test them through RP, the rules work. For the door left open rules, I changed the rule from turning OFF to set to 80 degrees when the door is left open. That worked but when I close the door it doesn't change back to the set temp. Like I said, they work when I test through RP but not on their own.

Eric
 
EST,

ELK doesn't like performing multiple/simliar commands in the same rule-set the way you have it coded. I've experienced major issues with "SERIAL OUT TEXT" commands and ended up outsourcing it to PowerHome. Can you try breaking the commands up (as a test) for the following:

WHENEVER DoorOpenCounter (Out 63) STATE IS TURNED OFF
AND Sliding Door (Zn 19) IS NOT SECURE
THEN ANNOUNCE Sliding Door (Zn 19)
THEN TURN OUTPUT 10 On for 3 seconds

Whenever Output 10 Goes Off
THEN ANNOUNCE DoorOpenCounter (Out 63)
THEN TURN OUTPUT 11 On for 3 seconds

Whenever Output 11 Goes Off
THEN SET Downstairs (Tstat 1) OFF
THEN TURN OUTPUT 12 On for 3 seconds

Whenever Output 12 Goes Off
THEN SET Upstairs (Tstat 2) COOLING DESIRED TEMP TO 78 DEG. F. (26 DEG. C.)



If this DOES work, then it will prove dBeau's analysis. As we all know, this is memory intensive and should be routed to Powerhome where it will reliably save ELK rules and allow you to be 99.9% reliable. Please report your results.


-=*Sharby*=-
 
I simply turn on and off the Arilaire with ELK rules. The Aprilaire will return to the settings it had when it was turned off. I have not tried to modify the settings when turning it back on. But as a starting point I can tell you the following rules work:

WHENEVER Kitchen Door (Zn 27) BECOMES NOT SECURE
THEN TURN DoorOpenShortTim (Out39) ON FOR 1 MIN

WHENEVER DoorOpenShortTime (Out 39) STATE IS TURNED OFF
AND Kitchen Door (Zn 27) IS NOT SECURE
THEN SET Main Floor (Tstat 1) OFF
THEN TURN DoorOpenLongTime (Out 40) ON

WHENEVER Kitchen Door (Zn 27) BECOMES SECURE
THEN TURN DoorOpenShortTim (Out 39) OFF
THEN TURN DoorOpenLongTime (Out 40) OFF

WHENEVER DoorOpenLogTime (Out 40) STATE IS TURNED OFF
THEN SET Main Floor (Tstat 1) TO HEAT
 
Well, I basically started over. I erased all the rules and started with the basic WHENEVER THE TIME IS 9:00PM THEN SET Downstairs (Tstat1) COOLING DESIRED TEMP TO 70DEG. At first, it didn't work. Then I manually cycled through the modes on the Tstat and then it worked. So, once I made two rules for day and night time to change both Tstats I worked on the Sliding door open. I basically did the exact same rules as above except I left out the announce and just started with the downstairs stat to test. Everything seemed to work. EXCEPT when I put in the last rule to reinstate the setpoints as before the door was open, it worked but my Night time rule no longer worked. Once I Disabled the door closing rule the night time rule worked. Following along???

What I think is this (and I am not exactly sure how the rules are polled by the Elk to know when to start the rule):
The rule to reinstate the Tstats to previous is this:
WHENEVER SlidingDoor (Zn 19) BECOMES SECURE
AND DoorOpenCounter (out 63) STATE IS OFF
THEN SET Downstairs (Tstat1) COOLING DESIRED TEMP TO 74 DEG
THEN SET Upstairs (Tstat2) COOLING DESIRED TEMP TO 76 DEG

It worked when the door was shut, but when it reached the time to start the night time rule (turn Tstat1 to 80 and Tstat2 to 76) that rule didn't work. Once I disabled the door closing rule, the night time rule worked. What I thought WHENEVER SlidingDoor (Zn 19) BECOMES SECURE means at that exact time it becomes secure, do this rule. What I think is happening is that while it stays secure, it overrides the night time rule. Is this correct logic? This is the only thing I can think of. All the rules worked by themselves, but when placed all together, this part didn't work.

Thanks for all your help

Eric
 
Back
Top