Jump to content

Program doesn't seem to do continuous calculation of Variables ??


telljcl

Recommended Posts

Still struggling with my programming here.

 

I seem to be having several issues, stemming from variables that I think should be "changing" in real-time actually NOT changing, so my programs don't work right.

 

For example:

 

(all are now "state" variables)

 

IF:

from 12am to 11:59:59pm, same day

 

Then: 

$den temp difference cool = $stat den indoor temp

$den temp difference cool -= $stat den cool setpoint

 

 

I don't get the proper $den temp diff cool number all the time.

 

It always works if I manually run the program.

 

Also, do any programs that act on the value of $den temp diff cool "see" the moving number as it is being calculated? I.e. before the calculation is "finished"? Because I feel like that may be happening as well.

 

Similarly, I need a number to constantly be calculated so the result can drive program starts.

 

IF:

from 12am to 11:59:59pm same day

 

Then:

$Number of High TD Units Running = $AC Den is High TD

$Number of High TD Units Running += $AC Upstairs is High TD

$Number of High TD Units Running += $Kitchen is High TD

 

Doesn't seem to provide a correct number of running units most of the time.  The units are "high TD" as determined by the below program:

 

IF:

$AC Den Cool Temp Diff >=2

  or

$AC Den Heat Temp Diff >=2

 

THEN:

$AC Den is High TD=1

 

ELSE:

$AC Den is High TD=0

 

Again, all of these variables are "state".

 

Any suggestions on what I'm doing wrong or a more streamlined approach?

 

Thanks for any help.

 

 

 

 

Link to comment

A program with:


 


IF


  from 12am to 11:59:59pm, same day


 


will run precisely two time a day - at 12:00:00 am where it will execute the "Then" branch and at 11:59:59 pm where it will execute the "Else" branch.


 


I think what you want is to add a Wait and a Repeat at the end of your Then branch to have it repeat every five minutes or so or change the condition so that it runs when the value of the $stat den indoor temp or $stat den cool setpoint variables change.


Link to comment

You need to find something that will trigger the whole mess. This would usually be your thermostat sensor.

 

If

   thermostat_temp < 9999

AND

   from 12am to 11:59:59pm same day

 

Then

   ...this runs every time the temperature changes and is less than 9999 degrees AND time is between 12 - 11:59:59PM

   ...do your temperature stuff here

 

Run

   ...this  runs at 11:59:59 PM every day. You can avoid code here.

 

 

Time spans act as program triggers twice per day. Time spans act as true conditions between the times.

Link to comment

 

A program with:

 

IF

  from 12am to 11:59:59pm, same day

 

will run precisely two time a day - at 12:00:00 am where it will execute the "Then" branch and at 11:59:59 pm where it will execute the "Else" branch.

 

I think what you want is to add a Wait and a Repeat at the end of your Then branch to have it repeat every five minutes or so or change the condition so that it runs when the value of the $stat den indoor temp or $stat den cool setpoint variables change.

 

 

Wow - my logic and that of ISY programming are way out of sync!  I just thought it would run if it was in that time period.  I guess I've only used specific times before, and not run into this.

 

Larry - thanks - that makes sense.

 

So can I "tabulate" a variable that another program is using to make a decision or do I have to use a second variable to equal the one I'm adding up so it changes to the proper value all at once ? Hope this makes sense - see above.

Link to comment

Archived

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


×
×
  • Create New...