I have been playing around with SiriProxy which provides a mechanism to override spoken commands to Siri on an iPhone 4s.
Normally when you talk to Siri your iPhone sends the voice packets off to an Apple server which interprets them into words and then tries to interpret what you mean. It then sends a response back down to your handset, which is why Siri only works when you have a working internet connection.
In order to hijack this process it is neccessary to have your iPhone send Siri commands to a computer on your local network which has been set up to run SiriProxy. SiriProxy can then intercept the commands, figure out what you said and then look to see if it has local instructions for responding before sending on to Apple’s servers to respond.
The upshot of all this is that as long as your iPhone is connected to your local wifi network you can customise your own Siri responses. Siri will continue to work normally where you haven’t created a specific local command.
Since I had already set up home automation for many activities in the house including watering the garden, kicking Roomba off to vacuum and opening the front door, it was easy to hook SiriProxy into this. When SiriProxy figures out you asked to be let in, it calls a web page that runs a PHP script that sends an x10 command to unlock the front gate.
The full set of Siri’s capabilities at my home include turning on or off the watering system, turning Roomba on or off, opening the front gate and front door, and controlling lights around the house.
SiriProxy has allowed many similar innovations to evolve from controlling the TV to starting the car. These examples continue to show the value of the smartphone as a remote control for your life. SiriProxy is deeply restricted however due to it being shackled to your local network only – it is not possible (or at least fairly difficult) to use your own custom Siri commands when out and about. Although this is unlikely to change for Apple’s devices anytime soon, as speech recognition becomes more widespread on all smartphones (read Android) expect to see the evolution of a modular, configurable speechrec service that will allow easy integration into other devices.
While using Siri to start the vacuuming is fun, it is not very practical. However with a bit more tinkering I expect I can give Siri the ability to schedule specific home automation events which will be done even if I, my iPhone and Siri are not present. I can see that asking Siri to turn off the light at 11pm or do the vacuuming in an hour will be much more useful…
Thanks to Natia for starring in the demo video!!
Leave a Reply