paauto Posted November 10, 2013 Posted November 10, 2013 I attached an I/O Linc (the device is named "Alarm System Siren") to my burglar alarm system such that when the alarm siren is active it closes a circuit tied to the I/O Linc, thus turning the I/O Linc on. I have a program set up so that when the "Status of Alarm System Siren is On" it sets the scene "House Lights" (which are essentially all the lights in the house) to on. The program then waits 30 minutes and then sets "House Lights" to off. Here's my issue. Today we were out of the house and the wind blew a door open, triggering the alarm. This happened at noon. I received a call from the security monitoring company (and an email from my ISY thanks to another program I set up to notify me of alarms). Within 5 minutes the police arrived and determined it was not an issue, just the wind. I remotely shut off the alarm (via another app). At 1 PM I checked the status of the ISY via my phone and all the house lights were still on. I manually shut them off. So, my question is why didn't the ISY shut them off? I checked the log and the events turning things on are as they should be. At noon the Alarm System Siren was set to On and the ISY dutifully sent me an email and turned the house lights on. At 12:05, when I remotely shut off the alarm, I see in the log that the Alarm System Siren was set to Off. But, there was no command at 12:30 to set House Lights to Off. The next entry is 1 PM when I manually set that scene Off. By my turning off the alarm system, and therefore setting the I/O lince Alarm System Siren to Off somehow end the program, thus leaving the House Lights scene on? If so, what's the suggested fix? Many thanks in advance.
LeeG Posted November 10, 2013 Posted November 10, 2013 When the alarm condition was reset the Program was triggered again because of the change in I/O Linc Sensor Status in combination with the Wait. Whenever a Wait or Repeat is executed the Program can be retriggered when Status changes. The If is now False driving the Else so the statement(s) after the Wait are not executed. One solution is to split the Program into two Programs. The first Program with the If section invokes Program Two which has the Wait. That way when Program one is triggered with a False evaluation because the Sensor Status changes it cannot interrupt the Wait in Program two.
paauto Posted November 11, 2013 Author Posted November 11, 2013 Thanks. Will try that and report back.
Recommended Posts