With today's announcement of WeMo and Hue support, I'm wondering when the ability to interact with locally connected devices will be extended to developers. Are there plans for this? I'm a little disappointed to see that this is clearly something the Echo supports, but is something we can't utilize.
> Hi, > > Connecting to local devices through the Echo is not > supported through the SDK. We appreciate your > feedback and are always looking to make the SDK > better for developers. > > Thanks, > > Nick Are there any plans to give us this ability? If you are looking for ways to make the SDK better, this is a huge one. Everyone in the home automation community is desperate for such a feature, and from the forums I read the lack of such an ability has already caused a lot of people who were chomping at the but to buy an Echo to decide to give it a pass. Others have already worked around the limitation by reverse engineering the connected home features and creating local apps to mimic the wemo hub. People are going to communicate with local devices one way or another, why not let us do it in a proper way?
The Hue protocol is well documented and simple enough to the point where you could likely make your local device emulate a hue bridge. This only works if your interaction model is similar to the lights/rooms concept the Hue is designed for, but it's a possibility.
Access to the local network would be extremely useful. I have a skill that talks to mpd to control my music over http, however this is not secure, as anyone could find the port is use and send requests to mess with mpd very easily. The first solution I came up with is to hide mpd behind a reverse proxy and use https for the requests to ensure the requests are coming from the skill, but that requires a lot of setup and is inconvenient if I want to publish the skill. The other option is to reroute the requests through the echo to my local network, which would be much simpler.
There's already a "bridge" app that someone has reverse engineered. It pretends to be one of the currently supported hubs. You configure it with device names and the URLs that should be hit when those names are turned on, off or dimmed. It mimics the device discovery to provide the echo with the device names, and then sends requests to change those to the URLs you specify. A lot of people are using this hack already to integrate home automation systems that are not yet officially supported. It is a shame that instead of a documented and supported API that would make it easy for people to create such integrations, it has to be done this way. I'm not using the HA bridge, instead I wrote a lambda app that just acts as a proxy. It parses the intent requests and calls a rest api on my home automation server to control devices and run events. I've been using it for a while now and it really demonstrates the need to have a local app. The latency between when I say a command and when it happens is far too high because even though both devices are on the same local network, the request has to go back and forth across the county before finding its real destination. After living with a ASK based home automation solution, and keeping up with others in the HA community who are doing the same I have some wishes. First of course is officially open up the protocol for local discovery and on/off/dim setting of devices. Second is to the ability to have local ask apps. Since turn on and dimming lights is only part of what HA does, just controlling devices over the local network isn't enough. In addition to the direct local device control I'm still going to need to implement a skill on my HA server for scenes and events. For example, being able to say "Movie time" (or as my system currently works, "alexa, tell the house to run movie time") and having the HA system dim the lights, lower the blinds, turn on the TV and receiver, etc. For things more complex than just turning on and off lights, having the ability to have a skill is necessary. For the same reasons of security and response speed that relate to direct control of devices, that skill needs to run locally. Finally, and this is the big one, what for lack of a better term I'll call "root skills". The one universal opinion I see among those creating and using HA skills is that they hate having to say "alexa, ask some app name to....". What is really needed is a way to have a root name, instead of "alexa" for a specific skill. To be able to say instead of "alexa, tell house to run movie time", just "house, movie time". Ideally this would be something the user sets up, not something that is inherent in the skill. A user should be able to designate a wake word that goes directly to a chosen skill.