user181 Posted December 29, 2015 Posted December 29, 2015 Hello, I am new to this and have an ISY994i and an On/Off plugin module. I would like to set up a repeating on/off schedule for the module, but also have the capability to manually operate the module, with it still responding to the next scheduled command. I have created a simplistic schedule, but if I try to turn off the module manually when it is scheduled to be on, it naturally reverts back on. So, I realize I need some more conditions in the logic to achieve what I want, but I'd like to make sure if this is even possible. It seems to me that I'd want to give a higher precedence to manual operations of the module, but I haven't found a way to do that so far. I'd appreciate any suggestions or references you could provide, or a recommended sequence of events. Thank you!
stusviews Posted December 29, 2015 Posted December 29, 2015 If Control 'manual controller' is switched On and Control 'manual controller' is not switched off Then disable schedule program Else enable schedule program The statement in blue causes the Else statement to execute when the device is manually switched off.
user181 Posted December 30, 2015 Author Posted December 30, 2015 That worked out -- thank you! To clarify my understanding, in the context of the ISY controller, are programs limited to standalone IF-THEN statements? I take it that subroutines aren't possible within the same program? That is OK; I just want to be sure I understand the structure/boundaries for program design & creation. Thanks again!
oberkc Posted December 30, 2015 Posted December 30, 2015 There are no subroutines, per-se, but one can call other programs from a program statement. Programs, individually, are IF-THEN-ELSE. I expect no problem creating a program that would accomplish your goals. If your current program forces a device to revert to a prior state, then I suspect your program is more complicated than it needs to be given your stated objectives. A simple program such as: If Time is from midnight To noon (next day) Then Turn on lights Else Turn off lights Would accomplish exactly what you describe.
apostolakisl Posted December 30, 2015 Posted December 30, 2015 I am curious to see what kind of program you wrote that un-does a manual intervention. Programs only run with triggers. A trigger in a from x to y time are the times x and y. All other times the program sits idle no matter what. You must have included the status of the lights you are controlling within the program for it to trigger the program when you manually change the light. I am curious as to what it is you are doing, mostly because it probably means you have over-thought the problem.
user181 Posted December 30, 2015 Author Posted December 30, 2015 (edited) I implemented what stusviews recommended, and it works fine. I wanted to be able to have the option of turning the lights on or off manually, while preserving the scheduled on/off times. For example, if the lights were on, but I wanted to manually shut them off early in an atypical circumstance, I wanted to be able to do that. Edited December 30, 2015 by user181
apostolakisl Posted December 30, 2015 Posted December 30, 2015 I implemented what stusviews recommended, and it works fine. I wanted to be able to have the option of turning the lights on or off manually, while preserving the scheduled on/off times. For example, if the lights were on, but I wanted to manually shut them off early in an atypical circumstance, I wanted to be able to do that. The program that oberkc wrote does exactly that with a single simple program. You must have something unnecessarily complex at present. Either that or you are looking for the program to do something more than you have noted here.
user181 Posted December 30, 2015 Author Posted December 30, 2015 I think I missed the distinction of the conditionals used in oberkc's program vs. mine. I now see that they used IF [time], whereas I was using IF [schedule]. I will retry this, paying closer attention to that. Thank you all for bearing with me.
oberkc Posted December 30, 2015 Posted December 30, 2015 (edited) You must have something unnecessarily complex at present. Either that or you are looking for the program to do something more than you have noted here. This is my concern, as well. Edited December 30, 2015 by oberkc
stusviews Posted December 31, 2015 Posted December 31, 2015 If Control 'manual controller' is switched On and Control 'manual controller' is not switched off Then disable schedule program Else enable schedule program The statement in blue causes the Else statement to execute when the device is manually switched off. That worked out -- thank you! To clarify my understanding, in the context of the ISY controller, are programs limited to standalone IF-THEN statements? I take it that subroutines aren't possible within the same program? That is OK; I just want to be sure I understand the structure/boundaries for program design & creation. Thanks again! Is the a difficulty with this simple program?
gages97 Posted December 31, 2015 Posted December 31, 2015 I have a mixed Insteon/X10 environment. For my outside lights the load is controlled by an Insteon device the control is from an X10 transmitter (address E3). If From Sunset To 11:00:00PM (same day) Or ( X10 'E3/On (3)' is Received And X10 'E3/Off (11)' is not Received ) Then Set 'Outside Lights' On Else Set 'Outside Lights' Off Outside of Sunset to 11pm the X10 transmitter turns off and on the light, but between sunset and 11pm it will not (overridden by the sunset to 11pm condition)
apostolakisl Posted December 31, 2015 Posted December 31, 2015 I think I missed the distinction of the conditionals used in oberkc's program vs. mine. I now see that they used IF [time], whereas I was using IF [schedule]. I will retry this, paying closer attention to that. Thank you all for bearing with me. You appear to have 3 programs where 1 would suffice. Also, you will soon learn that stufviews program does not fix your issue. There is no need to have a "schedule" program and a separate action program. I am also somewhat curious as to what your schedule program has in the if section that would trigger with manually control of the light causing it to revert back to the scheduled state. Furthermore, stusviews program would disable your schedule program by pressing the on paddle of your light. Unless you later press the "off" paddle, the schedule program will stay disabled forever and your lights will not do their next scheduled activity.
Recommended Posts