This Rule Works, Except For 1 Little Quirk

video321

Active Member
I have a set of rules that work off a keychain keyfob for arm and disarm.
Everything works great, except if I hit button 2 (disarm) while my garage door is in an active state. This is what I have...basically:

To Arm:
WHENEVER keyfob button 1 BECOMES NOT SECURE
AND BURGLAR STATUS OF ALL AREAS IS NOT READY
THEN BYPASS Garage Overhead
THEN TURN Output 208 ON FOR 1 SEC

WHENEVER Output 208 STATE IS TURNED OFF
AND BURGLAR STATUS OF ALL AREAS IS READY
THEN ACTIVATE Garage Opener (Task 1)
THEN UNBYPASS Garage Overhead
THEN ARM AREA(S)1 TO AWAY IMMEDIATELY

To Disarm:
WHENEVER keyfob button 2 BECOMES NOT SECURE
THEN DISARM AREA(S)1 IMMEDIATELY
THEN ACTIVATE Garage Opener (Task 1)


So, what happens is using logic if the garage door is open while pressing button 1, it will automatically close it. When the garage door is fully closed and the system is armed, even in the exit timer state, I can hit button 2 to disarm and open the garage door - maybe grab something I forgot. Hitting button 1 again will close the door and arm. However, if I press button 1 to arm and close the garage door (like previously), but then press button 2 while the door is in motion it will disarm the system and reverse the door - everything as expected. But, if I press button 1 then again it will arm the system but will NOT activate the garage door relay.

Any ideas? I'm pretty sure it has to do with bypass (maybe force armable?), but I don't know what to do.

edit for upate:
I found one little interesting bit when I left the house earlier. If I try to do the same thing as above (reverse the garage door while closing after hitting button 1 to arm), but use button 1 (arm) instead of button 2 (disarm) then it will work and keep working (of course the exit timer keeps counting down). It's only when I hit the disarm button 2 while the garage door is in motion that it won't activate the relay afterwards but arm the system.
 
You must have another rule that allows the system to arm when you push the keyfob with the system already secure. Can you show that rule? Also, can you show the rule that defines how task1 is executed.
 
You must have another rule that allows the system to arm when you push the keyfob with the system already secure. Can you show that rule?
WHENEVER keyfob button 1 BECOMES NOT SECURE
AND BURGLAR STATUS OF ALL AREAS IS READY
THEN ARM AREA(S)1 TO AWAY IMMEDIATELY

Also, can you show the rule that defines how task1 is executed.
WHENEVER Garage Opener (Task 1) IS ACTIVATED
THEN TURN Garage Opener (Out 7) ON FOR 1 SEC

I found one little interesting bit when I left the house earlier. If I try to do the same thing as above (reverse the garage door while closing after hitting button 1 to arm), but use button 1 (arm) instead of button 2 (disarm) then it will work and keep working (of course the exit timer keeps counting down). It's only when I hit the disarm button 2 while the garage door is in motion that it won't activate the relay afterwards but arm the system.
 
I suspect it is becuase the garage door is still bypassed when you go to rearm. If you have the garage door bypassed, then the system will consider the house secure when you push button 1 and it will activate your "already secure" program which does not trigger the garage door.

I have the same setup as you with a relay triggering a garage door opener (3 actually). I have done it a little different however. You might consider having you task that closes the garage door read like this

whenever task 1 is activated
and garage door is not secure
then turn on output garage door for 1 second

If you have more than one garage door write this same program for each garage door and it will close any and all open doors.

This is useful because it will only try to close the garage door if it is not already closed. They only shortcomming is that it does not account for a door in motion.

Try making your garage door a force arm zone and use the following program instead to arm the system.

whenever keyfob 1 becomes not secure
then activate task 1
then arm area 1 after 1 minute
then chirp siren

This rule will work for arming the system regardless of whether the door is open or closed. It only gets screwed up if the door is in motion. I haven't figured out a reasonable way to deal with the moving garage door except to just not push the keyfob while the door is moving. I considered putting a second contact at the door all the way open position and to use the logic that if the door isn't all the way open or all the way closed, then it is in motion. But even at that it doesn't know if the door is opening, closing, or stopped in the middle. So, If I forgot something in the house I just use the regular door opener. I still have one minute plus the regular alarm delay to get in and out of the house and indefinite amount of time to get out of the garage because it is force armed.

