Jump to content

When should the "Enabled" button on a program be unchecked


jblackst5000

Recommended Posts

Posted

I just upgraded to 5.01.13C and everything seems to be working alright with the exception of some programs I wrote. I remember when I first wrote most of my programs and there were instances when I purposely did not want to check the "Enabled" button on that program. I forgot now why but am having problems with my garage door open/close programs. When I executed the program to open the left door both doors opened and then closed and opened again. It is almost like it was in some kind of an infinite loop. I use an I/O Link ver 36 as a relay and sensor.

Also, why does the icon on my of my programs now have a red left edge?

Any suggestions would be greatly appreciated.

 

Thanks,

Jim

 

Posted

the red left edge means the last time the program did something, it was the "else" clause.

disabling a program means it won't spontaneously run.  In other words, the "if" clause will only check its own conditions when something else tells it to "run if".  Typically another program or less likely from an outside REST command or by someone manually telling it to "run if/then/else".

Posted (edited)

Jim

If a program is disabled, it will not automatically run. Typically you do this when you call the disabled program (Run If, then or else) from another program. It will run if called from another program, even if its disabled.  If you look through your garage door programs and find statements that say Run if, (or then or else) <program name> chance are that the program listed there should be disabled.

Paul

Edited by paulbates
Posted

Thanks so much for the feedback. Here is another example of a program that use to always work before I upgraded to 5.01.13C. I actually copied this program from Wiki.

--------------------------------------------------------------------------------

Turn Kitchen Stove Light Off - [ID 0050][Parent 0055]

If
        'Kitchen-Motion-Sensor' Status is Off
    And 'Kitchen Stove Light Dimmer' Status is 99%
 
Then
        Set 'Kitchen Stove Light Dimmer' Off
 
Else
   - No Actions - (To add one, press 'Action')

-----------------------------------------------------------------------------

Turn Kitchen Stove Light On - [ID 004E][Parent 0055]

If
        'Kitchen-Motion-Sensor' Status is On
    And 'Kitchen Stove Light Dimmer' Status is Off
 
Then
        Set 'Kitchen Stove Light Dimmer' On Level 99%
 
Else
   - No Actions - (To add one, press 'Action')

--------------------------------------------------------------------------------
Thanks,

 

Jim

 

 

 

Posted (edited)

Both of those programs have "then" clauses which change the status of a device which is in the "if" clause.  So the program will re-trigger itself and trigger the other program, possibly back and forth.   If you want to check the status of a device in the "if" and based on that status change that status in the "then", then you must disable the program and have an additional program which does a "run if" on that program.  The key here is to understand triggers.  STATUS is a trigger upon ANY change in the device.  CONTROL is a trigger only upon execution of THAT SPECIFIC command (ie switched on).

Edited by apostolakisl
Posted

Thanks Apostolakisl, I tried to disable both of these programs and created a new program to execute the Lights On program if the Motion Sensor status is on. That also did not work for me. You are so right, I really do not understand triggers eg "STATUS" and "CONTROL". All of these programs worked fine before release 5.01.13C but I guess they have added many new features for programmers to create better programs. Do you know of anything on the WiKi for Universal Device that will help me learn programming and Triggers better.

Could you be so kind to show me an example of a program to turn my light On/Off when the motion sensor is activated. I uses the example for this forum that only turned them on to 99% so if I ever wanted them to stay on I would just double click the switch to turn it to 100% and the light then would not turn off if the motion sensor's status changed to "OFF"

 

Thanks so much.

 

Jim

 

Posted
Do you know of anything on the WiKi for Universal Device that will help me learn programming and Triggers better.


Take a look at posts 1 and 2 in this thread: https://forum.universal-devices.com/topic/5410-triggers-and-conditions-and-ifs-oh-my/

It’s linked from the online manual: https://wiki.universal-devices.com/index.php?title=ISY-99i/ISY-26_INSTEON:How-To_Guide#Programs
Posted (edited)
1 hour ago, jblackst5000 said:

Thanks Apostolakisl, I tried to disable both of these programs and created a new program to execute the Lights On program if the Motion Sensor status is on. That also did not work for me. You are so right, I really do not understand triggers eg "STATUS" and "CONTROL". All of these programs worked fine before release 5.01.13C but I guess they have added many new features for programmers to create better programs. Do you know of anything on the WiKi for Universal Device that will help me learn programming and Triggers better.

Could you be so kind to show me an example of a program to turn my light On/Off when the motion sensor is activated. I uses the example for this forum that only turned them on to 99% so if I ever wanted them to stay on I would just double click the switch to turn it to 100% and the light then would not turn off if the motion sensor's status changed to "OFF"

 

Thanks so much.

 

Jim

 

The new firmware is not the reason the programs aren't working.  The reason is, as you seem to be suspecting, that this major firmware update reset the "disabled" status.  Normally, a firmware update does not reset that status, but the huge changes between 4 and 5 did.  You just need to figure out which programs need to be disabled again.  Typically, when you write programs like this, you organize them into folders so it is easy to see which ones work together, or at least have used a naming convention that makes the association obvious.  If neither of these situations were true for you, you can use the "find" function and search for any program that references these programs.  If everything worked before, you should not need to write any new programs or change current programs, aside from disabling the correct ones.

Also, you may be able to go back to the old firmware and restore the backup I'm hoping you made prior to the upgrade.  Then you can go through and make a note of what programs were disabled.  Then you can update again knowing what to disable.  I am suggesting this based on my belief that the disabled/enabled status is preserved in a backup, though I'm not 100% on that.

Edited by apostolakisl
Guest
This topic is now closed to further replies.

×
×
  • Create New...