Siri opens your garage door, deactivates the alarm, turns off the lights in the house, but does not put you to sleep (Video)

[youtube]http://youtu.be/PXmCiaRc9XU[/youtube]

  Crab is a personal assistant "good at everything", and in a new video clip we are shown how iPhoneCPC and Crab can be used to control various products in our homes. Practically using Siri we can: open a garage door, deactivate/activate the house alarm, control a thermostat, turn on/off the lights in the house, change the TV channels, access the video feeds of the cameras installed around our house, and the limits of the assistant's usefulness only depend on the technical capabilities of the products we are trying to "pair" it with.

  All this functionality is possible thanks to a Raspberry Pi and a SiriProxy, these two elements being essential for everything to work. The video clip above was made by a person who wanted to demonstrate how useful the assistant is, and below do you have details about how you can build something like this in your own home.

All my SiriProxy plugins are on my GitHub page and are all open source, non-commercial use. In an effort to help further interest and development of SiriProxy based applications, I created a RPi SD card image with SiriProxy pre-installed to make it that much easier for people to get started. RPi SD card image with SiriProxy pre-installed:http://sourceforge.net/projects/siriproxyrpi/ SiriProxy plugins for home automation control:https://github.com/elvisimprsntr

BACKGROUND

I started home automation and control in 2008, which I have been adding to as time and disposable income allowed. I have been working closely with iOS app developers during this time, beta testing and suggesting capabilities for their apps. I have been following the development of SiriProxy since its initial appearance in November 2011 and even got it installed and working on a Marvell SheevaPlug ARM based plug computer. I spent countless nights dreaming of the day I could use voice commands to control my home, but I was still under a long-term contract on my existing iPhone. I had already been experimenting with IP2IR control in various forms, but the controller I use in the video seemed to offer the most features which the manufacturer added a REST API in March 2012. 

Although I was eligible to upgrade to an iPhone 4S with Siri in February 2012, I patiently waited for Apple to release the iPhone 5 in September 2012. It took me precisely 3 calendar days over a long weekend to get the basic functionality. Santa gave me a RPi for Xmas in 2012, which I ported SiriProxy and my plugins in a few hours, and recorded the video you see. 

CONFIGURATION

My system is comprised of the following components:

1. Elk M1 Gold security panel (http://www.elkproducts.com)
2. ISY99i Series X10/Insteon lighting controller (http://www.universal-devices.com)
3. Trendnet IP cameras (http://www.trendnet.com)
4. Nest Thermostat (http://www.nest.com)
5. RedEye IP2IR controllers (http://www.thinkflood.com)
6. SiriProxy running on a RPi (http://www.raspberrypi.org)
7. iOS mobile apps MobiLinc HD ( http://mobilincstore.com) and eKeypad Pro (http://blog.ekeypad.net) for iPhone / iPad touch control. (not in video)

VOICE CONTROL

There is a REST API in the lighting controller which, in addition to allowing me to control my lights, allows me to monitor/control the security panel. I use a NO relay output to control the garage door. The lights are controlled using plugin/wired Insteon modules/switches. SiriPrioxy uses the REST API. Both systems are available from http://www.smarthome.com  I use Trendnet IP cameras with GPIO interfaces and built in motion detection and SMS/MMS messaging, which are wired to the security system and lighting modules. The Trendnet cameras seemed to provide the right mix of features/price which also run Linux. I wrote a few SiriProxy plugins to push the IP camera and custom images to the iPhone. 

IR control is accomplished using RedEye Wifi IP2IR controllers which have a REST API for control. Unlike GC, IRTach, and other traditional IP2IR devices, the RedEye controller actually stores/learns IR codes, which can be invoked using the REST API.