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.
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.
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
@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.
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.
@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.
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 - 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
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.
1 Like
tgauchat
(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.
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.
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 )
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.
1 Like
tgauchat
(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.)
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 echostadapter/webApi.groovy at master · schettj/echostadapter · GitHub 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.