ISY-99i Series INSTEON:Networking:Mobile Notification
Mobile Notification
With the Networking module, you can send push notifications to both Android and IOS without using SMS messages (so works with non-phone devices, like tablets and media players).
All of these products utilize the respective push notification infrastructures - and use very similar APIs. You must first setup an account for respective API and install appropriate third party product from the respective market/store. To configure in the ISY, follow these steps:
UD Mobile
UD Mobile Notifications:
https://wiki.universal-devices.com/index.php?title=UD_Mobile#Notifications_Tab
MobiLinc Connect
MobiLinc on IOS (not Android - yet) offers notification within it's subscription to the connect service. See http://mobilinc.com/features/push/
Prowl
Apps
Instructions
- Sign up at https://www.prowlapp.com
- Enter credentials into Prowl on your IOS device
- Send a test notification from https://www.prowlapp.com/add_notification.php to verify installation
- Create an API key at https://www.prowlapp.com/api_settings.php
- For each message you wish to send, create a network resource as follows
- 'https' 'post'
- host is 'api.prowlapp.com'
- port is 443
- path is '/publicapi/add'
- timeout at least 2000ms (SSL takes a while to become established - can be lower if you change method to 'http' though
- mode is 'C Escaped'
- body to 'apikey=#API Key#&application=ISY&event=TEST ONLY&description=Test Notification\n'
- (obviously - replace #API Key# with your API key
Notify My Android
Apps
Instructions
- Sign up at https://www.notifymyandroid.com
- Enter credentials into 'Notify My Android' on device
- Send a test message from https://www.notifymyandroid.com/notify.php to verify installation
- Create an API key at https://www.notifymyandroid.com/account.php
- For each message you wish to send, create a network resource as follows
- 'https' 'post'
- host is 'www.notifymyandroid.com'
- port is 443
- path is '/publicapi/notify'
- timeout at least 2000ms (SSL takes a while to become established - can be lower if you change method to 'http' though
- mode is 'C Escaped'
- body to 'apikey=#API Key#&application=ISY&event=TEST ONLY&description=Test Notification\n'
- (obviously - replace #API Key# with your API key
Pushover
Apps
- IOS - https://itunes.apple.com/us/app/pushover-notifications/id506088175
- Android - https://play.google.com/store/apps/details?id=net.superblock.pushover
Instructions
- Sign up at https://pushover.net/login
- Make a note of your user key
- Create an application at https://pushover.net/apps
- Make a note of your application key
- Enter same credentials into 'Pushover' app on device
- For each message you wish to send, create a network resource as follows
- 'https' 'post'
- host is 'api.pushover.net'
- port is 443
- path is '/1/messages.json'
- timeout at least 2000ms (SSL takes a while to become established - can be lower if you change method to 'http' though
- mode is 'C Escaped'
- body to 'token=#Application Token#&user=#User Key#&message=Test Notification'
- full API documentation is at https://pushover.net/api
Pushbullet
Requires at least version 4.6.2. Currently does not work on 5.x (as of 5.0.10) because it does not support SNI in network resources. This is arriving shortly.
Apps
- IOS - https://itunes.apple.com/us/app/pushbullet/id810352052
- Android - https://play.google.com/store/apps/details?id=com.pushbullet.android
- Chrome - https://chrome.google.com/webstore/detail/pushbullet/chlffgpmiacpedhhbkiomidkjlcfhogd
- Firefox - https://addons.mozilla.org/en-US/firefox/addon/pushbullet/
- Others - https://www.pushbullet.com/apps
Instructions
- After signing up, visit https://www.pushbullet.com/account and get your access token.
- For each message you wish to send, create a network resource as follows
- 'https' 'post'
- host is 'api.pushbullet.com'
- port is 443
- path is '/v2/pushes'
- timeout at least 2000ms (SSL takes a while to become established - can be lower if you change method to 'http' though
- mode is 'C Escaped'
- In Headers, change 'Content type' to application/json
- Add an 'Authorization' header - put your access token in the username - leave the password blank
- Place: '{"type": "note", "title": "Note Title", "body": "Note Body"}' in the Body
- Ensure 'SNI' is checked
- Update - and test.
- Documentation is at https://docs.pushbullet.com/v2/devices/ and https://docs.pushbullet.com/v2/pushes/
Autoremote (MUST HAVE if you are a Tasker User)
Apps
Instructions
Pushsafer
Apps
- iOS - https://itunes.apple.com/app/pushsafer/id1096581405
- Android - https://play.google.com/store/apps/details?id=de.appzer.Pushsafer
- Win10 - https://www.microsoft.com/store/apps/9NBLGGH51ZV6
- Chrome, Firefox Webpush: https://www.pushsafer.com/en/apps
Instructions
- Sign up at https://www.pushsafer.com
- Make a note of your private or alias key
- For each message you wish to send, create a network resource as follows
- 'https' 'post'
- host is 'pushsafer.com'
- port is 443
- path is '/api'
- timeout at least 2000ms (SSL takes a while to become established - can be lower if you change method to 'http' though
- mode is 'C Escaped'
- body to 'k=#Private or Alias Key#&d=#device id#&m=Test Notification&t=Test Notification Title'
- full API documentation is at https://www.pushsafer.com/en/pushapi
Additional Info
Many APIs have other optional parameters you can send as well - details are on the sites in the API documentation.
On the ISY - there are potentially some issues with SSL negotiation depending on if you have the PRO version or not. Go into the dashboard (http://www.universal-devices.com/99i/dashboard.jnlp) and in the network settings make sure 'HTTPS Client Settings' is set to 'TLS 1.2' and 'All' is set for strength. Uncheck 'Verify'.
Other settings may work - this is just what works for me - and it's a security best practice now to avoid SSL3.
Before 4.3.1 - a separate network resource needs to be created for each potential action. So - one for 'Light On' and another for 'Light Off'. This makes it difficult to send, for instance, the current temperature. 4.3.1 introduced substations in network resources, with a couple of restrictions. You cannot use # to refer to the triggering device, and he network resource must NOT be 'URL Encoded'.