grossmd Posted September 29, 2013 Posted September 29, 2013 I have three garage doors, each with an I/o device attached. I wrote a simple program if: sensor 1 or sensor 2 or sensor 3 is on Then: turn on appliance module, wait one minute, turn appliance module off. The program turns the module on but not off. The module never fails in any other program/scene so I don't think its a communication issue. Further, if I change the program to read then: turn on appliance module and run program 2 "then" where program 2 then states " wait one minute then turn off appliance module" it works every time. Any ideas? thanks.
oberkc Posted September 29, 2013 Posted September 29, 2013 Without seeing your program, it will probably be hard to state definitively. It could depend on whether you use status or control. It could be that something is interrupting the wait statement. It could be that you have scenes in play. It could be something else.
grossmd Posted September 30, 2013 Author Posted September 30, 2013 the program is essesntialy written exactly as I descibed. It does seem that the wait cycle is being interupted but I didnt think that was possible. Shouldnt the program run through even if the original "if" condition changes during the wait?
LeeG Posted September 30, 2013 Posted September 30, 2013 One of the Status conditions being checked is changing state before the Wait expires. The Wait and Repeat statements can be interrupted by a change in Status the If is checking. The solution is what you implemented, put the Wait in the second Program where it will not be interrupted. The UDI Wiki covers the operation of the Wait and Repeat and that they can be interrupted. It is always good to post the actual Program. Right click the Program name, select Copy to Clipboard. You have already confirmed the problem and solution by using two Programs.
grossmd Posted September 30, 2013 Author Posted September 30, 2013 Thanks . I will have to re- read wiki
Recommended Posts