ISY Portal IFTTT Integration

From Universal Devices, Inc. Wiki
Jump to: navigation, search

With ISY Portal, you can integrate with IFTTT Maker Channel and therefore have programs, variables, devices, and scenes be triggered by IFTTT events (inbound). Furthermore, you can use the Network Module to send outbound triggers to IFTTT. Starting with firmware version 4.3.3 and above, Network Module will be included in the ISY Portal.

For more information on IFTTT, please consult their website: http://ifttt.com.

Please make sure you have ISY Portal Installed and Configured first.


Creating Inbound Triggers

This integration is possible using the IFTTT Maker Channel in the THAT portion of your IFTTT recipe. The Maker channel in turn communicates with ISY Portal to control your devices, scenes, programs or state variables.

Setup Instructions - ISY Portal

  • On portal, IFTTT configuration is in Select Tool | Connectivity | IFTTT
  • First, you will need to click on "Set Key" to create an IFTTT Key that will be used to authenticate your IFTTT requests
  • Then, you need to create the events that the IFTTT Maker Channel will use:
    • Just click Add Device/Scene/Programs or State Variable, and choose the action that you want, and save it
    • It is now ready to be used on IFTTT and referenced by Event Name

Setup Instructions - IFTTT

  • Start a recipe and choose whatever you want in the THIS section. For Amazon Echo users, you can try "Amazon Alexa"
  • In the THAT, look for Maker/Make a web request
  • To configure your Maker channel, you need to use the following URL: https://my.isy.io/api/ifttt/<Event Name>/key/<Your IFTTT key> where:
    • Event Name: This is the event name you created in ISY Portal
    • IFTTT key: This is the key you created in ISY Portal
    • For your convenience, in your list of events in portal, there is a small icon beside the red X, which will give you the full URL you can cut & paste here
  • The Method should be POST
  • Click on Create Action. You are ready to test!

Passing values from IFTTT event

In addition, you can pass values from IFTTT events to a state variable or a dimmable device. To do so, set your portal event with the action IFTTT Value. Then in the maker channel, you can pass the value in the Body field. Just make sure to set the Content Type to text/plain.

Using relative or absolute values

Values can be an absolute, or relative. To send a relative value, just precede the value with a + or - .

  • Examples (Device)
    • Device values are always set as a percentage
    • Use 0, to turn off the device
    • Use +25, to increase the device level by 25%
  • Examples (Variables)
    • To increase a state variable by 10, just enter +10
    • To set your state variable to 10, then just enter 10

Creating Outbound Triggers

You can use the Network Module to send outbound triggers to IFTTT.

Setup Instructions - IFTTT

  • Go to https://ifttt.com and login
  • Create a recipe
  • In the THIS section, choose maker, and give it an Event Name (you will need this in ISY)
  • Complete your recipe with a THAT of your choice

Setup Instructions - Maker

Setup Instructions - ISY

  • Go to Admin Console | Configuration | Networking | Network Resources tab
  • Click on the Add button and give your resource a Name (you will need this in ISY Programs)
  • Click on the second column where it says Select to Edit Content. This will bring up Resource Editor
    • Choose https from the first drop down
    • Choose POST from the second drop down
    • For Host, type maker.ifttt.com
    • For Port, choose 443
    • For Timeout, use at least 1000 (if you get TCP response failures, increase the timeout)
    • For Path, construct /trigger/<Event Name>/with/key/<Key> ... you need to replace <Event Name> and <Key> with the values you retrieved in the last two sections above.
      • Example, if the Event Name is isyRules and the key is ABCDEF01234, then the path would be /trigger/isyRules/with/key/ABCDEF01234
    • If you wish to send optional parameters:
      • Change the Content Type header to: application/json
      • Change Encoding to either Raw Text or C-Escaped
      • In the Body type: { "value1" : "<your value 1>", "value2" : "<your value 2>", "value3" : "<your value 3>" }
      • Where <your value 1>, <your value 2>, and <your value 3> must be replaced with whatever parameter you wish to send to IFTTT
      • You can also use ISY Substitution Variables that will be replaced by ISY at run time before submission to IFTTT
    • Click on the Save e button on Resource Editor
  • Click on the Save button to save all your resources to ISY
  • Click on the Test button to test your resource
  • Once satisfied, you can use the resource referenced by Name in your ISY Programs

ISY Portal/IFTTT/Ring Doorbell

