Skip to main content
Headliner II
September 5, 2017

Easiest way to get robust IFTTT support!

Hi, I have been spending a lot of time trying to create a simple and easy way to get IFTTT integration working. I know a few people would really like to have an easy way to get that, so here is one solution (the best, in my opinion, of course):

http://www.bronos.net/

It is basically the combination of a locally hosted machine (preferably a raspberry pi), which connects to a public broker server on the internet and waits for commands that you issue from IFTTT. To achieve this previously, you needed very tedious "hacks" using dropbox and various python scripts, or my HTTP API but dealing with port forwards, dynamic DNS hostnames and even your own SSL certificates.

With this you flash an SD-card with everything pre-installed, visit the local website to get knowledge about which will be your unique, public URL endpoint, and use that in your IFTTT webhooks.

Total cost would be a raspberry pi (B, 2 or 3, doesn't matter), the peripherals to it (SD-card, PSU, a case probably), and you are on your way.

I've used this extensively with my Alexa because IFTTT has the "trigger" keyword which can be used to trigger applets, which I in turn use to apply "presets" for my Sonos system.

I've tested it with Google Assistant as well, since those support arbitrary phrases to be learnt for IFTTT triggers (although, "play xxx" is reserved, unfortunately).

Please try it out, and let me know if you have any issues. Since this uses my HTTP API in parallel with the bronos cloud connection, everything that is supported in the HTTP API is supported via IFTTT, neat huh?

This is of course also useful for any online service that has the ability to integrate with arbitrary webhooks (if you can specify the format of the request)
    This topic has been closed for further comments. You can use the search bar to find a similar topic, or create a new one by clicking Create Topic at the top of the page.

    13 replies

    jishiAuthor
    Headliner II
    August 30, 2018

    BTW, I'm manually starting bronos-client and node-sonos-http-api using npm-start. Is there any easy way to have them start automatically when the Pi boots?


    I find that using pm2 is the easiest way to get stuff to auto start on boot, also keeping it running even if it crashes. Just search for a guide on how to install it.
    Ryan S
    Retired Sonos Staff
    September 7, 2018
    Hi everyone, today we just announced that IFTTT and Sonos have been officially integrated. Take a look at our announcement post.
    Mark good posts by pressing the like button, and select the best answer on questions you've asked to help others find solutions.
    pwt
    Virtuoso
    September 9, 2018

    BTW, I'm manually starting bronos-client and node-sonos-http-api using npm-start. Is there any easy way to have them start automatically when the Pi boots?

    I find that using pm2 is the easiest way to get stuff to auto start on boot, also keeping it running even if it crashes. Just search for a guide on how to install it.

    PM2 works fine for me. It's also fairly simple to run node-sonos-http-api as a Docker container (even on a rPi). You need to use 'host' networking, and choose the required container restart policy.
    4 x P:5 | Sub | 4 x P:1 | 3 x Connect | 2 x Boost | Connect:Amp | 2 x One | Amp | Move | Port | Era 300