Jump to content

Some lines in a program are not executed


ISY Newbie

Recommended Posts

Posted

This is driving me nuts.

I have lines to turn on multiple lights at night if the conditions are met.

But not all of the lights in the "then" section are turned on.

It's as if ISY just randomly skips lines in the program.

What can be the problem?

Posted
This is driving me nuts.
I have lines to turn on multiple lights at night if the conditions are met.
But not all of the lights in the "then" section are turned on.
It's as if ISY just randomly skips lines in the program.
What can be the problem?

Most likely communication issue from ISY to the lights instead of program steps being skipped. You can post program.

Test turning Lights off and on from the admin console.
Posted

I've had similar problems.  I put a "wait" command between the individual lights.

Turn on light one

Wait 5 seconds

Turn on light two.

Hope that helps.

Posted
I've had similar problems.  I put a "wait" command between the individual lights.
Turn on light one
Wait 5 seconds
Turn on light two.
Hope that helps.

I’ve used the same method and don’t necessarily disagree. Just know if any of the conditions that caused the currently running Then or Else path change, the program will reevaluate and may stop or take the other path depending on values.

To OP posting a copy of program may be useful.
Posted

When you have a list of Insteon devices to operate, and one hiccoughs, the Insteon protocol will retry three times, each time waiting for a confirmation.
Then ISY's cache wil overflow and it will have to drop something = missing operations.

Like the rest said....insert some Wait 1-2 seconds every couple of lines and post your program. Right click on the admin tree name of program and "copy to clipboard". Paste into your  post using the code feature = '<>'

Posted

I am one of the people who use scenes, rather than calling individual devices, in programs.  I don’t know whether it will solve your problem, bit it is worth trying.  Put the lights listed in your program into a single scene and call the scene via program.  

  • Like 3
Posted
11 hours ago, hart2hart said:


I’ve used the same method and don’t necessarily disagree. Just know if any of the conditions that caused the currently running Then or Else path change, the program will reevaluate and may stop or take the other path depending on values.

To OP posting a copy of program may be useful.

 

NightLights

If
        From    Sunset 
        To      Surrise (next day)
    And (
             Status  'Exterior / Lights1' is Off
          Or Status  'Exterior / Lights2' is Off
          Or Status  'Exterior / Lights3' is Off
        )
 
Then
        Wait  2 minutes 
        Set 'Exterior / Lights 1' 40%
        Set 'Exterior / Lights 2' 40%
        Set 'Exterior / Lights 3' 40%

Else
   - No Actions - (To add one, press 'Action')

This is the same program that I posted in another thread.

Sometimes ISY will forget to turn on Lights 2 and/or Lights 3.

Posted
7 hours ago, oberkc said:

I am one of the people who use scenes, rather than calling individual devices, in programs.  I don’t know whether it will solve your problem, bit it is worth trying.  Put the lights listed in your program into a single scene and call the scene via program.  

Is scene less prone to the kind of problem discussed here?

Posted
 
NightLightsIf       From    Sunset        To      Surrise (next day)   And (            Status  'Exterior / Lights1' is Off         Or Status  'Exterior / Lights2' is Off         Or Status  'Exterior / Lights3' is Off       )Then       Wait  2 minutes        Set 'Exterior / Lights 1' 40%       Set 'Exterior / Lights 2' 40%       Set 'Exterior / Lights 3' 40%Else  - No Actions - (To add one, press 'Action')

This is the same program that I posted in another thread.
Sometimes ISY will forget to turn on Lights 2 and/or Lights 3.


Try taking out the “and status is off section” out and see if it turns on all 3 lights. The first set to 40% makes the if condition no longer true. I thought it would be atomic transaction unless it hit a wait but worth trying. As a simple test select the program and select run then.
Posted
11 hours ago, hart2hart said:


I’ve used the same method and don’t necessarily disagree. Just know if any of the conditions that caused the currently running Then or Else path change, the program will reevaluate and may stop or take the other path depending on values.

To OP posting a copy of program may be useful.

 

NightLights

If
        From    Sunset 
        To      Surrise (next day)
    And (
             Status  'Exterior / Lights1' is Off
          Or Status  'Exterior / Lights2' is Off
          Or Status  'Exterior / Lights3' is Off
        )
 
Then
        Wait  2 minutes 
        Set 'Exterior / Lights 1' 40%
        Set 'Exterior / Lights 2' 40%
        Set 'Exterior / Lights 3' 40%

Else
   - No Actions - (To add one, press 'Action')

This is the same program that I posted in another thread.

Sometimes ISY will forget to turn on Lights 2 and/or Lights 3.

Posted
 
NightLightsIf       From    Sunset        To      Surrise (next day)   And (            Status  'Exterior / Lights1' is Off         Or Status  'Exterior / Lights2' is Off         Or Status  'Exterior / Lights3' is Off       )Then       Wait  2 minutes        Set 'Exterior / Lights 1' 40%       Set 'Exterior / Lights 2' 40%       Set 'Exterior / Lights 3' 40%Else  - No Actions - (To add one, press 'Action')

This is the same program that I posted in another thread.
Sometimes ISY will forget to turn on Lights 2 and/or Lights 3.


Either use a scene, or... This is a perfect candidate for 2 programs. Plenty of examples on this forum. Since you already know what you want to do, in your case I like to copy the program then modify them. Program 2 should be disabled so it doesn’t run by itself (calling from program 1 will still work)

Program 1
Keep your trigger conditions
Then: run program 2 (then clause)

Program 2 (copy of original for easy transfer)
If is blank / empty
Keep the “then” actions from your original programs.

I think others are correct that your program re-evaluates and stops when light 1 turns on. The 2 (or 3 or 4 etc - in some cases you can “cascade” the if statements as you get the hang of it) program technique is a good way to handle this.


Sent from my iPhone using Tapatalk
Posted
11 hours ago, ISY Newbie said:

Is scene less prone to the kind of problem discussed here?

It depends upon which problem you refer.  I had always hoped that insteon includes methods for avoiding signal collisions such as those discused here, but experience and suggested solutions suggests otherwise.  I expect using a scene would be better for aoiding these signal collisions, yes.  However, if your problem is general communication problems, I doubt that using a scene will help much.

one advantage to using a scene, all other things being equal, is that all you lights will generally respond at the same time.  

Guest
This topic is now closed to further replies.

×
×
  • Create New...