You can use ISY Portal/IFTTT to integrate with Ring Doorbell! For instance, you can have the ISY do any function for example, flash the lights in the house.

  • Create a State Variable for use in the ISY. This Variable will show up in ISY Portal in the dropdown (e.g. RingDoor)
  • Set up ISY portal for IFTTT use and create a ISY key for use
  • You will then have a link to use on IFTTT for example: https://my.isy.io/ap.../RingDoor/key/<YourKEYFROMisyPORTAL>
  • You will need to copy this key for later use)
  • Use the variable you created in your ISY and create a action to run it in ISY Portal. For example:
Event Name Category Resource Address Action
RingDoor Variable RingDoorbellActive 8 Set value to 1

Showing 1 to 1 of 1 entries

  • Log on to IFTTT and create a recipe using Ring Doorbell and Maker
  • Create a Recipe
  • If this then that and pick THIS
  • Choose trigger channel and search for Ring doorbell
  • When picked you have to log into Ring and follow the prompts. When done....
  • Choose a Trigger
  • New Ding Detected
 This Trigger fires every time somebody rings your Ring Doorbell

OR

  • New Motion Detected
  • Set up a trigger for what you want (ie New Ring detected)
  • Complete Trigger Fields
  • New Ding Detected
  • Which doorbell?
 Please select (e.g.) Front Door
  • Now pick THAT
  • Choose Action Channel
  • Search/pick MAKER
  • In MAKER, Choose an Action
  • Make a web request
  • Pick the web request

Use the KEY from the ISY portal, plug in in the URL field. Use the copy feature from ISY Portal works best!

    • Method: POST
    • Content Type: json+application
    • Body: Leave blank
  • Now select action
 Now you can write any program you wish that will do a action and then reset the variable to 0 again.

ISY Portal/IFTTT/ISY Nest Camera Integration

  • Very much like Ring (see above) but instead use the Nest Camera Maker channel instead

ISY Portal/IFTTT/Simplisafe Alarm System

Simplisafe Setup

  • Configure Simplisafe's email alerts to send to gmail.
  • The enhanced 24/7 Interactive Alarm Monitoring + Alerts service is required

ISY and ISY Portal Setup

  • Create the program you want to run
  • Login into the ISY Portal, setup IFTTT under Select Tool / Connectivity / IFTTT
  • Create an event and assign your program to it. For clarity, keep the name the same as the gmail label you'll create below

Gmail Setup

  • Login to Gmail
  • Use the search function to specify: •messages from no-reply@simplisafe.com
  • Subject lines from Simplisafe for the message type you want to control in the ISY Example: SimpliSafe System Disarmed. List of SimpliSafe Email subject lines:
    • SimpliSafe Secret Alert - for any activity with a sensor set to Secret Alert only
    • SimpliSafe System Armed - the system is armed in Home or Away Mode
    • SimpliSafe System Disarmed - the system is disarmed
    • SimpliSafe Error Alert: Power Outage - the Base Station has lost its connection to external power and is not operating on back-up battery
    • SimpliSafe Power Restored - the Base Station has gained it connection to external power
    • SimpliSafe Sensor Restored - a sensor that was previously not connecting to the Base Station has restored it's connection.
    • Alarm Alert! Your SimpliSafe Security System was triggered - an alarm has been triggered
    • SimpliSafe Alarm Cancelled - you have disarmed the system within the alarm duration time.
  • Create a filter for it, and create a unique label for the filter. I suggest naming it the same as the ISY event you created above (Create filter with this search at the bottom of the gmail search window)

IFTTT Setup

  • Create a recipe
    • For the IF, use the gmail channel and the "New email in inbox from Search" option. •In the text box, enter label:disarmed
      • (Substitute "disarmed" with whatever label name you created and want to act on)
      • This ties the subject line to the discrete action on the ISY
    • For THEN, pick the Maker channel. Follow the directions in the wiki for creating an inbound trigger •You'll need the key provided by the ISY portal under IFTTT
      • You'll need the event name you created under IFTTT on the ISY portal
      • Example :

https://my.isy.io/api/ifttt/Disarmed/key/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Notes

  • Its a one way relationship from Simplisafe to the ISY. There are lot of requests on their forum to support IFTTT, maybe one day....
  • It can take between 15 seconds and a few minutes for the ISY Program to execute. Its to be expected given email integration
  • Maybe this would work with the SMS channel. Simplisafe can send to text.
  • The above is a template that can work for anything that generates consistent email content