Search code examples
alexa-voice-service

Can the Echo dot 'talk' to local devices or does everything go via the cloud?


I'm looking at developing a plugin (probably an echo specific word for them) that will allow me to control a number of local hardware devices. The devices have a simple HTTP interface so very little plumbing should be required, however all the reading I've done so far (I'm new to the Echo API, so thats not that much yet) suggests that your code gets executed on remotely in the 'the cloud'. That being the case its going to struggle to access local resources without making them web facing (which isn't possible).

So as an example I want to write something that when you say "turn the kitchen light on". The echo box makes a http call to a local controller i.e. http://192.168.0.4/Light?room=kitchen&state=on

Is this possible, if so are there any simple examples about that I work from.

Thanks


Solution

  • They are called skills.

    First the bad news: the Echo as you said doesn't talk to services on your local network.

    The way people do this is by using Bespoken Tools or ngrok to proxy back commands to a server in your house from an AWS lambda skill. That server makes the calls to the devices.

    Here is an example with Ruby: Alexa HUE

    Let me know if you have more questions.