mfranzel Posted February 28, 2013 Posted February 28, 2013 Hi all, I was wondering if it was possible to set a program with a time condition but instead of having it run daily, only on certain days of the week or at a certain date, having it run on a monthly schedule or something of the like. Is this possible?
oberkc Posted February 28, 2013 Posted February 28, 2013 Yes, there is some flexibility, I recall. Certain days of the week are possible. In the program setting, I think there is a check box: daily. If unchecked, it will give a daily selection. I believe a specific date is also possible. I do not believe one can choose a certain month or day of the month or day of the year, however.
apostolakisl Posted February 28, 2013 Posted February 28, 2013 You can have programs run on certain days of the week, as mentioned, just by unchecking "all days" and then checking just the day you want. You can have programs run on specific dates, like 01/01/2014 at 1am. But you can't have it run every 1/1 at 1am, at least not without more effort. I wrote a whole series of program that uses ISY variables so that you can do recurring dates without having to set every date specifically. For example, you can do every 3rd day, or the 15th of every month, or every 4 weeks, or every Dec 25th. Here is the link to it in the wiki. http://wiki.universal-devices.com/index ... _Variables
mfranzel Posted March 1, 2013 Author Posted March 1, 2013 apostolakisl, Thank you for your reply. I am completely at a loss here. While your wiki article probably provided exactly what I needed, I do not have the brain cells not programming knowledge to make that work. What you described is exactly what I need... programs to trigger things on the first of every month or something of the like. Can you give me an abbreviated version of how to program the ISY. It would be VERY appreciated! Thank you! MFranzel
Michel Kohanim Posted March 1, 2013 Posted March 1, 2013 Hello MFranzel, I think it would be best if you described exactly what you were trying to achieve. i.e. "something like that" makes the request to general. With kind regards, Michel
mfranzel Posted March 1, 2013 Author Posted March 1, 2013 I am simply trying to have a program run on a certain date of every month. But with what is available in ISY does not let me do this...
Michel Kohanim Posted March 1, 2013 Posted March 1, 2013 Hi mfranzel, Certain date such as 12/24? If so, all you have to do is OR the years. For instance: If Time is 12/24/2013 12:00:00 OR Time is 12/24/2014 12:00:00 etc. If you are still having problems, please submit a ticket with a few time slots most convenient for you from 10:00 to 3:00 AM PST M-F and we'll schedule a remote session to walk you through everything. With kind regards, Michel
mfranzel Posted March 1, 2013 Author Posted March 1, 2013 Sort of... the biggest thing I need to do is have a reoccurring event on a certain day every month. I do not want to have to go into the system and make one for every month... there is a daily option, why not monthly?
apostolakisl Posted March 1, 2013 Posted March 1, 2013 You are correct. You would need to use an OR statement to connect 12 dates per year for as many years into the future as you want. If you haven't already started using variables, implementing the programs is not hard at all. Just download them from the wiki and install them. Then label the variables using the screen shots. Then all that is left is setting all the variables to today's date (month 3, day 1, year 2013, and day of year (31 plus 28 plus 1). The other variables will self populate at midnight. It only gets tricky if you already are using the same variables. But I get the feeling you haven't used any of them yet.
mfranzel Posted March 1, 2013 Author Posted March 1, 2013 You are correct. You would need to use an OR statement to connect 12 dates per year for as many years into the future as you want. If you haven't already started using variables, implementing the programs as not hard at all. Just download them and install them. Then label the variables using the screen shots. It should only take 15 or 20 minutes to do. It only gets tricky if you already are using the same variables. But I get the feeling you haven't used any of them yet. No, I have not used any of them yet... all pretty new to this! I downloaded them... how do I install them? Once I install them... how do I use them? I am more of a point and click guy... when it gets to programming/variables... I get lost. Thank you everyone for your help!
apostolakisl Posted March 1, 2013 Posted March 1, 2013 Unzip the file, Right click on the "my programs" folder at the top of the folder tree on the "programs" page, the click import, and point it to the file you just unzipped. Just follow the directions I put on the wiki. There are like 4 steps total.
apostolakisl Posted March 1, 2013 Posted March 1, 2013 OHHHH SHOOOT I just saw a mistake in my directions. Leap year variable is supposed to be set to 1 this year. 0 is a leap year, not 3 as I wrote. Please be sure to set leap year to 1.
mfranzel Posted March 1, 2013 Author Posted March 1, 2013 apostolakisl, I am still incredibly confused. I imported the file as you mentioned... now I have to go and enter all of the variables because those cannot be imported... so now, how do I set up an event to say "on the 9th day of every month do THIS"?
apostolakisl Posted March 1, 2013 Posted March 1, 2013 apostolakisl,I am still incredibly confused. I imported the file as you mentioned... now I have to go and enter all of the variables because those cannot be imported... so now, how do I set up an event to say "on the 9th day of every month do THIS"? If $iDay.of.Month is 9 And Time is (whatever you want) Then - No Actions - (To add one, press 'Action') Else - No Actions - (To add one, press 'Action') This will execute whatever you put in the "then" section whenever it is the 9th day of any month at whatever time you specified. Incidentally, I am not sure what happens if you import a program that refers to a non-existent variable. I have never tried it. You might need to re-import the programs if you did that first. Maybe not. Let me know.
mfranzel Posted March 2, 2013 Author Posted March 2, 2013 Okay, I added all of the variables... integers and states. Then imported the file you provided. I created a new program called test and set it up as: If $iDay.of.Month is 1 And Time is 10:35:00PM Then Send Notification to 'Email' content 'Test' Else - No Actions - (To add one, press 'Action') I chose 10:35 because it was in two minutes... no email received. I did a test from the configuration email page and it came through just fine...
arw01 Posted March 2, 2013 Posted March 2, 2013 Did you set up the date and time variables that are named..
mfranzel Posted March 2, 2013 Author Posted March 2, 2013 Did you set up the date and time variables that are named.. I am sorry... I do not quite know what you mean...
apostolakisl Posted March 2, 2013 Posted March 2, 2013 You have to set the variables to start with. It's like a clock, you need to tell it the date to start with, after that it keeps going on its own. Go to the integer variables page and manually enter the 1) month (3) 2) day (2) 3) year (2013) 4) leap year (1) 5) day of week (6) 6) day of year (61) that is 31+28+2 Also, I would try to test such things with a time that is further in the future than two minutes. Java is running the clock you see on your computer screen. When you start the admin console, it loads the time from ISY, then Java runs the clock on your local machine and in my experience, it can get way off fast. Lastly, you need to set up the email addresses in ISY. Have you confirmed that your ISY is properly sending emails using the address you used in that program? When trying to figure out what is going on, go to the program summary page. For each program, it will show you the last time the program ran, whether it ran true or false, and the next scheduled time. The program you wrote should list tonight at 10:35 as the next run time, and last night at 10:35 as the last run time. It should have ran 'true' last night, and it will run 'false' tonight (and every night until 4/1). If it lists that it ran last night at 10:35 but ran false, then that means you didn't "set the clock" (fill out the starting variables I listed above). If it says it did run last night and ran "true", then that means your email settings aren't working. You can always right click on a program and hit "run then" or "run else" to test that the "then" or "else" clause are doing what you expect.
apostolakisl Posted March 2, 2013 Posted March 2, 2013 Here is a screen shot from my computer this morning. You can just copy all the values as they are on m screen skipping the ones that have nothing to do with this program (13-33, 42, 43)
arw01 Posted March 2, 2013 Posted March 2, 2013 Here is a screen shot from my computer this morning. Thank you, I spent an hour or so this morning setting up the variables and changing the programs to use the proper variables because I have a few in use already and that messed up the number system. I noted on your screen capture that it thinks that iEvery.third.week and iEvery.fourth.week are true currently. At midnight will get a notification email of what I thinks the date is if it's off or not. Alan
mfranzel Posted March 2, 2013 Author Posted March 2, 2013 Ah! See the problems I had was entering the values exactly as you had them. It did not occur to me that they had to be current. So basically, the programs you wrote and I imported tell the variables to change the day month and year when appropriate?
apostolakisl Posted March 2, 2013 Posted March 2, 2013 Here is a screen shot from my computer this morning. Thank you, I spent an hour or so this morning setting up the variables and changing the programs to use the proper variables because I have a few in use already and that messed up the number system. I noted on your screen capture that it thinks that iEvery.third.week and iEvery.fourth.week are true currently. At midnight will get a notification email of what I thinks the date is if it's off or not. Alan The number next to the "Every x whatevers" is not a 1/0 as in true/false. They count through the weeks, 0,1,2,3,0,1, etc. For example, every 4th week cycle and every third are below 0,1,2,3,0,1,2,3,0,1,2,3,0,1,2 0,1,2,0,1,2,0,1,2,0,1,2,0,1,2 So, you can see, every so often, the numbers line up. The way to use the variable is to first look at what today is in the schedule. So today both every 3rd week and every 4th are both zero. Say, you want to send an alert every 4 weeks, and you want it to start in 2 weeks. So 2 weeks from now, the variable will be "2". Then after another 4 weeks it will be "2" again. You write your program as such If $i.every.fourth.week is 2 Then do whatever. If you look at the equation it will make sense. For example, the every 4 weeks program, is dividing the total number of weeks since the counter started (I set mine to start Jan 1, 1900) by 4, then it sets the variable as the remainder of that division. All of this is based off of the number of days since Jan 1, 1900 (at least as I set the variable). If you look at my screen shot, you'll see it has bee 41,335 days since then. That keeps an uniterupted running tally of days, which when divided by 7 gives you the same thing for weeks. What you set that number at is not relevant to anything except that this is how MS Excel does it. And I used excel to test my programs.
arw01 Posted March 2, 2013 Posted March 2, 2013 Ah, ok. I always seem to think in Boolean when I see values being flagged, not as a dual purpose. Someday the ISY will handle Boolean and there are lots of little tricks one can do with that and string manipulatoins, I suppose one day we will have those too and true date functions. I haven't decided what all I am going to do with it, but could maybe run my sprinklers with the every three days if we don't have a module sale between now and the start-up of irrigation. If we ever get Hue support all native like, i could use the holidays to very up the outside lighting color.. Alan
apostolakisl Posted March 2, 2013 Posted March 2, 2013 I have it tell me to service the septic tank every 6 weeks, it turns the light alarms for the kids bedrooms off on holidays, it triggers my sprinklers, it reminds me of my every other week recycling, it does special stuff on birthdays, it starts my holiday programs the day after thanksgiving and ends them 12 days after Christmas, and so the list goes on.
arw01 Posted March 3, 2013 Posted March 3, 2013 There are some good thoughts in there. The recycling reminder is a good one, always have to think really too hard about that one!
Recommended Posts