ketchup318 Posted July 9, 2010 Posted July 9, 2010 Hi I have a motion sensor in the bathroom controlling the lights. But my problem is when I step in and out under a minute, while shutting off the lights, the lights turn back on. This is because the sensor is still on, I am shutting the lights off under the 1 minute sensor shutoff. I tried to use the ISY to turn off the motion sensor, but that doesn't seem to work. It just gives me a communication error. What the program does is it starts off at State 0. When there is motion, the State 1 condition activates the State 1 Body, which turns on the lights. The State 2 Condition is activated if the sensor times out and turns off. Then State 2 Body waits 20 minutes and then turns off the lights and returns to State 0. The 20 minute wait is for people in the shower. Now if you turn off the lights manually, it triggers State 3. It should turn off the lights and return you to State 0. But if you are in the bathroom for under a minute, the motion sensor is still on when you turn off the lights. So when you turn off the lights (sending back to State 0), State 1's condition is activated because the sensor is still on. I was hoping to get some advice on my program. I hope this isn't too complicated. I really like the whole States paradigm to programming. S0.Cond (Run at Startup) If then Run S0.Body (Then Path) else S0.Body If then Run S1.Body (Else Path) Run S2.Body (Else Path) Run S3.Body (Else Path) else S1.Cond If Program S0.Body is True and Status MotionSensor is On then Run S1.Body (Then Path) else S1.Body If then Run S0.Body (Else Path) Run S2.Body (Else Path) Run S3.Body (Else Path) Set MasterBathroom On else S2.Cond If Program S1.Body is True and Status MotionSensor is Off then Run S2.Body (Then Path) else S2.Body If then Run S0.Body (Else Path) Run S1.Body (Else Path) Run S3.Body (Else Path) Wait 20 minutes Set MasterBathroom Off Run Program S0.Body (Then Path) else S3.Cond If Control MasterBathroom is switched Off then Run S3.Body (Then Path) else S3.Body If then Run S0.Body (Else Path) Run S1.Body (Else Path) Run S2.Body (Else Path) Run Program S0.Body (Then Path) else
Sub-Routine Posted July 9, 2010 Posted July 9, 2010 Hi ketchup318, There is no way to set a motion sensor to off. I suggest you use Control rather than Status in your S1.Cond program. Rand
Recommended Posts