Jump to content

Programming Away Status with Exit Home Delay


panzer948

Recommended Posts

Posted (edited)

Hi,

Just got the 994i a couple of weeks ago and learning some basic programming.  I've done a few things but having trouble adding in some kind of delay when I want to select an away status when leaving the house (similar to your common alarm system).  So far I have one of my keypad linc buttons "labeled away" as a controller for an if statement for one of my program folders (which I named "away" for any programs I want to run when I have activated the keypad  controller button "away").

 

My program  folder (away) condition is as follows:

If

Status 'Hall Keypad-Hallway / Hall Keypad-Away' is not off

Then

Allow the programs in this folder to fun.

 

It was strange to me that I had to select "status" and "is not off" versus controller and "on" as the manual seemed to indicate. But this method does seem to work. 

 

I have two programs in the away folder so far.  One is a motion alert as follows:

If

Status 'Motion (Stairs)--Sensor' is On

Then

Send Notification to 'Bryan Text'

 

This seems to work okay but I noticed that if motion is detected soon after an initial motion, no text is generated. I guess this is a good thing to cut down on several alarms from a single intrusion.

 

My other program is to activate my hallway lights on and off several times to hopefully scare an intruder away.  I will later likely add an alarm or other deterrents.  It is as follows:

If

Status 'Hallway Kepad-Hallway' is Off

and Status 'Motion (Stairs)--Sensor' is On

Then

Repeat 6 times

Set 'Hall Keypad-Hallway' Fast On

Set 'Hall Keypad-Hallway' Fast Off

Wait 1 second

 

So my question is two-fold. Is the above method the best way to get these results; and more importantly is there a way to introduce some kind of delay for these programs to run once I hit the away keypad controller to put these programs in a run status?  The problem is that as soon as I hit the keypad away controller button I will get a text alert and hallway lights to blink on and off before I can even get out of the house due to the motion sensor being near the controller keypad.  Would be nice if I can hit the away controller and have a Then statement to add a wait period say 30 seconds or a minute. I don't see where I can add  a "then" statement of the folder conditions program where I know they have wait options  Any ideas?  I do have two door sensors on order to make the system more robust.

Edited by panzer948
Posted

I don't recall that there is the option for a program to disable a folder, but there IS an option to disable programs.  The way I see it, you have, thus, two choices.  Create a variable (I will call it "$away").  Then create a program:

 

If

Status 'Hall Keypad-Hallway / Hall Keypad-Away' is not off

Then

wait 10 minutes

 "$away" = 1

else

$away = 0

 

Modify your folder condition

If

Status '$away' = 1

Then

run programs in this folder

 

The second option would eliminate the variable and folder.  So, get rid of the folder and keep the existing two programs out in the open.  Then, create this program:

 

If

Status 'Hall Keypad-Hallway / Hall Keypad-Away' is not off

Then

wait 10 minutes

disable motion alert program

disable other program

else

enable motion alert program

enable other program

 

Pick one of these options that looks good to you.

Posted

Okay, thanks for quick reply.  I like the idea of adding variables, altough I haven't explored using them yet and didn't understand the example in the manual.  I will give that first option a go to see how it works.

Posted (edited)

Wow, I am at a loss on creating a varibable.  I understand how to name it but that's about it.  So should this be a integar or state variable and what values do I add  in the "Init" and "Value" columns?  I tried naming it $away but it said I couldn't use a number in the name (I assume that was the $ symbol).  Sorry I am such a noob on variables. New to programing.

 

Also, if your first program suppose to be in the Away folder or outside of it.

Edited by panzer948
Posted

If you are testing for the value of a variable and are using something else as a trigger, then use an integer variable.

 

If you want the program to run any time the variable changes to (or from) a particular value, then use a state variable.

 

IF

        control device is turned on

   and integer variable is value

 

THEN

        do this

 

IF

       state variable is value

 

THEN

        do this

Posted

I see. Starting to make sense now with variables.  Can someone possibly give an example of using the variable using the example in original question like the 2nd poster suggested?  That would be great.  Thanks again.

Posted (edited)

A variable is not needed

 

IF

        Control 'Keypad Button" is switched ON

 

THEN

        Wait hours minutes seconds

        enable away program

 

ELSE

        disable away program

 

 

But, if you want one, then

 

IF

        Control 'Keypad Button" is switched ON

 

