thruster999 Posted April 4, 2010 Posted April 4, 2010 Hello, I use folders quite a bit to make sure that specific programs only run at certain times of the day/night. However many times when the folder conditions are true (status=true) and the program within the folder conditions become true, the program does not run - unless I run the IF option manually from the Program Summary Tab from the admin console. Is this a known bug? Or is it that that the conditions of the programs within the folder must be true the instant the conditions of the folder are true? I appreciate the help. btw The folder is called 'dinner 8:30 to 9:30' IF From 8:30:00pm To 9:30:00pm (same day) Then Allow programs in this folder to run The program located in the folder is called 'Evening Counters' IF program 'Kitchen is Dark' is true Then Set 'Kitchen Counters' on So even though the status of Kitchen is Dark was true at 8:30 the program 'Evening Counters' did not run and remained false. However I ran the (If) from the Program Summary tab and it ran because all the conditions were true.
Michel Kohanim Posted April 4, 2010 Posted April 4, 2010 Hello thruster999, What firmware do you have in your ISY (Help | About). This is not a known bug and has never been reported. Are you certain that your program is enabled? With kind regards, Michel
Sub-Routine Posted April 4, 2010 Posted April 4, 2010 Hi thruster999, Programs do not run automatically when a folder becomes True. But they can use the folder condition to trigger them. If Program 'Kitchen is Dark' is True And Folder 'dinner 8:30 to 9:30' is True Then Set 'Kitchen Counters' On Else - No Actions - (To add one, press 'Action') Rand
thruster999 Posted April 4, 2010 Author Posted April 4, 2010 Hello Rand and Michel I'm using firmware v2.7.14 In the examples I posted all the conditions were true as soon as the folder conditions became true at 8:30. The Program status for 'Kitchen is Dark' became true over one hour before the status of the folder became true. It actually triggered another program not in a folder. btw I have tried to also include the condition And Folder 'dinner 8:30 to 9:30' is True with the same outcome. For some reason 'Evening Counters' does not run. Last night I took it out of the folder and put it into the root and added the time condition to 'Evening Counters' IF program 'Kitchen is Dark' is true AND From 8:30:00pm To 9:30:00pm (same day) It ran perfectly. At 8:30 ('Kitchen is Dark' was already true) the Kitchen Counter lights came on. ???
oberkc Posted April 4, 2010 Posted April 4, 2010 I suspect that sub-routine had it nailed. I suspect you are seeing the difference between "status" and events that trigger an action. That is, when is a condition evaluated that will cause it to execute the program and choose the "then" or "else" paths? The condtion "kitchen is dark" is evaluated only when it changes from dark to light and from light to dark. As I understand it, these are the points in time, and the only points in time, where the program would execute. If you put it in a folder that is valid between these points-in-time, then the program will neither evaluate itself, nor executre. The folder condition, itself, never triggers a program. It only enables programs. It is only the conditions within the program, itself, that cause a program to run. For example, assume the light to dark transition happens at 7:00p and the dark-to-light transition happens at 7:00a. You then this program into a folder based on the condition that the folder is true between 8:00p and 9:30p. This program will never run. The folder conditions do not force an evaluation of the program. The program conditions fall when the program is disabled, due to the folder conditions. I hope this was of some help.
thruster999 Posted April 4, 2010 Author Posted April 4, 2010 Hello oberkc I never realized that. That a trigger has to occur between 8:30 and 9:30 and not prior. However, I did try what Rand suggested and added the condition (trigger) And Folder 'dinner 8:30 to 9:30' is True ie IF program 'Kitchen is Dark' is true And Folder 'dinner 8:30 to 9:30' is True Then Set 'Kitchen Counters' on and it still did not work. As I posted earlier I had to move the program into the root and add the schedule condition. Anyway, wouldn't the above added statement act as an appropriate trigger?
oberkc Posted April 4, 2010 Posted April 4, 2010 I don't use a lot of "true" statements, so I can only speculate without further experimentation, but it sounds like "true", as a condition of a program, also acts as a program trigger at the transitions, and perhaps not at all. The conditions: "from...until", "time is..." "control....", "status..." all act as triggers, so I can only surmise that it might be necessary to include on of these in your program. Since I am also curious as to the behaviour of these, I intend to check out when I get more time. I am also unsure how you define "dark". Is this an input from an Elk security panel? If so, I understand this to be sunset. It sounds like we must concern ourselves with two possibilities...one, if dark happens before 8:30, the other if it happens after 8:30. Until we can come up with something a little more efficient, try a brute force method: Create a time folder, with condtions being time is from 8:30 until 9:30 (same day). Create a program, called dark (or whatever), with your conditions from sunset until sunrise (next day), with no actions. This program should reside outside your time folder. Create a second program, inside your time folder, that looks like: If ( program "dark" is true and time is 8:31 <<) or time is sunset then Set 'Kitchen Counters' on This should get you pretty close until I can look into other options. Realize, of course, that your lights could come on up to a minute late under certain conditions.
thruster999 Posted April 5, 2010 Author Posted April 5, 2010 Hi oberkc I'll try it btw the 'Kitchen is Dark' program is just used as a boolean variable. I have a 2420m montion sensor installed in the kitchen. I have a program that tests the dusk/dawn setting every 5 minutes and after two sequential identical outcomes, either on or off, it changes the 'Kitchen is Dark' program status to true or false by running either the Then or Else portion of the program. 'Kitchen is Dark' has no programming in it. Strictly used as a variable. Anyway, I use the program, succesfully, to change scene settngs in the Kitchen. I've also been able to use it sucessfully as a test condition outside of folders - but no luck within folders. However, I ended up posting my issue in this thread because it doesn't appear to only be my 'Kitchen is Dark' program. I've also used the folder=true test and got the same results. The program I want to run, doesn't. Thanks for your help
oberkc Posted April 5, 2010 Posted April 5, 2010 If you are happy with the current "kitchen is Dark' program, then I would use it in place of my suggested program (dusk to dawn). The only thing that jumped out at me is the possibility that turning the lights on would then cause your kitchen dark to change states. I don't think this will cause problems in your current situation, but it is something to watch out for. I am still a little surprised that sub-routine's suggestion did not work. He states that folder conditions (and I assume he means whenever a folder changes state) triggers a program. He did not state specifically that program changes-of-state trigger programs, but I would have assumed that they would as well. In my set up, I have not had the need to use this capability, so my knowledge about such things is based only what I have read. By chance, when you used Rand's suggestion, you did not happen to have your program inside the 'dinner 830 to 930' folder? If so, this could, in my mind keep your program from running when dark occurs before 830. If you did, I would try it again, ensuring that the program was outside the folder.
Sub-Routine Posted April 5, 2010 Posted April 5, 2010 That seems odd. Here are the programs / folder I have had running for some weeks: Sunset Status (no folder): If From Sunset To Sunrise (next day) Then - No Actions - (To add one, press 'Action') Else - No Actions - (To add one, press 'Action') Night Rates (a folder): Folder Conditions for 'Night Rates' Add conditions to limit when programs in this folder are allowed to run. If From 6:00:00PM To 6:00:00AM (next day) Then Allow the programs in this folder to run. Sunset (in Night Rates folder): If Program 'Sunset Status' is True And Folder 'Night Rates' is True Then Set Scene 'OL Evening' On Else - No Actions - (To add one, press 'Action') I experimented with the schedules on the status program and the folder and the program runs no matter which turns True first. Hmm...
Recommended Posts