Jump to content

Status Field Question


mountainman3520

Recommended Posts

Hello, I think I understand the function of the "Status" field and the content makes sense for most of my programs. By sometimes the status shows something that isn't what I expected and I'd like to understand, since it probably means I don't fully understand how/when programs start and stop execution.

 

I believe the status field shows the current boolean (true/false) result of the IF condition in the program.

 

But here is an example of a program that is showing a "true" status even though it seems like this program's IF condition should be false:

 

If

Time is 3:00:00AM

Then

Set 'Therm Up - Main' Synchronize Clock

Set 'Therm Down - Main' Synchronize Clock

Else

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

 

I would have thought this program's status would flicker briefly to true at 3am, maybe only for 1 second because once it reached 3:00:01AM the condition would become false. The brief time in the true state would trigger execution of the then actions, which might continue after the IF was no longer true if they took longer than 1 second.

 

Am I correctly understanding the operation or am I missing something?

 

If this is right, why does the state continue to show as true all day?

 

Thanks.

Link to comment

The If section is evaluated only when the Program has been triggered. The Program will trigger once only at 3 AM (perhaps not a good time since the ISY QueryAll Program also runs at 3 AM). The If will be True as it is 3AM and the Then clause will run.

 

Because the Program is not triggered again until the next 3AM there is no evaluation of the If section to False.

 

Again, the If section is evaluated only when the Program is triggered. A specific time triggers the Program only once at the specified time and the If will be True.

 

A From/To Time in the If section triggers the Program twice. Once at the From time when the If is True (assuming no other conditions in the If) and once at the To time when the If is False as the time is no longer within the From/To time range.

Link to comment

To LeeG's response, I wish to specifically state that status field represents results when the program was last triggered. This can also include being triggered by other programs, and can be affected when a program is disabled.

Link to comment

Archived

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


×
×
  • Create New...