THEN

        Wait hours minutes seconds

        Set state variable to x

 

ELSE

        Set state variable to y

 

 

Away program

IF

        state variable is x

Edited by stusviews
Posted

I am away right now, so I cannot confirm on my admin panel. Have you created the variable yet. Is it a state variable?

 

If your intention is to continue using the folder to enable or disable your two programs, I believe all you would do would be create a condition, based on the variable being = 1. The exact syntax will take care of itself, from the selection boxes available.

 

Then you would simply create a whole new program:

 

If

Status hall keypad is not off <<<<must use STATUS here

Then

Wait hh.mm.ss <<<<pick your time

Set variable =1 <<<enables folder

Else

Set variable =0 <<<or anything other than 1

 

If you are taking the folder approach, there is no need to include the variable in your two programs within the folder.

Posted (edited)

I believe the ISY will add the preceding $ to the variable name.

 

I would put initial value as 0. This is the value that will be assigned if the ISY reboots for whatever reason (such as power interruption). I assume you are home more than away, so this seems like the natural starting point.

 

There is a way to go through a power interruption and keep your variable, but I suggest getting this working first without worrying about such things, then we can talk about thenext steps.

 

First program should be outside the folder.

Edited by oberkc
Posted

It's allowable to use a variable as a condition for the program(s) in a folder to run.

Posted

Thanks for all the pointers. I'm away from home at the moment but will give it a go when I get back this afternoon.  I will report in what I end up using.

 

Thanks,

  • 2 weeks later...
Posted (edited)

Hi,

 

As indicated above, I have a keypad controller button assigned to away (toggled on and off) that I want to press each time I leave the house (like your standard alarm system). I thought I followed some of the advice posted above to get a delayed start of several programs when I exit the house. Attached is an image of the program I setup to activate all the various programs (3 motion/door notifications, curtesy lights to come on if between dusk/dawn, and a flash of lights like an alarm).  I have all my "away" programs in a separate folder.

 

 

My away folder has the attributes shown on the second attachment.

 

 

Today when leaving I noticed it still doesn't seem to be following the wait period before programs activate.  Both the lights flashed soon after I pushed the away keydpad (interior motion detected) and when leaving the house withing 1.5 mins I received a text message that my door was open and my hallway lights came on (due to program running during away status to activate notificaiton and hallway light upon open door sensor between dusk/dawn).  Basically everything is working except that 1.5 min. wait period.  Any suggestions on what I could do to get this.  I didn't try using variables yet since I am not as familiar with that setup.

 

post-6109-0-74327300-1421710166_thumb.jpg

post-6109-0-59791800-1421710186_thumb.jpg

Edited by panzer948
Posted

Perhaps the question is whether the programs are ever DISABLED.  My guess is not.  Your first program will never run FALSE, unfortunately.  Perhaps if you change CONTROL to STATUS, you may have better luck.

 

In the end, I think the wait period is happening, but the programs were never disabled, so waiting a period of time to enable a program that is already enabled will appear to have no effect. 

 

It is easy enough to check.  In the program status, do you see any of these programs being disabled? 

Posted

Good point about the first program.  I changed control to "status is not off" in the first program but the status is always enabled (true).  However, the good news it that the wait period appears to be working now.  Just tried it and the program status indicated it was running the "then" under activity and I could open my door and setoff motion detector without receiving notifications during that 1.5 min. period. As soon as 1.5 min. elapsed; I could trigger them and receive notifications as planned.  I will do more tests tomorrow.  I guess using Control to On was the problem.  I need to reread what Status actually means.

 

See attached pic for new configuration of first program while keypad controller is set to "away".

 

Thanks,

post-6109-0-68905100-1421728007_thumb.jpg

Posted

CONTROL requires the the device itself issue the signal. The device will issue the signal every time, no matter the state of the device.

 

STATUS will issue the command only if the state of the device changes. But any device (i.e., controller) can change the state. It does not have to be the device itself.

Posted (edited)

In addition to stusviews points...

 

CONTROL conditions also trigger only upon receipt of anticipated command. "Control On" will trigger only upon receipt of an ON command. Thus, when such is the sole condition for a program, it can never run false.

 

On the other hand, status conditions will trigger upon ANY change in status and can run true or false by themselves.

Edited by oberkc
Guest
This topic is now closed to further replies.

×
×
  • Create New...