Amazon Echo Developers Access


(Ron) #1

I registered with Amazon for Developers Access for their new Echo Device.
http://www.amazon.com/gp/html-forms-controller/Echo_Developer_Interest

I have not heard back from them. Has anyone else tried this registration ?

Just curious if they are contacting anyone about development access.


(Ron) #2

Nobody replied so I assume Amazon isn’t granting anyone this access even though the have the page to make the request. This makes me wonder if any of the devs on the SmartThings team are in touch with Amazon to get this thing integrated. This would be an amazing device to have attached to smart things. It’s a natural pairing.


(Brian Smith) #3

Just got this from Amazon:

Software Development Kit Beta—For those who want to help shape Echo’s future, the team is working on an SDK to help hobbyist and enthusiast developers create new apps and experiences. If you’re interested in building your ideas during a limited-participation beta ahead of the SDK’s public release, sign up here.

When I get home I’ll edit this with the link as well. Doing this from my phone.


(Geko) #4

The sign-up page has been there since last year.
https://developer.amazon.com/public/solutions/devices/echo


(Jody) #5

I think the new information is that this is the first time they have said they will eventually have a “public” SDK. That is good news.


(Christopher Masiello) #6

Yeah, I got this today too. I hope that the integrations start soon. Even if they just get IFTTT it will be a pretty big move.


(Geko) #7

So, has anyone written any Alexa apps yet?


(Ron) #8

Just got the invite to the SDK today. Just need some good ideas for an app :smile:


(John S) #9

I got access yesterday too.

I’ll start poking around and see what trouble I can get into.

Some basic ideas are for status

(what mode am i in?) (set mode to X)

phrases (do X?)

status (how is the house? which doors are open? which doors are unlocked? lock door X lock all the doors…)

temp (which thermostats are on/operating?) turn on|off heat (on both floors, upstairs, downstairs…) set heat to X (upstairs/downstairs/on both floors…)

open/close the garage door

turn on/off light X, dim light x to x% or low/full/half

We’ll see how that goes for a start :smile:


(Coolcatiger) #10

I got access over a week ago but don’t know what to do with it :stuck_out_tongue_winking_eye:


(Ron) #11

@schettj OH I have lots of ideas for Echo-ST integration but I am also hoping that comes via official channels.

Trying to think of a good echo only project to get my feet wet. I have a few ideas but nothing I think will be really useful yet :slight_smile:


(John S) #12

@Ron, sure, but the nice thing about using The Echo SDK is it made me use Lambda (which is awesome in its own right) to host a Node.js service that I could also use for other things…

I have a “status” intent working now. Asking Echo for the house status gives you

"Here’s what’s happening in the house right now: All doors are locked. The Living Room Slider is open. No motion is detected anywhere. All furnaces are off. The garage door is closed. "

Since that’s generated in Node using my REST SmartApp, it could just as easily sent me a text message, or an email, or whatever… pretty nifty. While I hope Echo’s ST integration is way more awesome than the native Hue/Wemo, I am prepared to be disappointed.


(John S) #13

After a few days poking around, the Echo is not as awesome under the hood. She’s got a pretty inflexible grammar system, and she gets kinda stupid sometimes, but I’m getting there.

Full control is possible, but man that’s a lot of typing to get a decent set of sample phrases in.

Not sure where this will end up going (if anywhere) but it’s oddly fun hammering away at the echo giving it commands to do stuff.


(Ron) #14

@schettj can you share your code ? I would be interested in seeing what you have done.

How is Lambda. I was a bit confused about how it all works. I decided to purchase a domain and start a digital ocean config for the domain to work with echo. But I probably should have done Lambda now that I am reading the getting started. It seems echo apps have less config if implemented on lambda.


(John S) #15

Yep - I will get it into git and post back later today.

Lambda is pretty awesome - the performance seems good, free is good, and if you’re used to doing node.js it’s just node.js.

I’m using third-party modules so I’ve followed this guide: https://aws.amazon.com/blogs/compute/nodejs-packages-in-lambda/

So my “development” setup is a directory (EchoSDK) with my node app in it, along with the locally installed packages I’m using. I edit/test locally - just run node.js and if it doesn’t barf, it’s at least valid node :slight_smile: - and then zip it up and upload it to lambda to test.

You make an “alexa endpoint” in the Lambda console, and point it at your function:

It’s Just That Easy :stuck_out_tongue:

Anywhoo, the cycle gets fairly easy over time

  • add intent to grammar
  • save grammar
  • add code to process intent to app
  • local node.js run check for syntax errors
  • zip up directory, upload to lambda
  • yell at Echo to see what happens
  • edit grammar/sample phrases, repeat yelling
  • edit code, upload, repeat…

I’m working on lighting now. It’s pretty hard to come up with phrases that cover all the ways people say “turn on/off a light” or “turn down/up brightness on a light” etc.

Not to mention, people don’t say things like “living room exterior lights” - the naming issues are the worst.


(ActionTiles.com co-founder Terry @ActionTiles; GitHub: @cosmicpuppy) #16

Using the Hue (emulator… Shhhh…), the native Echo app seems to do phonetic pattern matching on the first word in the name.

I have lights named “sofa art” and “sofa table left”. If I say “turn on sofa”, Echo usually assumes “sofa art”, but sometimes asks “there are several devices named ‘sofa’, which one did you mean”. And just “sofa table” is sufficient, no need to say “sofa table left”.

Sometimes it matches names of old groups that I have deleted… Bug? Or coincidence? (eg “stairs”… Once was a group, but cleared it out a long time ago).

I have no problem using limited phrasing in order to be precise. I don’t need “switch on x” if “turn on x” works.


(Ron) #17

Did you “forget” the deleted names in the echo site ?

Strange I just checked my echo webpage and found 5 Hue Lights which said “Offline” but they were NOT mine ? Somehow my echo has someone else’s Hue Lights. When I discover it only says I have my two. So I suspect a glitch on the server side and not a glitch in discovery.


(Ron) #18

I have never coded in node.js. I do some limited Java Script at work because I maintain a system that has some Java Script but my strength is JAVA (Really C++ but that just dates me :smile: )

I may give node.js a shot but it can be hard to learn a new API like the echo uses while using a new language at the same time. If I can get my site up and running with SSL I may just write Java code. Perhaps in Play, spring seems too heavy weight for this.

I would still like to see what you have done so looking forward to seeing it when you get the time.


(ActionTiles.com co-founder Terry @ActionTiles; GitHub: @cosmicpuppy) #19

Yup… Currently have 16 valid lights in Echo App.

Context sensing for list lookup is great if that’s actually implemented. (ie, if Echo has to pick between “star lights” and “stair lights”, the choice shouldn’t be made until it checks to see if either fits one of the lights listed.)


(John S) #20

This is a sanitized version of my Echo node.js app usable in Lambda, and the grammar/samples so far. You’d need the REST endpoint for it to fully work, i’ve posted a version of that here https://github.com/schettj/echostadapter/blob/master/webApi.groovy but that version doesn’t have everything this app needs - so this isn’t gonna work (yet) for anyone.

Interesting config problem for any Echo app doing things with a REST endpoint: how does the user authenticate with SmartThings Oauth and then get those credentials associated with their install of the Echo app? Sounds like that might be a tricky integration bit.