arf1410 Posted January 15, 2023 Share Posted January 15, 2023 I can see how to use the ISY to execute a program on certain days of the week, but I want to know if I can use it to turn an insteon module on for say 24 hours, once a month, or even every other month. Link to comment
elvisimprsntr Posted January 15, 2023 Share Posted January 15, 2023 (edited) 1. Create a program that runs one a day/week and increments a state variable (+=1) 2. Create a second program that triggers when the variable exceeds a value (>n) and reset variable (=0) Edited January 15, 2023 by elvisimprsntr Link to comment
oberkc Posted January 15, 2023 Share Posted January 15, 2023 I would be more inclined to create a variable to keep track of the day of month. Once each day (I do mine in the 3am cleanup program), run a program that includes a step: $dayofmonthvariable = [Current Day of Month] Create a program such as: if $dayofmonthvariale = some number then turn on Insteon module wait for some period of time turn of Insteon module else nothing The program, above, will work only for periods of time less than 24 hours. 24 hours after this program runs true, the day of month variable will change, become false, and halt any wait state. Link to comment
larryllix Posted January 15, 2023 Share Posted January 15, 2023 I have layed this out several times before. I use it throughout my ISY programming for events that repeat every year. Isolating a monthly change should be quite easy. 1 Link to comment
GeorgeRufle Posted January 15, 2023 Share Posted January 15, 2023 Not all months have the same number of days, for instance Feb. What am I missing. In the above program if I set "some number" equal to 31 aren't there months that will not trigger the "then" path? Link to comment
jec6613 Posted January 15, 2023 Share Posted January 15, 2023 13 hours ago, arf1410 said: I can see how to use the ISY to execute a program on certain days of the week, but I want to know if I can use it to turn an insteon module on for say 24 hours, once a month, or even every other month. Why not just use one of the calendar node servers? It can provide day of the week, week number, and all sorts of other nodes you can trigger on. Want something to fire on the second Tuesday of the Month because you like Microsoft? Pretty easy to do when you have that as a node. Link to comment
larryllix Posted January 15, 2023 Share Posted January 15, 2023 (edited) 1 hour ago, GeorgeRufle said: Not all months have the same number of days, for instance Feb. What am I missing. In the above program if I set "some number" equal to 31 aren't there months that will not trigger the "then" path? You could make a list of the dates you want it to trigger on in your If section for the last day of each month, but the OP was asking about once per month. The beginning of each month, or particular date in each month would definitely be much easier to detect. The floating holidays (long weekends) take a second line or ore to detect the day is Monday. You may also note in the program linked to there is a variable $sISY.DayOfMonth that will tell you when it is the 28th, 30th or 31st but you would still need to parse these out for each particular month. As @jec6613 posted above, now that PG3 can be contained in the same box it may be more secure to use the node server but it does require dependence on more cloud services than just the ISY clock. I am not sure if there is a last day of the month flag provided. I have never used other NSs except to test for current technology growth. Edited January 15, 2023 by larryllix Link to comment
GeorgeRufle Posted January 15, 2023 Share Posted January 15, 2023 I did a GOOGLE search for "calendar node servers" but out of all the ones found, which one would be the most appropriate for use with my ISY994? I also obtained a program "ddmmyyyy.isy". Could you point me to somewhere that enplanes the use of an isy file. Does all of this require an internet connection to function? I have been programming my ISY994 for many years but only using what's generically provided. Link to comment
arf1410 Posted January 15, 2023 Author Share Posted January 15, 2023 OP here. Appreciate the input. Let me add a bit more context. My ISY programming, and network management skills are much more basic than 98% of the folks here. Terms like "node server" don't have much meaning to me. here's more of the "Big Picture"... I was hit with a ransomwear attack last summer, where the bulk of the files on my old QNAP 2-disk NAS were encrypted, and I came close to loosing lots of important things, until I managed to find an old hard drive in a closet to bail myself out. Because these were files I dont access regularly, I didnt even notice the encryption until 3 months after the attack. Trying to avoid that again, so bought a new Synology as my primary NAS, and was going to attempt to automate its backup about once a month (or 2?), via windows task manager, and FreeFileSync, to the QNAP. For added security, that QNAP was going to be mostly powered off. It is in a mode such that when power is restored (after power outage, etc), it boots back up. So, using a basic insteon module, have the QNAP turned on for, say, 24 hours on the 15th of every month (or every other month?), then turned off. I would assume is the QNAP is powered off, it will be nearly impossible to hack into. I would schedule the backups to happen during that 24 hour window of being powered on. thanks. Link to comment
MrBill Posted January 15, 2023 Share Posted January 15, 2023 16 hours ago, arf1410 said: I can see how to use the ISY to execute a program on certain days of the week, but I want to know if I can use it to turn an insteon module on for say 24 hours, once a month, or even every other month. i use the program in the post linked by @kclenden This keep variables up to date or triggering (state variable) or filtering (integer variable) for Day of Week, Day of Month, Month of year, Weak of Month, and month/day in mm.dd format. Link to comment
arf1410 Posted January 15, 2023 Author Share Posted January 15, 2023 It appears my task may be easier to accomplish with Firmware 5.X, but I am still on firmware 4.9. Best I can gather, there is no clear, concise changelog available for the version differences? also, it appears there is no simple way to upgrade firmware, and I run the risk of having to start over with all my programs? ugh Link to comment
larryllix Posted January 15, 2023 Share Posted January 15, 2023 25 minutes ago, arf1410 said: It appears my task may be easier to accomplish with Firmware 5.X, but I am still on firmware 4.9. Best I can gather, there is no clear, concise changelog available for the version differences? also, it appears there is no simple way to upgrade firmware, and I run the risk of having to start over with all my programs? ugh I would backup my v4 programs well and check them, then migrate to V5. IIRC the process has been smoothed out a lot and fairly easy now. When I migrated right at the birth of V5 it made a mess and was a lot to clean up. However then you can run polyglot v2 on a RPi or use the calendar functions I created to not rely on any other hardware devices...and cheaper too. Link to comment
MrBill Posted January 15, 2023 Share Posted January 15, 2023 48 minutes ago, arf1410 said: It appears my task may be easier to accomplish with Firmware 5.X, but I am still on firmware 4.9. Best I can gather, there is no clear, concise changelog available for the version differences? also, it appears there is no simple way to upgrade firmware, and I run the risk of having to start over with all my programs? ugh the biggest issue with migrating v4 to v5 is programs that use "adjust scene" require manual intervention. Another caveat is you need to know what programs (if any) must be disabled, because disabled programs will be enabled. In addition to a standard ISY backup I also recommend backing up your programs in text format. Right click the root folder of the program tree (often named "My Programs") then right click it and select "Copy Folder to Clipboard" (near the bottom of the list). then open any text editor that won't add formatting (windows Notepad is dandy) and paste then Save As. You now have a reference copy of your programs if you need to look back after upgrade. With those things in mind, as @larryllix points out, upgrading isn't difficult anymore. Link to comment
arf1410 Posted January 15, 2023 Author Share Posted January 15, 2023 I think I successfully upgraded to firmware v 5.3.4 from the above linked post there should be a screen like below, however, I dont have that "Action" button, nor do I have the calendar/date function at the end of each line. what am I doing wrong? Link to comment
MrBill Posted January 15, 2023 Share Posted January 15, 2023 check Help > About are your firmware and UI version numbers the same? Link to comment
apostolakisl Posted January 15, 2023 Share Posted January 15, 2023 2 hours ago, arf1410 said: OP here. Appreciate the input. Let me add a bit more context. My ISY programming, and network management skills are much more basic than 98% of the folks here. Terms like "node server" don't have much meaning to me. here's more of the "Big Picture"... I was hit with a ransomwear attack last summer, where the bulk of the files on my old QNAP 2-disk NAS were encrypted, and I came close to loosing lots of important things, until I managed to find an old hard drive in a closet to bail myself out. Because these were files I dont access regularly, I didnt even notice the encryption until 3 months after the attack. Trying to avoid that again, so bought a new Synology as my primary NAS, and was going to attempt to automate its backup about once a month (or 2?), via windows task manager, and FreeFileSync, to the QNAP. For added security, that QNAP was going to be mostly powered off. It is in a mode such that when power is restored (after power outage, etc), it boots back up. So, using a basic insteon module, have the QNAP turned on for, say, 24 hours on the 15th of every month (or every other month?), then turned off. I would assume is the QNAP is powered off, it will be nearly impossible to hack into. I would schedule the backups to happen during that 24 hour window of being powered on. thanks. I have similar concerns and manage it similar to what you have suggested. First, installing node servers is a pretty good idea. You will need to upgrade to the newer hardware UD sells (Eisy). There are probably 100 or more node servers now that create nodes on your ISY for boat loads of things that aren't Insteon or Zwave switches. So many things you just need to peruse the list. I have node servers that track my electricity usage from Emporia energy monitor, my water usage via a Flume, my Tesla, my alarm systems, my Blue Iris security camera software, and a bunch of other stuff. The one node that pertains here is one that creates nodes for a bunch of calendar stuff. So you can make a program that turns something on every 15th of the month, every June 3rd, or you get the idea. Each of the items in the screen shot below is a node that you can use in a program. You can also make something happen every 3rd day or whatever using the days since epoch (ie for 3, divide by 3 and run it when the remainder is either 0,1,or 2 depending on your preference). Anyway, back to the data threats, I have a series of hard drives that backups are saved to on a schedule. The hard drives are powered by Insteon appliance links. The hard drives are only powered up while the backup is being made. Furthermore, new backups do not overwrite old backups, so if I get encrypted, I don't ruin my non-encrypted backup I previously made. The appliance link creates a hard disconnect between the hard drive and electricity which protects it from be accessed by anyone wishing harm. It also protects it from power surges. Furthermore, if you have a water event, often times hard drives will survive submersion if you properly dry them out before applying power. At least long enough to get your data off anyway. Link to comment
oberkc Posted January 15, 2023 Share Posted January 15, 2023 5 hours ago, GeorgeRufle said: Not all months have the same number of days, for instance Feb. What am I missing. In the above program if I set "some number" equal to 31 aren't there months that will not trigger the "then" path? I assume that one is skilled enough to recognize the number of days in each month, and that some have 31, some have 30, one has 28 (and sometimes 29). I also assume that one recognizes that if one picks some number greater than 31, such a program will never trigger, that if one picks a number such as 29, 30, or 31, it will only trigger on some of the months. I would like to think that if one is trying to create computer programs using Boolean logic, that such person can figure the simpler parts out on their own. Link to comment
oberkc Posted January 15, 2023 Share Posted January 15, 2023 1 hour ago, arf1410 said: It appears my task may be easier to accomplish with Firmware 5.X, but I am still on firmware 4.9 Yes, I think this is something you should do. IIRC, the additional of calendar variables was one of the big reasons I was excited to make the update to 5.X. Without it, your options are quite a bit more limited (and potentially more time consuming than making the software migration. Link to comment
arf1410 Posted January 15, 2023 Author Share Posted January 15, 2023 Both Firmware, and UI are 5.3.4. updated java, cleared cache, and now the ACTION button appears, but no calendar. My thought would be. if that calendar appears, and functions like I want, I could say IF dae = 3/15/23 or 6/15/23 or 9/15/23 etc, turn ON, else turn OFF.... and I would list 8-12 quarterly dates, to cover the next 2-3 years? Link to comment
MrBill Posted January 15, 2023 Share Posted January 15, 2023 16 minutes ago, arf1410 said: Both Firmware, and UI are 5.3.4. updated java, cleared cache, and now the ACTION button appears, but no calendar. My thought would be. if that calendar appears, and functions like I want, I could say IF dae = 3/15/23 or 6/15/23 or 9/15/23 etc, turn ON, else turn OFF.... and I would list 8-12 quarterly dates, to cover the next 2-3 years? I'm not sure where you got that screenshot, I can't find the schedule interface with the date like that anywhere. Now that your on 5 tho, you can add the program i linked above to give you the date variables you're looking for. Link to comment
arf1410 Posted January 15, 2023 Author Share Posted January 15, 2023 9 minutes ago, MrBill said: I'm not sure where you got that screenshot, I can't find the schedule interface with the date like that anywhere. Now that your on 5 tho, you can add the program i linked above to give you the date variables you're looking for. I got that screenshot from YOUR post on 12/9/2020! Link to comment
MrBill Posted January 15, 2023 Share Posted January 15, 2023 2 minutes ago, arf1410 said: I got that screenshot from YOUR post on 12/9/2020! Aha... and the line right above the screen shot contains the magic: Quote On version 5.x you can Uncheck the "Daily" box, and it will add a date range to the screen: I had forgotten about that since I don't use it.... Link to comment
arf1410 Posted January 15, 2023 Author Share Posted January 15, 2023 Was just about to delete my post, as I too found that box! So now will my general logic work OK? It really seems by far the simplest approach:I could say IF time is from 12 am to 11 59 pm on 3/15/23 or 6/15/23 or 9/15/23 etc, turn ON, else turn OFF.... and I would list 8-12 quarterly dates, to cover the next 2-3 years? Link to comment
MrBill Posted January 15, 2023 Share Posted January 15, 2023 (edited) I'd add that program I linked in the other thread... then you can use aaaa1test - [ID 01F9][Parent 0001] If $sISY.MMDD is 3.15 Or $sISY.MMDD is 6.15 Or $sISY.MMDD is 9.15 Then Set 'Coffee#' On Else Set 'Coffee#' Off Edited January 15, 2023 by MrBill Link to comment
apostolakisl Posted January 16, 2023 Share Posted January 16, 2023 6 hours ago, arf1410 said: I think I successfully upgraded to firmware v 5.3.4 from the above linked post there should be a screen like below, however, I dont have that "Action" button, nor do I have the calendar/date function at the end of each line. what am I doing wrong? This only picks one day. You would have to set an "if" line for every single day you want. Link to comment
Recommended Posts