Jump to content

Can I search all programs for variables?


Recommended Posts

Hello Community!

I am working to understand a complex (~60 program) system that came with my home as purchased.  The original owner set variables to run programs based on sunrise and sunset using about 10 variables.  I am trying to find where variables are set and called so I can understand the logic and intent of the programs. 

Is there a way to search programs for the existence of variables so I can trace when and why they are set without manual searches?  I can of course see when variables are changed in the variables window.

Many thanks to those more experienced than I!

 

Link to comment
6 minutes ago, kevinkaz said:

Just to clarify. Did you try to use the find/replace?

Find is generally what I'm needing/using.  I'm not sure I've ever had the need for Replace.  I will point out that that unless the Replace drop-down is changed it defaults to whatever the Find drop-down was last set, Replacing with the same is functionally equivalent to Find.

Link to comment
2 minutes ago, DPhelps said:

GREAT to know this trick.  My prior owner got pretty sophisticated with variables and some are making the lights do very strange things.

I you're taking over an existing system two important questions:

  1. Do you understand the difference between a State and Integer Variable? 
  2. Do you understand the concept of the Event Based programs in the ISY? 

Master those two topics before making too many changes.  ISY programs don't work like most new users expect them to.

  • Like 2
Link to comment
26 minutes ago, DPhelps said:

If this is using state variables to trigger events then I am familiar.

Yes.  The part that trips some up tho is (for example)

If

   $sDay= 1

then

    Turn on the light

     wait 1 hour

     Turn off the light

else

     (nothing)

If the light turns on and is waiting to turn off and the value of @sDay changes, the light won't turn off, as soon as the value of the $sDay changes the currently running program evaporates and a new copy executes, and since the value changed it's not 1 anymore, which means that the empty Else will run and immediately finish.

Another common trip up is Else runs more often than at first realized, especially in the case of compound IF statements.  When the value of any condition in the IF statement changes the entire IF is re-evaluated, whenever the result is false Else runs.

 

 

Link to comment
Guest
This topic is now closed to further replies.

×
×
  • Create New...