Quasmo Posted May 20, 2014 Posted May 20, 2014 I want to have a program run and then disable it for 2 hours. Is there a way to do this with a single program? I know I can create a second program and then run a wait, but did not know if there was something I was missing.
Xathros Posted May 20, 2014 Posted May 20, 2014 I believe this will require a second program. -Xathros
cmccartney Posted May 21, 2014 Posted May 21, 2014 or put it in its own folder and put the times in folder conditions.
MaddBomber83 Posted May 21, 2014 Posted May 21, 2014 Give some more details on what you are trying to accomplish. At a generic level, there are several ways to accomplish this. You can disable a program so that it does not auto start, but still run it from intself. As an example: Disabled: Equalize If Status 'Office Light - Office Light / Office Light - Fan High' is not Off Or Status 'Closet Light - Closet Light / Closet Light - Fan High' is not Off Or $Int_Main.TStat_Status is $Int_Main.TStat_SP.Cool_Actual Or $Int_Main.TStat_Status is $Int_Main.TStat_SP.Heat_Actual Then Set 'Main - Thermostat' Fan On Wait 10 minutes Run Program 'Equalize' (If) Else Set 'Main - Thermostat' Fan Auto Wait 10 minutes Run Program 'Equalize' (If) This will run every 10 minutes, but will not run when the status of things change because it is disabled. A, dynamic timer can be had by disabeling the program you want to run, and then placing the start conditions for it including a time since last run to the calling program: This has the start conditions including last run: If Status 'Main - Thermostat' > 0% (Humidity) And Time is Last Run Time for 'Timer' + 1 minute Then Run Program 'Timer' (If) Else - No Actions - (To add one, press 'Action') This is disabled and will get ran only when those start conditions are true (we can even place more start conditions here if you want: If - No Conditions - (To add one, press 'Schedule' or 'Condition') Then - No Actions - (To add one, press 'Action') Else - No Actions - (To add one, press 'Action') Or, you can call enable/disable from your scheduler program.
MaddBomber83 Posted May 21, 2014 Posted May 21, 2014 Just to hit one more single program 'disable' You can use a variable as well. If Status 'Main - Thermostat' > 0% (Humidity) And $Int_17 >= 60 Then $Int_17 = 0 Else Wait 1 minute $Int_17 += 1 Run Program 'Test' (If) This is similar to the first example where the program is disabled, but calls itself. The difference is that this is enabled (so changes in the status will cause it to run), but the true condition can only be met 60 minutes after the last completion of the Then Path.
Recommended Posts