SiriProxy plugin for the Raspberry Pi GPIO PiFace Digital expansion board.
Switch branches/tags
Nothing to show
Pull request Compare This branch is even with elvisimprsntr:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



Siriproxy-piface is a [SiriProxy] ( plugin to interface with the PiFace Digital expansion board for the Raspverry Pi. It does not require a jailbreak, nor do I endorse doing so.

First, you must have SiriProxy installed and working. [HOW-TOs for SiriProxy] (

Second, you need a PiFace Digital Interface Board and a Raspberry Pi

Optionally, you can configure siriproxy-piface to push IP camera images to Siri.

I used my RPi, PiFace IO board, along with SiriProry as a simple voice controlled garage door opener. This plugin provides installation instructions and a basic shell for you to modify for your specific interests.

Watch Demo Video


I have received offers to make a donation to help offset the cost of hardware and for my time. If you feel so inclined you can donate thru PayPal.


Raspberry Pi and PiFace Digital Interface

The Raspberry Pi is an ARM based single board computer with a number of inputs and outputs, which can be used to interface with the real world.

The PiFace Digital Interface Board has 8 digital inputs, 8 open collector outputs, 2 relays, 4 switches.

Public Safety and Liability Warning

Please do not ask me how to wire up various devices to the PiFace board since:

Installation (New for SiriProxy 0.5.0+)

  • Manually load the SPI driver

modprobe spi-bcm2708

  • Permanently enable the SPI driver by commenting out the SPI module blacklist line.

vim /etc/modprobe.d/raspi-blacklist.conf

  • Create a plugins directory

mkdir ~/plugins

cd ~/plugins/

  • Get the latest repo

git clone git://

  • Add the example configuration to the master config.yml

cat siriproxy-piface/config-info.yml >> ~/.siriproxy/config.yml

  • Edit the config.yml as required. Note: Make sure to line up the column spacing.

vim ~/.siriproxy/config.yml

  • Edit the piface-ioconfig.yml file to define your PiFace IO. Note: Repeat all the following steps if you make additional changes.

vim siriproxy-piface/lib/piface-ioconfig.yml

  • Edit the plugin as you wish. Note: Repeat all the following steps if you make additional changes.

vim siriproxy-piface/lib/siriproxy-piface.rb

  • Bundle.

siriproxy bundle

[rvmsudo] siriproxy server [-d ###.###.###.###] [-u username]


Open|close garage

  • Siri will push an image from your IP camera and check the status of the door. If the door is already in the requested position, it will let you know.
  • If the garage door is closed it will open without any need for confirmation.
  • If the door is open, Siri will ask you to confirm the door is clear before closing the door. Obviously, this was for safety reasons.

To Do List

If you want to collaborate, review the issues list for things to implement. Fork, modify, test, and submit a pull request.


This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see