June 26Jun 26 I have the following program to turn a small device on 5 times a day. The program is NOT set to run at startup. Yet when I rebooted my EISY at 11:35AM, the device turned on and off. Why isn't the Run At Startup being honored? Also, in the Summary page, that column shows either ON or a dash. I assume the dash means OFF, so why didn't the developer just use OFF to make this more clear?Thanks.BSMT Deodorizer ON-OFF - [ID 002B][Parent 0058]If ( Time is 7:00:00AM Or Time is 10:00:00AM Or Time is 1:00:00PM Or Time is 4:00:00PM Or Time is 7:00:00PM ) And $sOnVacation is 0 Then Set 'Basement / BSMT Deodorizer / BSMT Sprayer Relay' On Wait 15 seconds Set 'Basement / BSMT Deodorizer / BSMT Sprayer Relay' Off Else - No Actions - (To add one, press 'Action') Turn the deodorizer on once at the top of the hour, several times a day.
June 26Jun 26 Solution On your main Configuration -> System screen, do you have the setting "Catch up on schedules at Restart" checked?
June 27Jun 27 Author Yes I do. If this is what is causing this, this doesn't make sense. The program specifies five exact times, so none of them is true at 11:35AM when the system booted up. There was nothing to "catch up" to. But then I don't think like ISY thinks. I'll uncheck it and see if that causes any adverse results.While looking at the Configuration screen I note that there is a "Reboot" button as well as a "Restart IoX". What's the difference?I've always used the Reboot button when I need to restart EISY.
June 27Jun 27 I don't know if this could cause it. I'm just giving something to check which could be related. Or not. Let us know if it changes the behavior. A reboot restarts the whole controller (Unix, etc) while IoX restart only restarts the task that runs your programs.
June 27Jun 27 Author Apparently it does. I unchecked the box, clicked the Save button below it, and rebooted EISY. The program did not run this time.Then, to double-check, I checked the box and rebooted again. This time the program did run. I checked the log and it shows a Status On entry for the device seven seconds after it had finished polling all my devices, and then a Status Off entry 13 seconds later (as per the delay in the program). So the "catch up" feature is questionable to me.
June 27Jun 27 I think the idea we have in our heads about what Catch Up should do vs what it really does can be different things. I got unexpected results with it in my first ISY and since then I've always kept it off. An alternative is to use "init to" variable statements to save running states coupled with setting "run on start" for programs designed to insure things are in the right state after a reboot.
June 29Jun 29 Author I would think, since my program says to do things at only specific, EXACT times, when the IoX restarts it should look at the clock time and say "nope, doesn't match any of those SPECIFIC times, so this program is to be ignored". DO NOT run the IF or the ELSE. I don't care if ISY was off for hours due to a power outage or something. If this program was controlling something potentially critical (or dangerous?), turning the device on at the wrong time is not good. But then I know not to trust EISY for such tasks.I am turning off the Catch Up setting.
June 29Jun 29 1 hour ago, IndyUDIuser said:If this program was controlling something potentially critical (or dangerous?), turning the device on at the wrong time is not good. But then I know not to trust EISY for such tasks.Crafting a state machine for each key function with its own state variables, and using "Init to" to constantly save current state in variables works very well. For your basement deodorizer, you could track start and end of a cycle with a single state variable by init-ing it to say 1 at the start and 0 when it exits. On the chance it happened to be turned on and the eisy rebooted (for whatever reason), you could have a run on start program... if the variable is 1 you'd know the deodorize has been running and needs to be shut off. You don't want this kind of thing happening when you're not home to catch it. IMO the ISY was designed with this in mind and extremely dependable and easily survives reboots when it's done right.
Create an account or sign in to comment