ISY Portal IFTTT Integration

From Universal Devices, Inc. Wiki
Revision as of 20:33, 11 February 2016 by Mkohanim (Talk | contribs) (Setup Instructions - ISY)

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:

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/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:<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 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
    • 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