Jump to content

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


telljcl

Recommended Posts

Posted

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.

 

 

 

 

Posted (edited)

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.


Edited by kingwr
Posted (edited)

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.

Edited by larryllix
Posted

 

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.

Guest
This topic is now closed to further replies.

  • Recently Browsing

    • No registered users viewing this page.
  • Who's Online (See full list)

    • There are no registered users currently online
  • Forum Statistics

    • Total Topics
      37.1k
    • Total Posts
      371.5k
×
×
  • Create New...