Jump to content

Disable a program for a period of time


Quasmo

Recommended Posts

Posted

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.

Posted

I believe this will require a second program.

 

-Xathros

Posted

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.

Posted

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.

Guest
This topic is now closed to further replies.

×
×
  • Create New...