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

From Universal Devices, Inc. Wiki
Jump to navigation Jump to search
mNo edit summary
 
(3 intermediate revisions by 2 users not shown)
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''' ==
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===
* 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
** 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'''
** 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


===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.
Many APIs have other optional parameters you can send as well - details are on the sites in the API documentation.


Line 109: Line 124:
Other settings may work - this is just what works for me - and it's a security best practice now to avoid SSL3.
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.
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'.

Latest revision as of 22:57, 21 June 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

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

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.

Autoremote (MUST HAVE if you are a Tasker User)

Apps

Instructions

Pushsafer

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'.