ISY-99i Series INSTEON:Networking:Mobile Notification: Difference between revisions

From Universal Devices, Inc. Wiki
Jump to navigation Jump to search
mNo edit summary
No edit summary
Line 1: Line 1:
==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).
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).


You need the appropriate third party product from the respective market/store:
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:


* '''Prowl'''
** IOS - http://itunes.apple.com/us/app/prowl-growl-client/id320876271
* '''Notify My Android'''
** Android - https://market.android.com/details?id=com.usk.app.notifymyandroid
* '''Pushover'''
** IOS - https://itunes.apple.com/us/app/pushover-notifications/id506088175
** Android - https://play.google.com/store/apps/details?id=net.superblock.pushover
* '''Pushbullet'''
** 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
* '''Autoremote''' (MUST HAVE if you are a Tasker user!)
** Android - https://play.google.com/store/apps/details?id=com.joaomgcd.autoremote&hl=en


== '''MobiLinc Connect''' ==
'''MobiLinc''' on IOS (not Android - yet) offers notification within it's subscription to the connect service. See http://mobilinc.com/features/push/


Additionally, '''MobiLinc''' on IOS (not Android - yet) offers notification within it's subscription to the connect service. See http://mobilinc.com/features/push/
== '''Prowl''' ==
===Apps===
* IOS - http://itunes.apple.com/us/app/prowl-growl-client/id320876271
===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===
* Android - https://market.android.com/details?id=com.usk.app.notifymyandroid
===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


All of these products utilize the respective push notification infrastructures - and use very similar APIs.  
== '''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




To configure in the ISY, follow these steps:
== '''Pushbullet''' ==
===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
** 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===
* Android - https://play.google.com/store/apps/details?id=com.joaomgcd.autoremote&hl=en
===Instructions===
* Please see http://wiki.universal-devices.com/index.php?title=ISY-99i_Series_INSTEON:Networking:Mobile_Notification:Tasker


Setup account for respective API:
== '''Pushsafer'''==
 
===Apps===
* '''Prowl'''
iOS - https://itunes.apple.com/app/pushsafer/id1096581405
** Sign up at https://www.prowlapp.com
Android - https://play.google.com/store/apps/details?id=de.appzer.Pushsafer
** Enter credentials into Prowl on your IOS device
Win10 - https://www.microsoft.com/store/apps/9NBLGGH51ZV6
** Send a test notification from https://www.prowlapp.com/add_notification.php to verify installation
Chrome, Firefox Webpush: https://www.pushsafer.com/en/apps
** Create an API key at https://www.prowlapp.com/api_settings.php
===Instructions===
** For each message you wish to send, create a network resource as follows
* Sign up at https://www.pushsafer.com
*** 'https' 'post'
* Make a note of your private or alias key
*** host is 'api.prowlapp.com'
* For each message you wish to send, create a network resource as follows
*** port is 443
** 'https' 'post'
*** path is '/publicapi/add'
** host is 'pushsafer.com'
*** timeout at least 2000ms (SSL takes a while to become established - can be lower if you change method to 'http' though
** port is 443
*** mode is 'C Escaped'
** path is '/api'
*** body to 'apikey=#API Key#&application=ISY&event=TEST ONLY&description=Test Notification\n'
** timeout at least 2000ms (SSL takes a while to become established - can be lower if you change method to 'http' though
**** (obviously - replace #API Key# with your API key
** 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
* '''Notify My Android'''
** 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'''
** 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'''
** 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
*** Update - and test.
**** Documentation is at https://docs.pushbullet.com/v2/devices/ and https://docs.pushbullet.com/v2/pushes/
 
 
* '''Autoremote'''
** Please see http://wiki.universal-devices.com/index.php?title=ISY-99i_Series_INSTEON:Networking:Mobile_Notification:Tasker
 


== '''Additional Info'''==
Many APIs have other optional parameters you can send as well - details are on the sites in the API documentation.
Many APIs have other optional parameters you can send as well - details are on the sites in the API documentation.



Revision as of 17:29, 21 February 2017

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:


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

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'


Pushbullet

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
    • Update - and test.

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.

Currently - 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. Version 5 of ISY is likely to make available variable substitution in network resources, which will remove this shortcoming.