Jump to content

Programs still run in folder that fails conditional check....


sorka

Recommended Posts

Posted

Used to work fine but suddenly not working fine any more.

 

I have a bunch of programs in a folder where the folder conditional check is to run only if a variable is == 0.

 

Variable set to 1:

 

post-703-0-51760300-1467490769_thumb.png

 

Check that variable is set to 0 before programs in this folder can run:

 

post-703-0-05853400-1467490836_thumb.png

 

Currently running 4.3.26.

Posted

Used to work fine but suddenly not working fine any more.

 

I have a bunch of programs in a folder where the folder conditional check is to run only if a variable is == 0.

 

Variable set to 1:

 

attachicon.gifScreen Shot 2016-07-02 at 1.15.33 PM.png

 

Check that variable is set to 0 before programs in this folder can run:

 

attachicon.gifScreen Shot 2016-07-02 at 1.14.57 PM.png

 

Currently running 4.3.26.

 

Will the programs run if you trigger them manually by clicking either the if or then clause?

 

You dog on the loose variable shows that it was last changed on 6/27, is that correct?. You may want to reboot the ISY to see if that makes a difference.

 

Is your UI also 4.3.26?

Posted

Yes, UI is also the same version. On 6/27 it was rebooted because the power went out(my UPS failed). When it came back up, I manually set that variable back to 1. The programs run if I manually trigger the then case but not if I trigger the if because the if is triggered on a motion sensor turning on so just right clicking and running the if case does nothing.

Posted

Yes, UI is also the same version. On 6/27 it was rebooted because the power went out(my UPS failed). When it came back up, I manually set that variable back to 1. The programs run if I manually trigger the then case but not if I trigger the if because the if is triggered on a motion sensor turning on so just right clicking and running the if case does nothing.

 

Have you tried rebooting the ISY again?

 

being that you had a power failure it's possible something got corrupted.

 

try removing the folder condition then trip the motion sensor to see if the program runs

Posted

It's an integer variable. Dosnt it need to be a state variable for this to work properly? (I don't know - I havnt tested this in a long time!)

Posted

It's an integer variable. Dosnt it need to be a state variable for this to work properly? (I don't know - I havnt tested this in a long time!)

 

Yes, I missed that, it should be a State variable.

Posted

Also note that the folder has a green indicator. That indicates that the condition is being evaluated as true.

Posted

Strange. I'll change it to a state variable but I've had it like this for at least a year and it has worked just fine before that.

Posted

That seems to have done the trick. At least the folder turns red now when the state is 1 and green when the state is 0.

 

Thanks guys :)

Posted (edited)

The variable also needs to change to cause ISY to re-evaluate whether true or false but I don't know how ISY would slip by a variable change without triggering the re-evaluation in the case of a folder condition.

Edited by larryllix
Posted

A folder state variable is evaluated as is a program state variable. No other conditions are required.

  • 1 month later...
Posted

So this didn't fix the problem. The folder did turn red but programs inside the folder continue to execute. I didn't have time to debug this back then and have come back to it now:

 

 

 

post-703-0-73296300-1472871550_thumb.png

 

post-703-0-73181000-1472871557_thumb.png

 

The state variable is 0. The condition is  "$AlarmType is not 0". The folder is red. Programs continue to execute inside the folder. This used to work once upon a time.

Posted (edited)

Not sure I understand the question. Each program in that folder triggers off an insteon motion sensor.

 

attachicon.gifScreen Shot 2016-09-02 at 8.37.33 PM.png

I assume that you know when the program is freshly triggered by the results and not the program icon colours?

 

Have you tried to change your folder logic to positive?

 

If

. . $AlarmArmType is 1

Then

. .

Edited by larryllix
Posted (edited)

If this is happenning to several folders and started after a version ugrade, I would install the latest stable version that is showing on your Admin Console after a backup, of course.

 

If that still doesn't solve it I would make another good backup and try to factory reset your ISY, then restore the backup file.

 

You may have to reset your geo location, DHCP, and other basic setup parameters again.

 

It took me about 10 minutes for the whole process.

Edited by larryllix
Posted

Updated to 4.5.1. Made no difference.

 

Change to "AlarmType is 1" and set the state to 0. Folder still red. Programs still execute.

 

Very frustrating. This is clearly just broken and nobody is relying on this parent folders like this. I can fix it by modifying every program to include the "AlarmType is not 0" and that works, but not when setting it as a condition in the root folder.

Posted

Is it possible that the programs are being called by another program outside the folder?

 

No. Those programs are triggered only from the motion sensor. Nor are the test programs I stick in this folder just to triage this triggered by anything other than the motion sensor.

Posted

No. Those programs are triggered only from the motion sensor. Nor are the test programs I stick in this folder just to triage this triggered by anything other than the motion sensor.

 

Is your alarmtype variable a State or a Integer variable?  It should be a State variable

Posted

If your folder is turning enabled and disabled, based upon the variable and condition, I have no explanations.  I use folders with conditions, and they work flawlessly.

 

- you have confirmed no external programs triggering those in the folders, ok.

- are the motion sensors controllers in a scene that includes the devices commanded by the program?

 

Last thing that I can think of is speculation.  I know, for example, that a statement such as:

 

if

control "device" is NOT swithed ON  <<<triggered only by ON command.

 

Is it possible that your folder condition

 

if

variable NOT = 1 <<<could this be triggered only by a variable=1 condition, and not triggered when the variable equals a value other than 1?  (I don't know for sure, but it may be worth considering.)

Posted

Is your alarmtype variable a State or a Integer variable?  It should be a State variable

 

State. Already discussed earlier in this thread.

Posted

If your folder is turning enabled and disabled, based upon the variable and condition, I have no explanations.  I use folders with conditions, and they work flawlessly.

 

- you have confirmed no external programs triggering those in the folders, ok.

- are the motion sensors controllers in a scene that includes the devices commanded by the program?

 

Last thing that I can think of is speculation.  I know, for example, that a statement such as:

 

if

control "device" is NOT swithed ON  <<<triggered only by ON command.

 

Is it possible that your folder condition

 

if

variable NOT = 1 <<<could this be triggered only by a variable=1 condition, and not triggered when the variable equals a value other than 1?  (I don't know for sure, but it may be worth considering.)

 

The motion sensors are not part of any others scenes.

 

BTW, if I simply add the folder state condition to the a program in the folder such that:

 

if ($alarmType is not 0)

AND

Control 'Motion Sense Garage Inside' is switched On

 

it works just fine. It's only when the condition is on the folder that it doesn't. So my fix is to move the condition off the folder and copy it to each program in the folder but that's really dumb.

Posted

So my fix is to move the condition off the folder and copy it to each program in the folder but that's really dumb.

I still cannot help but wonder if we are missing something, but I am out of ideas. It does seem unfortunate that this folder condition does not seem to work.

Guest
This topic is now closed to further replies.

×
×
  • Create New...