ISY-99i Series INSTEON:Networking:Mobile Notification

From Universal Devices, Inc. Wiki

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

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