satwar Posted December 5, 2015 Posted December 5, 2015 I would like to turn a Insteon outlet on for 30 minutes, then off for 5 minutes, then repeat for the duration of the day.
paulbates Posted December 5, 2015 Posted December 5, 2015 (edited) This is the logic for the "then" part to cycle the outlet on and off. Every 35 minutes, while the program is running, it will turn the outlet on for 30 minutes, and then off again. At the 35 minute mark, it starts over. I'm not sure what condition you would want to initiate the program, so I added a variable that would need to be set to one so the program runs. If $CycleOutlet = 1 Then Repeat Every 35 minutes Set 'Outlet' On Wait 30 minutes Set 'Outlet' Off Else - No Actions - (To add one, press 'Action') Edited December 5, 2015 by paulbates
jerlands Posted December 5, 2015 Posted December 5, 2015 Another option... Create a State Variable e.g., s.DaylightHours two programs.. TimerTest_A - [ID 00D3][Parent 00CC] If From Sunrise To Sunset (same day) Then $s.DayLightHours = 1 Else $s.DayLightHours = 0 TimerTest_B - [ID 00DA][Parent 00CC] If $s.DayLightHours is 1 Then Repeat While $s.DayLightHours is 1 Set 'Outlet Family Room' On Wait 30 minutes Set 'Outlet Family Room' Off Wait 5 minutes Else Set 'Outlet Family Room' Off I did this in firmware version 5.0.2 and believe the same options are available under other versions. Not tested though Jon...
satwar Posted December 6, 2015 Author Posted December 6, 2015 The Repeat command looks good, but I sure can't get it to work. I've attached the program I'm using. The outlet comes ON and then goes OFF okay, but seems to get stuck on OFF because it won't come back ON again. Repeat Command.txt
paulbates Posted December 6, 2015 Posted December 6, 2015 Based on how its written, it will take 10 minutes for it to come back with a 25 minute wait (as opposed to 30). Its not running again after 10 minutes, or 35 minutes after starting the program? Control - [ID 005D][Parent 005B] If $Allow_to_Run is 1 Then Repeat Every 35 minutes Set 'Main Bedroom / Bedroom Humidifier' On Wait 25 minutes Set 'Main Bedroom / Bedroom Humidifier' Off Else - No Actions - (To add one, press 'Action')
jerlands Posted December 6, 2015 Posted December 6, 2015 Is your condition "$Allow_to_Run is 1" still true? I know it needs to be a State variable to trigger the program but I don't think it needs to be a State variable to continue running once started (the wait causes reevaluation of the condition.) Jon...
larryllix Posted December 6, 2015 Posted December 6, 2015 (edited) Watch the program icons to see if it stays solid green. If it does then the Then section is still running. You may have to enable this feature from a pulldown menu in the Admin Console. There is also a problem with the timing as given. After the 25 minutes of On you will have to wait another 35 minutes for the repeat Wait. The ISY Repeat construct has a syntax error built into it. Repeat ever 35 minutes really means the equivalent of "Repeat with a 35 minute Wait". With a 25 minute Wait inside the loop, the total time would be 60 minutes. Edited December 6, 2015 by larryllix
jerlands Posted December 6, 2015 Posted December 6, 2015 Christmas stocking stuffers? Looks like you've already got 'em printed up Jon...
stusviews Posted December 6, 2015 Posted December 6, 2015 To set the program status colors, right click on Programs, select Status Icons
satwar Posted December 6, 2015 Author Posted December 6, 2015 I'm sorry, but this is just too hard for me to understand. I can get the repeat command to work by specifying the number of repeats to perform. Thanks for the offers of help.
larryllix Posted December 6, 2015 Posted December 6, 2015 (edited) I'm sorry, but this is just too hard for me to understand. I can get the repeat command to work by specifying the number of repeats to perform. Thanks for the offers of help. Back to basics. Control - [iD 005D][Parent 005B] If $Allow_to_Run is 1 Then Repeat Every 5 minutes <---- "Every" is a syntax error. It's just another 5 minutes wait Set 'Main Bedroom / Bedroom Humidifier' On Wait 30 minutes <--- total loop time is now 35 minutes Set 'Main Bedroom / Bedroom Humidifier' Off Else - No Actions - (To add one, press 'Action') Now right click on the program name and select 'run then' Here is a version using the Repeat x times construct you mentioned. This will give a fresh start again each day just after midnight. Again you can jump start the program by right clicking the program and selecting "run then" from the pulldown menu. If Time is 12:01 AM <---- any time of day will do Then Repeat 41 times <---- runs just short of 24 hours Set 'Outlet' On Wait 30 minutes Set 'Outlet' Off Wait 5 minutes Else - No Actions - (To add one, press 'Action') Any better for you? Edited December 6, 2015 by larryllix
satwar Posted December 6, 2015 Author Posted December 6, 2015 Yes I think I got it, thank you. I never thought the REPEAT EVERY x MINUTES process would be so hard. The REPEAT FOR x TIMES process is very clear and I built it correctly at first try.
larryllix Posted December 6, 2015 Posted December 6, 2015 Yes I think I got it, thank you. I never thought the REPEAT EVERY x MINUTES process would be so hard. The REPEAT FOR x TIMES process is very clear and I built it correctly at first try. Great! Both of them have syntax errors in the wording as doesn't it doesn't match the value implied. If you would have waited the 35 minute for the cycle to repeat you would have seen it happen.
Recommended Posts