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

From Universal Devices, Inc. Wiki
Jump to navigation Jump to search
No edit summary
mNo edit summary
Line 100: Line 100:
* '''Autoremote'''
* '''Autoremote'''
** Please see http://wiki.universal-devices.com/index.php?title=ISY-99i_Series_INSTEON:Networking:Mobile_Notification:Tasker
** Please see http://wiki.universal-devices.com/index.php?title=ISY-99i_Series_INSTEON:Networking:Mobile_Notification:Tasker


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 22:08, 28 November 2014

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

You need the appropriate third party product from the respective market/store:


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


All of these products utilize the respective push notification infrastructures - and use very similar APIs.


To configure in the ISY, follow these steps:


Setup account for respective API:

  • Prowl
    • 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
    • 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'


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



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.