Close

Echo and Pebble connected

A project log for Sci-fi grade Home Automation

A system that ties some home automation with various APIs and hardware hacks.

conradcnconradcn 02/11/2015 at 17:304 Comments

I added a bunch of new features, and finally got around to writing an update:

Voice recognition moved from SAPI to Amazon Echo. This was done with a Chrome extension that attaches to the Echo management page's WebSockets connection and forwards all relevant commands on to the home automation server. The code for that should be up on Github soon. The only drawback of this is that the voice says "I didn't understand that" as the lights are turning off. It does require an instance of Chrome that is constantly running, but that's fine to have on the server.

Echo is easily the best voice recognition platform I've ever seen. It's reliable at 20 ft (assuming you don't put it on top of something that's vibrating), and really quick. Much better than SAPI, which makes a lot of sense given the age difference and compute power being thrown at the problem.

I also mounted old Androids to two of the walls in the apartment, which allows easier control with the app. Between Pebble and Echo though, I'm using them less and less. I think that, with another Echo, the voice commands could replace the rest of the interface except for relatively rare circumstances.

Finally, I've started work on a device that will tell me if there's laundry waiting in the washer (I often forget and have to re-run the load a few times to get rid of the smell). I'm using some off-the-shelf magnetic door sensors hooked up to a spark core, but I'm running into trouble interpreting the alarm audio. I'll have more info on how do do that once my new scope probes come in. The code is more or less done though, so once that's fixed I should start getting push notifications on my phone (maybe even played through the Echo).

As a bonus, I added Pebble integration with the Pebble Tasker app. This is pretty straightforward, it just has tasks set up to CURL the relevant API endpoints mapped to the Pebble's buttons. I plan to link my old Pebble (with the infamous screen sync problem) to one of the panels in the apartment to get a non-backlit control surface for the bedroom, but I haven't gotten around to that yet. The goal with that is to replace the hard buttons with touch switches built into the bedside table.

All in all, the system is becoming much more usable, and I'm starting to think about ways of integrating sensors into the mix. Currently, everything is driven off of user input, but that's obviously not ideal.

Discussions

conradcn wrote 04/30/2015 at 17:39 point

They'll trickle it out. I'm not sure if I like the API though. You need to set up an app name and say something like "Alexa, open [app] and do [x]" instead of "Alexa, [x]". It's a big barrier to the star trek effect from a UX perspective.

  Are you sure? yes | no

Matthew Toney wrote 04/30/2015 at 17:36 point

You got an invite and the ability to actually look/use it?  I got an invite to "sign up" and did that, but I've never heard from it again.  From reading of others results I thought that was the same for everyone - didn't realize some actually were given access. :(

  Are you sure? yes | no

conradcn wrote 04/30/2015 at 17:05 point

I'm just working with one (I live in a small apartment, so the one Echo only has a tiny blind spot). I assume the websockets stuff wouldn't be too different though.

That said, I haven't touched the official API yet (got the invite, but working on another project). I assume that's much easier to use and more stable.

  Are you sure? yes | no

Matthew Toney wrote 04/30/2015 at 15:28 point

Hey, just now stumbled across your project and I've been doing something similar. (well totally different set of hardware, but also hooking into the Echo for voice recognition) - it IS amazingly good at it, even though it still frustrates me sometimes with certain words in just can't get.  I'm just about to tackle something needed that's new however - trying to integrate a *second* Amazon Echo in another room/floor of the house.  Realistically I'd like to be able to integrate as many different ones for locations as needed/wanted but it'll be interesting to see how to handle problems like multiple hits on different Echo's "hearing" commands, etc.  Is this anything you've dealt with yet or are you doing everything so far with a single Echo?

  Are you sure? yes | no