I just received my Amazon IoT button today and got it working!
I configured the button using the sample Amazon Lamba service to "send an email" when the button is pressed.
I used the Indigo plug-in "Better Email"
viewforum.php?f=177 to detect the incoming email and parse it.
I configured a trigger in Indigo that toggles a light.
It works, but there is a time delay as the Amazon button takes a few seconds to send the keypress to the AWS cloud, and then there is a delay while AWS fires up the Lambda task to send the email, then Indigo receives the email and finally the device is toggled.
This is primarily a "proof of concept" that the $20 Amazon button can control any Indigo device or action.
There is probably a more elegant solution using REST api's or other methods to avoid the slow-but-works email-to-mail via the cloud methodology, but as I had never used AWS, Lambda, node.js, or the Better Email plug-in before, I am happy to have done this in just a few hours time.
Some tips (in case you give it a try). Please note that this is not a full step-by-step, just highlights of some things to watch out for:
Order the Amazon IoT button/programming information:
https://aws.amazon.com/iot/button/Create an Amazon account (if you don't already have one)
Create an Amazon AWS account
Create a new email account (Gmail is fine) to only use for this (better than mingling with an existing account)
When configuring the AWS IoT/Lambda account be sure to change the default pull-down from "Custom IoT rule" to "IoT button" or it will not work. (Everywhere else, defaults will work fine)
When configuring Better Email plugin, enable debugging so you can see what is going on.
Use Better Email setting for IMAP and "regular expressions" to parse the subject line for "SINGLE", "DOUBLE", or "LONG" - (you don't need to write a fancy regex, but otherwise it won't parse the subject line properly.)
I had trouble with the AWS Lambda function. I initially used it with my own email address and when I tried to edit the function to use the new email account I created just for the button, I couldn't get it to work anymore. Since AWS uses encryption certificates, endpoints, and several other opaque configuration settings (at least for an AWS newbie like me), I ended up creating another AWS account to get a "clean start" and that worked fine.
NOTE: Save the keys/certificates that AWS generates (they are just text files). If you should need to change the IoT button WiFi settings (SSID and/or password), you'll want to be able to re-initialize it with the same keys/certificate files so you don't have to re-create the AWS/Lamda functions, etc.
I