agent0014 Posted October 6, 2010 Posted October 6, 2010 I have a simple motion controlled program for my porch lights: If status 'Porch Sensor-Sensor' is ON and status 'Porch Lights' is not OFF and status 'KPL U1-A "Party"' is OFF Then set scene 'porch lighting' Fade Up wait 2 minutes Set Scene 'Porch Lighting' On so if I save and have the program run as is, it fades up the lights when the motion sensor is triggered, but never fades them back to the on level for "porch lighting" (which is 50%). Normally I'd just figure I did something wrong. However if I set the wait time in the "Then" section to something much shorter (15 or 30 seconds), the program runs exactly as I had hoped it would. I thought maybe it was colliding with another signal since my motion sensor is set to wait two minutes to send an off signal after it sees motion, but if I change the wait time to 1:50 or 2:10, it still doesn't work. Does anyone have any ideas on what's going on? Maybe someone has seen something like this before? I'd really like this to work... it's one of those "wow" things I get to impress my friends with. Any help is appreciated!
LeeG Posted October 6, 2010 Posted October 6, 2010 The If is reevaluated when it comes out of the Wait. Very likely the Motion Sensor is no longer ON after 2 minutes.
ergodic Posted October 7, 2010 Posted October 7, 2010 Any ISY program that changes the state of what also triggers it, is mostly doomed to inexplicable logic failure of some sort. Use two programs, one to trigger and one to test/execute. Leave the second disabled so it is only called explicitly by the trigger and not by ISY re-evaluation. Something like this: //P1: If status 'Porch Sensor-Sensor' is ON Then Run Program 'P2' (If Part) //P2: (leave disabled) If status 'Porch Lights' is not OFF and status 'KPL U1-A "Party"' is OFF Then set scene 'porch lighting' Fade Up wait 2 minutes Set Scene 'Porch Lighting' On
Sub-Routine Posted October 8, 2010 Posted October 8, 2010 Thanks ergodic for the clarification. There could also be an issue with the Fade Up command as I don't see it followed with a Fade Stop. I use three programs for our kitchen. Kitchen On If Control 'Kitchen Motion Sensor' is switched On Then Stop program 'Kitchen Low Off' Set Scene '~Kitchen Motion Fast' On Else - No Actions - (To add one, press 'Action') Kitchen Off If Control 'Kitchen Motion Sensor' is switched Off And Control 'Kitchen Motion Sensor' is not switched On Then Run Program 'Kitchen Low Off' (Then Path) Else - No Actions - (To add one, press 'Action') Kitchen Low Off If - No Conditions - (To add one, press 'Schedule' or 'Condition') Then Wait 30 seconds Set Scene 'Kitch Low' Off Else - No Actions - (To add one, press 'Action') Rand
Sub-Routine Posted October 8, 2010 Posted October 8, 2010 Thanks ergodic for the clarification. There could also be an issue with the Fade Up command as I don't see it followed with a Fade Stop. I use three programs for our kitchen. Kitchen On If Control 'Kitchen Motion Sensor' is switched On Then Stop program 'Kitchen Low Off' Set Scene '~Kitchen Motion Fast' On Else - No Actions - (To add one, press 'Action') Kitchen Off If Control 'Kitchen Motion Sensor' is switched Off And Control 'Kitchen Motion Sensor' is not switched On Then Run Program 'Kitchen Low Off' (Then Path) Else - No Actions - (To add one, press 'Action') Kitchen Low Off If - No Conditions - (To add one, press 'Schedule' or 'Condition') Then Wait 30 seconds Set Scene 'Kitch Low' Off Else - No Actions - (To add one, press 'Action') Rand
agent0014 Posted October 10, 2010 Author Posted October 10, 2010 wow thanks everyone! I got it working by breaking it out into ultimately three different programs. The first one picks up on the motion trigger and calls the second, which runs some additional checks and turns the light on and then waits the two minutes. Then it calls the third program wich either turns the lights off, or if the motion sensor has been tripped again, re-runs the second program. This seems to work MUCH better than just using one program.
Recommended Posts