Jump to content

notify messages


Recommended Posts

Posted

In a program if you add "notify" and have it send an email upon certain "if" criteria, can you edit the message?  For example, when pool reached  a certain temperature, send me an email with the contents telling me what the temperature is?

Posted

@jkraus You should be able to do that if the temperature is something being reported back to a node in the ISY. You would setup a notification with a variable and reference where the temp is being stored.

See this about more information:

https://wiki.universal-devices.com/index.php?title=ISY-994i_Series:EMail_and_Networking_Substitution_Variables

Setup the note in the Configuration -> Emails/Notifications -> Customizations

It might be a multi-step process to get setup, but it could certainly be done. I don't go that far into writing programs so can't give you the full idea of method to achieve this, but can say it should be something that is possible.

The Program itself is not editing the message, but the message you call in the program can use variables that can then tell you what the temp of the pool is. 

 

Posted

Yeah, sorry I couldn't get more specific with it. I don't have anything that advanced to have the experience. So I'm just saying that it should be possible. You've just got to find the best way to find the data or make the data work for your situation. 

Perhaps others have the experience to help more detailed steps for you.

What are you using to track the temp of the pool? A node server (which one?) or something else reporting temp back to ISY?

About as far as I've gotten with variables was to have a generic notification telling me what light turns on/off and when it happened when the house is in "away" mode. Just so I have a general idea of what's turning on/off to give the house a lived in look. But those are specific variables available in the notification customization process. You're probably needing to get a little more detailed to find where the temp is being kept. 

 

 

Posted

The UD mobile get the temp so not A big problem to solve, I was more just using it as an example of how to customize to solve my Curiosity for possible other applications

Posted

@jkraus share a screen shot of what you see in the Admin Console (not UD Mobile) for the sensor. If there's a specific node for it perhaps there's a variable that can be used in the body of the email notification. Quite possibly even setup a network resource to push UD Mobile notification as well, but that's a little more involved (IMO). 

Since UD Mobile is able to show a temp it's getting fed back to a node somewhere. Just figure that one out and add as variable in the mail message. Pictures really do say a thousand words sometimes.

For instance...this is an old attempt I had for a notification with lots of variables. I don't use it now, but think it worked when I did use it.

Basically it told me what device did something and at what time.

image.png

 

 

Posted

to repeat for @jkrausanyone that missed it:

To create your email or notification substitution:

First make note of the current value of the temperature as shown on the node for the admin panel, that will be 95.2 for my example.  Next head to PG2 or PG3 interface (note my screenshots are not from YoLink Node server, I don't own that product).

First click from the PG2 or PG3 dashboard click on "details" and next on "Nodes" for the YoLink Node server.

then scroll down until you find the node in question (#1 in the screen shot below)

locate the temperature that you made a note of from the current value showing in the admin console (#2 in the screen shot below)

Trace back to the left and find the Driver for that row (#3 in the screen shot below) In this case we found GV15

image.thumb.png.58372ba42494ece2f2c2d385d2e9a04a.png

Next head back to the Admin Console for one more value, from the node that displays the node address:

image.png.212fb1e8b2710efc7eee4baa73d05612.png in this case it's n015_temps.

Now we will put that together with the base substitution:

starting with:  ${sys.node.<node address>.<driver>}

we will use the two things we found above to arrive at: ${sys.node.n015_temps.GV15} (your will be different than mine)

Now create your notification using the string created ${sys.node.n015_temps.GV15} where you want the temp to be substituted in the notification.

----

About program creation, If you create the simplest program possible:

If
     Pool Temp > 80.0
then
     Notify
else
     (none)

the problem that you will have is that every time the temp updates when it's over 80 you will get another notification.  Especially annoying if the node server is reporting temps in tenths of a degree.

  To solve that you need 2 programs:

Program 1

If
     Pool Temp > 80.0
then
     Notify
     Disable Program 1      (this must be the last THEN statement since we are disabling self)
else
     (none)

Program 2   (also set this to Run at Startup)

If
           Pool Temp  < 78.0
    OR Time is 8:00 AM
    OR Time is 6:00 PM
    OR Pool Temp > 85.0
    OR Pool Temp > 90.0
then
     Enable Program 1      (this must be the last THEN statement since we are disabling self)
else
     (none)

In Program 2 i included a number of OR's in the if statement.... add or remove whatever you want when you create your program.  The first IF element, will re-enable after the temp drops.. Best not to make the enable/disable temps equal or too close as you run the risk of too many notifications, that's why I chose >80 and <78.  The second and Third will give you reminders if the temp is high sometime after 8AM and 6PM, likewise #4 and #5 will give updates as the temp continues to rise.  It should be pointed out that enabling the program won't actually trigger it, but the next time the temp changes after the enable, will trigger a new notification.

If you'd like this to work a little differently than shown and can't figure out the changes needed post back and describe and I'll help you work it out.

 

 

  • Like 2
  • Thanks 1
Posted (edited)

Could you send the pool temp directly to the notification rather than looking for the Node server? Usually in programs can assign a tempvar = node temp and then use tempvar in notification. 

Edited by brians
Posted
13 minutes ago, brians said:

Could you send the pool temp directly to the notification rather than looking for the Node server?

that's actually what the above does.  You're only look up the driver name via the polyglot interface during set up.  ${sys.node.<node address>.<driver>}  is actually coming from what the node server has sent to the ISY.

16 minutes ago, brians said:

Usually in programs can assign a tempvar = node temp and then use tempvar in notification. 

Sure you can do that.  It's an extra step, and the time will just be a number.  using the above method you'll get whatever formatted Value that you see displayed in the ISY.  In the case i used above formatted temp looks like this: image.png.28c8374859a8feefe14abf8342558d1c.png which is exactly what will be substituted for ${sys.node.n015_temps.GV15}

But yes you can set a variable = to the node server value, adds programming steps and uses variables but sure...

  • Like 1
Posted

@MrBillAhh I didn't know it displayed that way.. I only used it for figuring out a door lock user. Would be nice if there was some easier way to get the link, or reference in notifications.

Posted
13 hours ago, brians said:

@MrBillAhh I didn't know it displayed that way.. I only used it for figuring out a door lock user. Would be nice if there was some easier way to get the link, or reference in notifications.

It's really not too hard once you realize what you're doing.  It would be nice if the driver ID appeared in the admin console to the right of the value name perhaps in white text.   I suggested that years ago.

Guest
This topic is now closed to further replies.

×
×
  • Create New...