KWW Posted February 22, 2011 Posted February 22, 2011 I have been able to setup my ISY to send me email at certain events. Can I modify the content of the email? For example, could I have the email include the state of certain devices? Or, which programs are active? I have seen reference to a 'content' keyword as shown below from an entry in the forum but cannot find an explanation of how that works. Then Send Notification to 'Email' content 'default' Is there a programmers manual? Also, what is 'status' on the program summary page? thanks in advance, K
oberkc Posted February 22, 2011 Posted February 22, 2011 Is there a programmers manual? I believe the universal devices wiki represents the users manual. Also, what is 'status' on the program summary page? Status represents the last run of the program, regardless of how long ago. A status of "true" indicates it last run the "then" condition. A status of false, "else". Regarding the email question, I understand that customizable message were part of a recent software upgrade, but I have not investigated personally. Which version are you running?
KWW Posted February 22, 2011 Author Posted February 22, 2011 SHould have included. v2.7.15 Should I upgrade?
oberkc Posted February 22, 2011 Posted February 22, 2011 Should I upgrade? Probably. My recollection is that the configurable EMail message came along somewhere 2.8.1x Postscript: list of enhancements for each build: http://forum.universal-devices.com/viewtopic.php?p=6475#6475 Looks like configurable EMail came in 2.8.7
KWW Posted February 23, 2011 Author Posted February 23, 2011 OK. Thanks for the help. I updated (following the directions with no issues!) and see many new things in admin console. What is 'query at restart' on the system page? I now see the customizable email content. Thanks! Is there a way to include device status in the content? I cannot find these in the forum. Some explanation in forum on features would be very helpful so we don't have to ask these questions. If I write a program that is set to run on startup; has no 'IF' or 'ELSE' content; 'Then' content is an email notification. Will this program only run ONCE on startup? I want to use as a 'recovery from power failure' notification. If there is a document that would help me understand how this thing works let me know.
oberkc Posted February 23, 2011 Posted February 23, 2011 I can probably answer a few of these questions... What is 'query at restart' on the system page? When the ISY boots up, it can request status from the devices in your "my lighting" list. I guess this gives you the option to enable this capability. You can also schedule a query. Check your programs. I suspect you have a scheduled query already. I cannot find these in the forum. Some explanation in forum on features would be very helpful so we don't have to ask these questions. I would expect forums to be a place where we can all share our questions and experiences. I would expect the wiki and user manuals, instead, to be the places where explanation of features and use is likely found. If I write a program that is set to run on startup; has no 'IF' or 'ELSE' content; 'Then' content is an email notification. Will this program only run ONCE on startup? I want to use as a 'recovery from power failure' notification. From the wiki: "In the new firmware, a program which is set to run at startup will likewise evaluate the If condition to determine which path to take, defaulting to the Then clause in the absence of a condition. " I would expect such a program to run only immediately after a startup, only once (until next reboot) and, in your case, to execute the "then" statement. It sounds as if yours will do as you want. If there is a document that would help me understand how this thing works let me know. Again, I tend to view the wiki as this document.
KWW Posted February 23, 2011 Author Posted February 23, 2011 Thanks! You have been very patient with this newbie. I get it. I had not picked up on there being two things: 1) wiki and 2) forum. This community provides great user support, that is critical to new folks. My neighbor is getting an ISY now as well. Thanks!
TomW Posted February 24, 2011 Posted February 24, 2011 I ran into a problem with the ISY sending an email notice at power-up because my network router was not up and running yet. Simple fix was for the ISY to wait 5 minutes and then send the power-up notice. power_up_notify program: If - No Conditions - (To add one, press 'Schedule' or 'Condition') Then Wait 5 minutes Send Notification to All Else - No Actions - (To add one, press 'Action')
robin71 Posted March 27, 2011 Posted March 27, 2011 @TomW, I don't understand how that works for you. I tried that on my end and after 5 min. the program status turns false. I thought after a wait command the If condition was reevaluated before continuing to the next step and if no conditions were present, the program terminated. But, if I create a program called "ISY Startup" that runs at start up: If - No Conditions - (To add one, press 'Schedule' or 'Condition') Then Run Program 'power-up notification ' (Then Path) Else - No Actions - (To add one, press 'Action') And the program "power-up notification" looks like this: If - No Conditions - (To add one, press 'Schedule' or 'Condition') Then Wait 5 minutes Send Notification to 'Rob' content 'ISY Power-up Notification ' Else - No Actions - (To add one, press 'Action') It then runs as expected and 5 min. later I get an e-mail & text message. Why does it work using a two program method and not one program (that runs at startup) when the program "power-up notification" is practically identical to what you have? This confuses me.
TomW Posted March 29, 2011 Posted March 29, 2011 @Robin, I checked my ISY and only have the one program and it worked just a few days ago. You are correct about the condition is rechecked after the wait statement. So I am not sure why your single program doesn't work. I am assuming that you have the "Catch-up schedule at restart" set to true in your configuration tab. Also my "grace period" is set to 15 minutes. Sorry I can't be more help. I am looking forward to hearing about your "Catch-up" parameters are. /Tom
robin71 Posted March 29, 2011 Posted March 29, 2011 My parameters are set the same. Right now i'm out of town on vacation. When i get back next week, i'm going to look into it more as I am loving the ISY and this community. I have a bunch of "away" programs with plenty of random and wait settings that are giving the illusion of being home. This stuff is so cool!
dnl Posted April 10, 2011 Posted April 10, 2011 Hi robin, I thought I would jump in to clarify one point and venture a guess about why your single program did not work as expected. An IF condition is not re-evaluated at the end of a WAIT. The IF condition is subject to re-evaluation at any time during a WAIT. All program statements run without interruption with two exceptions: WAIT and REPEAT. If you have a program with any kind of statements except WAIT or REPEAT, that program will run to completion (unless power fails during the few milliseconds or possibly seconds while it is running). If any event affects any of its IF conditions during execution, the program will run to completion and the IF condition will be evaluated for that program only after its completion. When a WAIT statement is executed, the program can be interrupted immediately if an event affects any of its IF conditions. The same is true for a REPEAT; the program can be interrupted at the bottom of a REPEAT loop. This subject has been discussed at great length on this forum. Except for the recently announced global variables that are not declared state variables, all IF conditions serve two functions. One - they control whether the THEN clause or the ELSE clause is executed. Two - they control when the IF clause is evaluated. Whenever an event affects a condition, the IF clause is evaluated and the program will execute accordingly (I am assuming the program is not disabled). As mentioned above, the next execution will not occur until after any current execution completes, or a WAIT or REPEAT is executed. If a particular condition affects the logic of a program AND you want to avoid having an associated event interrupt the execution of a program with a WAIT statement, then you must separate the code into two programs. One program has an IF clause that runs another program and the other program has code with the WAIT statement but an empty IF clause. I hope this makes sense. If you are familiar with programming, the ISY may fool you at first. Its programming model is not typical. Now for the speculation. You mentioned that your single program status changed to False after 5 minutes. I believe the only way that could have happened is that either there is a condition in its IF clause or some other program executed the else clause of the program. I hope this helps.
Recommended Posts