62vetteefp Posted December 25, 2013 Posted December 25, 2013 I made up my first light programs and they seem to work. I have the two programs below controlling one light. To me they should conflict because the Else statements can happen at the same time as the If statements in the opposite program. To me they should have a conflict. How does ISY handle this? If From 5:30:00AM To Sunrise (same day) Then Set '24.82.CB.1 Library glass' On Else Set '24.82.CB.1 Library glass' Off Turns on and then off library lights in the morning If From Sunset - 10 minutes To 11:00:00PM (same day) Then Set '24.82.CB.1 Library glass' On Else Set '24.82.CB.1 Library glass' Off Turns on and then off library lights at night
LeeG Posted December 25, 2013 Posted December 25, 2013 There is no conflict between the two Programs. The first Program Else executes at Sunrise and turns the device Off. The second Program Else executes at 11PM and turns the device Off. Even if the two Programs were physically running at the same time only one Program can actually be executing statements at any given time. The ISY would send the commands to the device through the PLM which can only handle one Insteon command at a time. If I have missed the point please post back.
62vetteefp Posted December 25, 2013 Author Posted December 25, 2013 My issue was that the else OFF is all times other than the defined IF times. Program one says if it is not 5:30 am to sunrise then lights OFF. Program two says if it is not sunset to 11:00 then lights OFF. So during 5:30 to sunrise program one says lights ON while program two says lights OFF. AND during sunset to 11:00 program two says lights On and program one says lights OFF. What I think you are saying is that the program only executes during the IF time period stated. At sunrise time the lights go off and then the program does not run again until 5:30 the next day. right? Merry Christmas!!
LeeG Posted December 25, 2013 Posted December 25, 2013 You are absolutely right. A Program with a From/To time trigger is invoked twice. The Program is triggered at the From time, the If is True so the Then clause executes. The Program is triggered at the To time, the If is False so the Else clause executes.
apostolakisl Posted December 26, 2013 Posted December 26, 2013 As Lee said, you are right. The concept here is a trigger. ISY programs that are true or false are not enforced unless they are caused to run (triggered). So in a program that is a from/to program, there are only 2 triggers, the from and to times. At any other time it is as though the program doesn't exist. However, adding another clause in the program could change things. If Time is from 8am to 10 am And status of device x is off Then Do something Else Do something else Now realize that every time device x changes status the program will be triggered and the truth or falseness of the time being between (or not between) 8 and 10am will be important. Also there still would be no conflict with another program that also has time definitions on a device if it is idle (not being triggered). There would only be a conflict if 2 programs had the same triggers and different outcomes.
Recommended Posts