Jump to content

How do I keep time range from triggering program?


sorka

Recommended Posts

Posted

The below program triggers every day at 10 minutes after sunset if I have a garage door open. How can I make it so the time range is not a triggering even but simply a condition check when either door status is switched off? Do I create a parent folder that just has the time range only and put the program in that?

 

Garage Door Night Opens - [ID 0015][Parent 0010]

If
        From    Sunset  + 10 minutes
        To      Sunrise - 10 minutes (next day)
    And (
             'Garage Door 2-Status' is switched Off
          Or 'Garage Door 1-Status' is switched Off
        )
 
Then
        Run Program 'Front Flood Timer Override' (If)
        Set 'Breezeway' On
        Set 'Garage Main' On
 
Else
   - No Actions - (To add one, press 'Action')
 

Posted (edited)

I don't think there is a way to make the time range not a trigger when used in a program.  Creating a folder that uses the time range as a condition would in theory do what you want, as the state of a folder going from FALSE to TRUE does not trigger the programs within (i.e. the programs are now allowed to run, but won't until one of their own triggers fire).

Why do you care if the program triggers every day at 10 minutes after sunset?  Since you're using "switched Off" and not "Status is Off", it will just run the ELSE which is blank.

Edited by kclenden
Posted (edited)

It runs every day if the garage door is already open. So maybe that's a bug since it shouldn't unless the status actually changes which it isn't. This didn't used to happen. The program has been unchanged for 10 years and this issue only started happening after updating to v5.

Edited by sorka
Posted

Switched off refers specifically to receiving an "Off" command from a device so it won't matter whether the garage door is already open.  I doubt it's a bug, but just in case I created a test program to see what happens on my system:

New Program - [ID 00A2][Parent 0001]

If
        From    Sunset  +  4 hours  and 43 minutes
        To      Sunrise - 10 minutes (next day)
    And (
             'ST-Overhead Light' is switched Off
          Or 'DR-Chandelier' is switched Off
        )
 
Then
        $sTest  = 0
        $sTest  = 1
 
Else
        $sTest  = 0
        $sTest  = 2
 

It worked exactly as expected - at 10:15PM the ELSE was executed even though one of my devices was already OFF.  So my guess is another program is the culprit.

  • Like 1
Posted
It runs every day if the garage door is already open. So maybe that's a bug since it shouldn't unless the status actually changes which it isn't. This didn't used to happen. The program has been unchanged for 10 years and this issue only started happening after updating to v5.

 

 

This should work fine so I agree with @kclenden that another program may be the issue. You mentioned this only started after upgrading to v5. Did you make note of what programs were disabled in 4.x? The upgrade can cause disabled programs to become enabled, so wondering if that’s what’s going on and another program is now enabled?

 

 

Sent from my iPhone using Tapatalk

  • Like 1
Posted

It's not another program. Sorting the run time shows that's the ONLY program that ran recently when it happened and there is no other program that calls that program. 

Posted
4 minutes ago, sorka said:

It's not another program. Sorting the run time shows that's the ONLY program that ran recently when it happened and there is no other program that calls that program. 

Do a program search to find any occurrence of the device that is operating not as expected.

  • Like 1
Posted

Time triggers can be stopped by disabling the program. However the other triggers need to be enabled to start the program so...it can be done with two programs

 

Garage Door Night Opens - [ID 0015][Parent 0010]
If
            'Garage Door 2-Status' is switched Off

          Or 'Garage Door 1-Status' is switched Off

Then
        Run Program2 (If)
Else
   - No Actions - (To add one, press 'Action')

 

Program2 [NOT ENABLED]
If

        From    Sunset  + 10 minutes
        To      Sunrise - 10 minutes (next day)
Then
        Run Program 'Front Flood Timer Override' (If)
        Set 'Breezeway' On
        Set 'Garage Main' On
Else
   - No Actions - (To add one, press 'Action')

  • Like 1
Posted (edited)
17 minutes ago, sorka said:

Sorting the run time shows that's the ONLY program that ran recently when it happened

So the "Last Run TIme" showed "Sunset + 10 minutes" and the "Status" showed "True"?  If that's the case then I would make sure I had the Event Viewer open and set to 3 shortly before Sunset + 10 minutes.  That will let you see what device communication happens at the time the program fires.  Or you could change the "From" and "To" times to do some quicker testing.

Edited by kclenden
  • Like 1
Posted (edited)

Your program should only be true at the moment of switching off one of those two devices, while simultaneously being within the time range.  Times alone can not make that program true.  If the program is firing true without an off press of the paddle, then something is either not presenting correctly in the forum or something is wrong in ISY.  However unlikely, a simple step I would take is to delete the program and write it again.  If something translated over wrong when you upgraded firmware, then deleting and re-writing should fix it.  

Aside from incorrectly firing true at the "from" time, does it still operate correctly when you press the "off" paddle at the various times?

EDIT: Just to clarify, I said "should only BE true . . ." This isn't really correct.  I should have said "should only TRIGGER true"    The program status will list as "true" when sitting idle between the two times and after either of the switches "off" paddle was pressed.  Despite being "true" it will only execute the "then" clause at the moment of pressing the "off" paddle.  

Edited by apostolakisl
Posted
Your program should only be true at the moment of switching off one of those two devices, while simultaneously being within the time range.  Times alone can not make that program true.  If the program is firing true without an off press of the paddle, then something is either not presenting correctly in the forum or something is wrong in ISY.  However unlikely, a simple step I would take is to delete the program and write it again.  If something translated over wrong when you upgraded firmware, then deleting and re-writing should fix it.  
Aside from incorrectly firing true at the "from" time, does it still operate correctly when you press the "off" paddle at the various times?
Agreed. Using statuses is a different matter but using control switched makes a one program logic possible

...and only if the else section is not used. The else section will run at both time nodes.

Sent using Tapatalk

Guest
This topic is now closed to further replies.

×
×
  • Create New...