johnmsch Posted August 6, 2016 Posted August 6, 2016 (edited) I'm looking to add Push notifications to my ISY994i. Although doing email and text notifications work fine, I'd really prefer Push. This would be pushing to my iPhone 6S running iOS 9.3 on the AT&T network. What do you guys use? Edited August 6, 2016 by johnmsch
Jimbo.Automates Posted August 6, 2016 Posted August 6, 2016 Pushover. Allows lots of customization of the notification, including using the phone alarm to override silent mode for important ones, at least on Android. Sent from my Nexus 6P using Tapatalk
PurdueGuy Posted August 6, 2016 Posted August 6, 2016 I use Prowl for all my push notifications on iOS. https://www.prowlapp.com
Kush Posted August 6, 2016 Posted August 6, 2016 johnmsch I have the same as you, an iPhone 6S, iOS 9.3 and AT&T. I use both Pushover and Prowl (but prefer Pushover) and have folders controlled by variables so I can easily switch between them should there be any problems. I also have different sounds assigned to things like doors open/close, motion detected, or entering/exiting my home area with MobiLinc. I still use texts or email but for critical things like dead batteries, water leaks, or motion when away etc.
paulbates Posted August 6, 2016 Posted August 6, 2016 This post shows some of the 'how to do it" Also this wiki article with instructions on several messaging platforms I looked at all of them and decided to try pushover first and have stuck with it. I'm very happy with it. I use a combination of ISY alerts, and direct email alerts from things like my alarm system... all in one spot. Paul
MWareman Posted August 6, 2016 Posted August 6, 2016 (edited) I use Pushover for all my user directed notifications. Highly recommended! I also tried most out there for writing the Wiki article linked above but ended up sticking with Pushover. I like that the network resource can send to multiple devices, use different icons for different events, send custom sounds etc... It's also cross platform... Edited August 6, 2016 by MWareman
johnmsch Posted August 6, 2016 Author Posted August 6, 2016 Thanks guys. Only been using MobiLinc for a couple months and didn't realize I could do Push through it via the ISY. Just did a test and it works perfectly. Pushover looks really good also. Is there an article/post/thread around here showing how to set it up and how to send a Push from an ISY program?
MWareman Posted August 7, 2016 Posted August 7, 2016 Is there an article/post/thread around here showing how to set it up and how to send a Push from an ISY program? Take a look at post #6 above. Paul linked to the Wiki page on setting this up. Michael.
johnmsch Posted August 8, 2016 Author Posted August 8, 2016 Take a look at post #6 above. Paul linked to the Wiki page on setting this up. Michael. Saw that post earlier but never clicked the links. That's just what I'm looking for.
johnmsch Posted August 17, 2016 Author Posted August 17, 2016 Finally have some time to get back to this little project, but I'm already stuck. In the wiki article mentioned in post #6, it says: Sign up at https://pushover.net/login Make a note of your user key So far, so good. Create an application at https://pushover.net/apps Make a note of your application key Here's where I'm stuck. I don't see any apps at that link that have to do with the ISY994i, so how do I "Create an application"?
johnmsch Posted August 17, 2016 Author Posted August 17, 2016 Ok, all setup and the first test push went fine. Can someone please post an example of where you are calling the Push notification from an ISY program? Also, do we have to "hardcode" each push message? In other words, can we setup a generic push, and in the program that calls it, pass it the message to send, or does each message have to be specifically defined in Network Resources?
Scottmichaelj Posted August 17, 2016 Posted August 17, 2016 Ok, all setup and the first test push went fine. Can someone please post an example of where you are calling the Push notification from an ISY program? Also, do we have to "hardcode" each push message? In other words, can we setup a generic push, and in the program that calls it, pass it the message to send, or does each message have to be specifically defined in Network Resources? So first obviously you configure your Pushover account. Then yes you need to setup a Push and variables you want for each item. So for example say you want to know every time the alarm is armed, you could do a name "Elk Alarm Armed for Night" then in the configuration body put something like "ELK Alarm was Armed for the night on ${alert.date} at ${alert.time}" and save. Then you can have a program like: ELK Notify Armed Night Instant - [iD 001D][Parent 0027] If Elk Area '1' 'Armed State' is Armed Night Instant Then Send Notification to 'Pushover' content 'ELK Alarm Armed for Night' Else - No Actions - (To add one, press 'Action') Make sense? Hope this helps. Nothing needs to be done in the network resources.
MWareman Posted August 17, 2016 Posted August 17, 2016 So first obviously you configure your Pushover account. Then yes you need to setup a Push and variables you want for each item. So for example say you want to know every time the alarm is armed, you could do a name "Elk Alarm Armed for Night" then in the configuration body put something like "ELK Alarm was Armed for the night on ${alert.date} at ${alert.time}" and save. Then you can have a program like: ELK Notify Armed Night Instant - [iD 001D][Parent 0027] If Elk Area '1' 'Armed State' is Armed Night Instant Then Send Notification to 'Pushover' content 'ELK Alarm Armed for Night' Else - No Actions - (To add one, press 'Action') Make sense? Hope this helps. Nothing needs to be done in the network resources. That's for email based connectivity - I think OP is asking about network resource pushing.... Very similar though. In the 'Then', select the network resource instead of notification. On a recent ISY firmware, you can now use substitutions. Make sure you don't use 'Encode URL' if you expect substitutions to work. Also, you cannot use any # references in substitutions. Michael.
paulbates Posted August 17, 2016 Posted August 17, 2016 (edited) John, here is one. Pick 'Networking' for the action, then "Resource", then the name of the resource you created that you want to use in the program. That will execute the resource at that point... if it has variable or module substitutions, they will have the values they are when you execute the resource. Sprinkler - 4 - Notify on Dry Area Program Complete - [ID 0038][Parent 0012] If 'Yard / Sprinklers / Hot Zones - Manual ISY' Status is Not Running Then Resource 'Pushover Sprinkler Log - Completed dry areas schedule' Else - No Actions - (To add one, press 'Action') Paul Edited August 17, 2016 by paulbates
Scottmichaelj Posted August 18, 2016 Posted August 18, 2016 That's for email based connectivity - I think OP is asking about network resource pushing.... Very similar though. In the 'Then', select the network resource instead of notification. On a recent ISY firmware, you can now use substitutions. Make sure you don't use 'Encode URL' if you expect substitutions to work. Also, you cannot use any # references in substitutions. Michael. Must have missed that. Is there any advantage doing it via network resources vs email outside of the issues with SSL security issue now not working with email providers?
giesen Posted August 18, 2016 Posted August 18, 2016 Email can possibly suffer delays depending on how you're set up... Calling a REST API should be nearly instantaneous Sent from my SM-N910W8 using Tapatalk
paulbates Posted August 18, 2016 Posted August 18, 2016 Must have missed that. Is there any advantage doing it via network resources vs email outside of the issues with SSL security issue now not working with email providers?Co Scott- easier to show it as an example with the Pushover mobile app/service. Pushover is an alternative to email/text services. The Pushover app/service gives me a report of my house, organized in different views: Pushover main view for my house: Pushover list of all activities in time order: Pushover view of my garage door messages only: Each pushover grouping (they call it an "app") can have multiple message types in it, this is my sprinkler list The downside is that there is a little bit of a learning curve to get it going. Paul
johnmsch Posted August 18, 2016 Author Posted August 18, 2016 Thanks so much guys. This forum is an absolute gold mine of information. On a recent ISY firmware, you can now use substitutions. Make sure you don't use 'Encode URL' if you expect substitutions to work. Also, you cannot use any # references in substitutions. Michael - could you please expand on what you mean by substitutions, or point me to some documentation? Hopefully, the following is a better explanation of what I'm looking for... Let's say that I want a push message whenever a few lights come on. Call them Barn, Shed and Outhouse. For each of these, I have to go to the Admin Console -> Configuration tab -> Networking tab -> Network Resources tab and create a resource for each one. The first one will have the hardcoded message "Barn light is on". I then make a copy of that one and change the message to "Shed light is on", then another copy and change the message to "Outhouse light (and exhaust fan) is on". I then create 3 programs, one for each of the lights, and use the corresponding resource to get the push message when that particular light switch is turned on. It would be nice if I could just create one resource, and in the message use something like a string variable such as %MessageString%. Then, from each one of those 3 programs, I somehow set that variable to the appropriate message I want pushed, or pass it like a command line parameter when I call the resource. This way, you actually could have just one resource defined and use it by multiple programs/scenes.
paulbates Posted August 18, 2016 Posted August 18, 2016 John Here is a sample of adding substitution to resources: http://forum.universal-devices.com/topic/19499-pushover-syntax/?p=183270 ${var.2.27} -- this means substitute a variable at that point in the network resource. .2. means its one of the state variables in the admin console. .27 means it is state variable ID 27 on the list of state variables. Unfortunately you can't use the variable's name. ${mod.weather.temp.hi.24h} -- this means substitute something from an ISY module. In this case, I have the ISY climate module, and I want the 24 hour hi temp to be displayed at this point. See my sprinkler picture in my post above to see how it looks in the delivered message. Here are the variable substitution docs in the wiki. You should be able to get started with what's posted above. Paul
MWareman Posted August 18, 2016 Posted August 18, 2016 Thanks so much guys. This forum is an absolute gold mine of information. Michael - could you please expand on what you mean by substitutions, or point me to some documentation? Hopefully, the following is a better explanation of what I'm looking for... Let's say that I want a push message whenever a few lights come on. Call them Barn, Shed and Outhouse. For each of these, I have to go to the Admin Console -> Configuration tab -> Networking tab -> Network Resources tab and create a resource for each one. The first one will have the hardcoded message "Barn light is on". I then make a copy of that one and change the message to "Shed light is on", then another copy and change the message to "Outhouse light (and exhaust fan) is on". I then create 3 programs, one for each of the lights, and use the corresponding resource to get the push message when that particular light switch is turned on. It would be nice if I could just create one resource, and in the message use something like a string variable such as %MessageString%. Then, from each one of those 3 programs, I somehow set that variable to the appropriate message I want pushed, or pass it like a command line parameter when I call the resource. This way, you actually could have just one resource defined and use it by multiple programs/scenes. I believe Paulbates (above) has pointed to the same wiki page I would have pointed to. The ISY does not support string variables - so that's not possible. I do know it's on a wish list - but no timeline yet... if it's even ever accepted. The best you can do is a separate resource for each device you wish to notify... Set the message to 'Outhouse light is ${sys.node.11 22 AA 1.ST}' (change '11 22 AA 1' for the address of the load device). At runtime, the ${..} will be substituted for the formatted value ("on" or "off"). Caution though - if it's a dimmer it will try sending something like 80% if not full on or off - and the % will cause an error. You cannot do 'URL Encoding' to fix this either ('Encode URL' will prevent the substitution occurring because it encodes at save time - modifying the substitution string). If it's a dimmer, consider 'Outhouse light is ${sys.node.11 22 AA 1.raw}' and you will get a value from 0 to 255 instead - and no characters needing encoding. I've already raised a feature request to defer URL encoding to runtime (rather than rule save time) - but that's also still pending. Michael.
Scottmichaelj Posted August 18, 2016 Posted August 18, 2016 Scott- easier to show it as an example with the Pushover mobile app/service. Pushover is an alternative to email/text services. The Pushover app/service gives me a report of my house, organized in different views: Pushover main view for my house: IMG_1188.PNG Pushover list of all activities in time order: IMG_1187.PNG Pushover view of my garage door messages only: IMG_1190.PNG Each pushover grouping (they call it an "app") can have multiple message types in it, this is my sprinkler list IMG_1193.PNG The downside is that there is a little bit of a learning curve to get it going. Paul Thanks for that but I am well aware of how Pushover works. I actually developed a third party driver for RTI remotes to use the service. I just have NEVER seen a delay between email or API EVER, its ALWAYS been instantaneous. I been using it since it was launched. I love the service and highly recommend Pushover.
giesen Posted August 18, 2016 Posted August 18, 2016 Pushover also doesnt allow emergency-level notifications via email, but does via the REST API. There's also some cool stuff you can do via the API, such as read acknowledgements, having Pushover call a callback URL, etc. Sent from my SM-N910W8 using Tapatalk
MWareman Posted August 18, 2016 Posted August 18, 2016 (edited) Pushover also doesnt allow emergency-level notifications via email, but does via the REST API. There's also some cool stuff you can do via the API, such as read acknowledgements, having Pushover call a callback URL, etc. Sent from my SM-N910W8 using Tapatalk Yep - I use all of that! Regular no noise notifications for garage door up and down, emergency notification when it's been left open. Alarm notifications that are persistent on the device until acknowledged. Doorbell sound when the doorbell is pushed... These things cannot be specified via email I don't think... Edited August 18, 2016 by MWareman
Recommended Posts