Jump to content

being able to use "last run > x"


johnnyt

Recommended Posts

Posted

I think it would be nice to be able to use as a time condition a "program last run > x" because the current "last run + x" stops working under certain scenarios in my experience. I can't tell you exactly what scenarios cause it (I think a restart may be one) only that it's happened to me a number of times. Having "greater than" would make it error/idiot proof, I would think.

 

I moved to using a "wait" in a separate coutdown program (and have several of them now) rather than "time is / last run" condition but last run would be easier, more elegant (no additional programs required) and more beginner friendly (saving time learning things the hard way).

 

Posted

Had the same issue after re-starts.  After a ISY re-boot there is no "last run" and the ISY doesn't understand how to evaluate the condition.

 

Try marking your "last run" program as "run at startup" in the program summary screen.

Posted

Yeah, that works for the programs one WANTS to run at startup, which is not always the case. There are also some "countdowns" that I disable under certain circumstances, e.g. for 5 mins during the 3 am query all, etc. I can't remember how I tried to make that work (and other scenarios) but I gave up when some condition resulted in the program not working anymore.

 

 

Sent from my iPad using Tapatalk

Posted

Yeah, that works for the programs one WANTS to run at startup, which is not always the case. There are also some "countdowns" that I disable under certain circumstances, e.g. for 5 mins during the 3 am query all, etc. I can't remember how I tried to make that work (and other scenarios) but I gave up when some condition resulted in the program not working anymore.

 

 

Sent from my iPad using Tapatalk

 

OK, you got me on the fact that disabled programs will not trigger when re-enabled (yes I had to test that).

 

There are many ways of getting around the enable/disable issue.  Not sure if you have any other "special cases" - if you do, please post.

 

Keeping with the "last run" configuration - rather than using the timer within your program, specify a separate program as a timer only (no then/else clause).

 

Using one of my programs:

 

Security Poll (Run at startup)

If
        Time is Last Run Time for 'Security Poll' + 10 minutes
 
Then
        Run Program 'Security Ready to Arm' (If)
        Run Program 'Security Deck East' (If)
        Run Program 'Security Deck West' (If)
        Run Program 'Security BSMT West' (If)
        Run Program 'Security BSMT East' (If)
 
Else
   - No Actions - (To add one, press 'Action')
 


Would become the following two programs:

 

Timer1(Run at startup)

If
        Time is Last Run Time for 'Timer1' + 10 minutes
 
Then
   - No Actions - (To add one, press 'Action')
 
Else
   - No Actions - (To add one, press 'Action')
 


Security Poll (disable when you want, next trigger of "timer1" will re-start)

If
        Time is Last Run Time for 'Timer1' +  5 minutes
 
Then
        Run Program 'Security Ready to Arm' (If)
        Run Program 'Security Deck East' (If)
        Run Program 'Security Deck West' (If)
        Run Program 'Security BSMT West' (If)
        Run Program 'Security BSMT East' (If)
 
Else
   - No Actions - (To add one, press 'Action')
 


The advantage of the above is that you can specify the timer program as you main interrupt.  You can then specify many programs to execute at a scheduled time after the interrupt.  I used a similar setup with my old CM15a controller (X10) where multiple programs executing at the same time was an issue.  I can't say that I've seen any evidence of this issue with the ISY.  I have many polling programs that could line up and execute at the same time.  Haven't noticed an issue.

Posted

IndyMike, That's a good trick. Thanks.

 

I'll try to go through some of the scenarios that failed for me in the past and see if I can re-do one. It's probable there's some user training issue involved and a way out of it. I guess my point there is that it would have been nice to have avoided the problems and to maybe avoid catching newbies off guard if it's an easy fix (and perhaps it's not).

 

A scenario that would work with a "last run > x" and not with "last run = x " is when you want to use it with another AND condition that might not be true at exactly "last run + x" but would be true at "last run > x". With a separate timer program (that counts up), you can easily say "if counter > x" but that multi-program approach is less elegant and intuitive.

Archived

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

×
×
  • Create New...