Unless you had some way to actually monitor the doors motion and set variables in Elk, it is pretty much impossible to have Elk do the right thing on the first try every time. You could definitely write a series of programs that eventually get the door in the right position by activating the door then waiting to see if the open/close contactor becomes secure.
 
I suspect it is becuase the garage door is still bypassed when you go to rearm. If you have the garage door bypassed, then the system will consider the house secure when you push button 1 and it will activate your "already secure" program which does not trigger the garage door.
That's what I suspected too, but looking at the keypad shows the bypass turned off, as expected when triggering the arm rule from button 1. Bypass flashes on then off instantly. I unbypass the garage door after both "security check" rules for output 208. The keypad only shows "ready force". I'm starting to guess now that even though the keypad is showing the garage door as unbypassed, it still is until it becomes secure. Or it's just stuck in some limbo state?


whenever task 1 is activated
and garage door is not secure
then turn on output garage door for 1 second
I'm going to try something like this, but I would need to create 2 tasks as I use the keyfob button 2 (disarm), which triggers the task, for all of my non-arming exiting/entering of the house.


Try making your garage door a force arm zone
It is.


It only gets screwed up if the door is in motion. I haven't figured out a reasonable way to deal with the moving garage door except to just not push the keyfob while the door is moving. I considered putting a second contact at the door all the way open position and to use the logic that if the door isn't all the way open or all the way closed, then it is in motion.
I thought about doing the same thing with dual contacts.
So, you can replicate my situation as well even with your rules?
 
I have a separate task for the garage doors that just activates the relay for 2 seconds. Basically the same thing as pushing the button. I only have a task for that so it shows up as a task on the keypad.

I don't exactly replicate your situation. If I keyfob disarm the system while the door is moving down, it does stop and go back up. The next time I hit keyfob arm it does close the door/arm. Below is the rule and as you can see it always triggers the door and since a downmoving door that is triggered reverses, it works. If somehow the door were stationary or going up, it would be screwy, but that is a highly unlikey situation.

whenever keyfob b becomes secure
the disarm area 1
then turn on output garage 1 for 2 seconds

The problem I have with a moving door is if I accidentally push the regular door opener as I pull out of the garage instead of the keyfob. In this case I have to wait for the door to close before hitting the keyfob or it turns the door around and opens it back up because the system thinks the door is still just open and needs to be closed. This is really the only time my current rules don't work. And it is an obvious fix, DON'T HIT THE WRONG BUTTON STUPID!!!

If I forget something and need to run back in, I can use the keyfob to disarm/reopen door, then rearm/reclose door on the way out. Or, if I only need a minute of time, I just use the regular door opener, it all ends up the same.
 
Lou....I got it!

I was trying a few different combos and ideas, but found this to work flawlessly:

WHENEVER keyfob button 1 BECOMES NOT SECURE
AND BURGLAR STATUS OF ALL AREAS IS READY
AND Garage Overhead IS NOT SECURE
THEN ARM AREA(S)1 TO AWAY IMMEDIATELY
THEN ACTIVATE Garage Opener (Task 1)

I still have this as well:

WHENEVER keyfob button 1 BECOMES NOT SECURE
AND BURGLAR STATUS OF ALL AREAS IS READY
THEN ARM AREA(S)1 TO AWAY IMMEDIATELY
 
I don't exactly replicate your situation. If I keyfob disarm the system while the door is moving down, it does stop and go back up. The next time I hit keyfob arm it does close the door/arm.
Looking back and your rules and mine, I'm coming to the conclusion that yours would indeed work because you're not arming the system for another minute after hitting the keyfob button while I'm arming immediately. I think that is the difference maker. If I get some time tomorrow I may play around with that just to see.
 
I was gonna say the rule works because you added

and garage overhead is not secure

basically by using the status secured or not secured of a contact for the garage door your could know if the door moved to the closed or opened position, any other position would not be relevant.
 
I was gonna say the rule works because you added

and garage overhead is not secure

basically by using the status secured or not secured of a contact for the garage door your could know if the door moved to the closed or opened position, any other position would not be relevant.
Well, what I learned is the line was only needed when the garage door was taken out of bypass with the system armed then unarmed, but wasn't closed.
Maybe this will help someone else at some time.
 
Back
Top