Jump to content

just curious...QueryAll program True


tome

Recommended Posts

Often when I am looking at program status I see that the QueryAll program is True. If I Run (If) on it it will go back to false, but I wonder why it is usually sitting there True, when it isn't 3am?

 

Does "If Time 3:00:00AM" get put into a cron job or something, that is, is it evaluated differently than other scheduling directives?

 

Tome

Link to comment
Often when I am looking at program status I see that the QueryAll program is True. If I Run (If) on it it will go back to false, but I wonder why it is usually sitting there True, when it isn't 3am?

 

Does "If Time 3:00:00AM" get put into a cron job or something, that is, is it evaluated differently than other scheduling directives?

 

Tome

 

Tome, As I understand it, being the programs are Event based, the "If" is evaluated when the "Event" (3am) occurs. So when 3am occurs the status becomes "True". Being there is no other event in the "If" statement that effects this program it will not be re-evaluated. When 3am rolls around, the program is evaluated again and the status again is "true".

 

If there were another part of the If condition such as...

 

If

Time is 3:00:00AM

And Status 'lamplinc' is On

 

Then

Set Scene 'My Lighting' Query

 

Else

- No Actions - (To add one, press 'Action')

 

 

Then the program would be re-evaluated when the lamplinc is turned on and then the program would become "false" because it's not 3am.

 

I guess it would make sense for the status of the program to go false at one second past 3am, but it doesn't work that way. It takes an event to occur to make the If statement False.

 

This program would turn the program status False when the time was 3:21AM. Of course if the query was still running at 3:21AM the program would Stop because the If became False.

 

If

From 3:00:00AM

To 3:20:00AM (same day)

 

Then

Set Scene 'My Lighting' Query

 

Else

- No Actions - (To add one, press 'Action')

Link to comment
Often when I am looking at program status I see that the QueryAll program is True. If I Run (If) on it it will go back to false, but I wonder why it is usually sitting there True, when it isn't 3am?

No mystery here: The program status simply indicates whether the THEN (True) or ELSE (False) section was used last time it ran. So, status of the Queryall program will normally always be True (assuming at least one 3am run has happened). When you run it manually, the time is not "right" and the ELSE runs, yielding FALSE status until the next 3am run.

Link to comment

Archived

This topic is now archived and is closed to further replies.


×
×
  • Create New...