It’s all the outrage, but little solutions. IFTTT hides most of the applets behind a paywall. You are asked to pay what you feel is right (as long the feeling of righteousness gets you over $1.99 threshold). I guess that works as a strategy to extract the money out of you. Despite having a couple of applets myself, I never was a fan of IFTTT. Bridging ecosystems with a 3rd party service is always an added risk and complication. For all of you who relied on IFTTT to bridge Alexa, I have IFTTT Pro Alternative.
Recreating: IFTTT Alexa -> Webhooks
My IFTTT applets were used to invoke voice assistant (Google Assistant, Alexa) and send a REST request to a server. It was a lazy, but very convenient way to handle custom commands. You can still do this with IFTTT for free if the number of applets is not greater than 3. I will show IFTTT Pro Alternative – free and without imposed limits.
In the past, I would use IFTTT to trigger “Battle station operational” command to wake up my PC. Wake-On-LAN isn’t a skill you can simply add to Alexa devices (yes there is a skill for that, but works of a 3rd party server – no thank you), so I had to make a web request to my NodeRED server. The server would send the WOL message to my PC and notify me once the computer is online.
I use NodeRED as my automation server, but the whole thing can be integrated with HASS as well. In my recent article, I talked about AlexaRemote2. An excellent tool to inspect and play with AWS based Alexa services. I’m going to use this node as an IFTTT Pro Alternative.
This is a 2 step process. First, you have to create a routine in Alexa app. This method will work without the routine, but Amazon Echo device will query the Internet and insist on giving you, an unwanted at this point, answer. Setting up a routine prevents Alexa from triggering web search.
Create a routine “Alexa, …” fill it up with the voice query of your choice, select a single (or all) devices to respond to that and add Alexa reply ie “It’s done!” or “Working on it”.
If you never used AutoRemote2 node, please check the original article. Pay close attention to how to authenticate, and how to re-authenticate automatically to maintain the session. I have a flow just for that process.
AutoRemote2 has a nifty little node called Device Activity. It piggybacks on AWS server and sends everything that is going on back to NodeRED – including our routines! There is your trigger! It’s very fast, and routine is listed as a JSON formatted (learn more about JSON) entry – an easy phrase to catch and filter.
The entry is stored in
msg.payload.description.summary and it contains the whole Alexa routine trigger:
testing all systems. To filter individual routines out, use a switch node with multiple outputs (use regex matching, as “Alexa” wake word is sometimes included in the result).
At this stage, your imagination is the limit. Once the phrase is captured, you can link it to virtually anything. It’s like having your own little IFTTT server stored on a Raspberry Pi device. Previously, you had to use IFTTT to issue a web request via 3rd party server to achieve the same goal. Now it’s all done locally. Haven’t I told you IFTTT was a bad idea?
Unfortunately, I have to address the elephant in the room. Apart from NORA, Google Assistant has nothing that resembles (for now) AlexaRemote2 toolset. I already picked Alexa as my home assistant of choice (mostly cause having Google Assistant on the phone is enough for all the fancy searches Google Home users like to boast about). Amazon Echo ecosystem proves once again why it’s better suited for any DIY automation enthusiast. If I come across new ways to bypass IFTTT Pro restrictions I will definitely write about it again. Got any comments? Let me know in this Reddit thread.