Control remote plugs with the Raspberry Pi, features a webinterface. Uses RCSwitch and wiringPi.
Switch branches/tags
Clone or download
tillepille Merge pull request #29 from fabianh001/master
Added support for a remote shutdown
Latest commit 879d5f2 Jul 4, 2018

Raspberry Pi Remote


Control your remote power sockets with a raspberry pi. This project includes a web interface.

There's also a powerswitch branch, if you want to imitate a ConnAir remote station on the raspberry and use the nice android app from

And in case your Raspberry is running Windows10, check


  • sui li for creating RCSwitch for the arduino
  • r10r for porting RCSwitch to the raspberry
  • x3 for creating homecontrol4me

Required Hardware

  • Raspberry Pi
  • 434 Mhz transmitter
  • Some radio controlled power sockets



Try if all is working with the send program

  • Switch on single socket: ./send 1 00001 1 1
  • Switch on multiple sockets: ./send 1 00001 1 1 00001 2 1 00001 3 1


  • -b, --binary: Use binary socket numbering instead of the common "only one switch up"-numbering. See Binary Mode for further details.
  • -p X, --pin=X (X=pin number): Sets the pin number to use. Default is 0 in normal mode and 17 in user mode.
  • -u, --user: Run in user mode. This mode does not need root permissions, but the GPIO pin has to be exported beforehand using the gpio command. See User Mode for further details.
  • -s, --silent: Disables all text output except for error messages.
  • -h, --help: Display help.

Binary Mode

Most sockets available for purchase use the following numbering scheme:

no. address
A 10000
B 01000
C 00100
D 00010
E 00001

Of course, this doesn't make much sense, because it limits the maximum of supported sockets to 5 (or 6, if 00000 is included), and is less intuitive. Using real binary numbering would increase the limit of supported sockets per system to 31, and be more intutive. In binary mode, the sockets need to be numbered as below:

no. address
1 00001
2 00010
3 00011
4 00100
5 00101
8 01000
16 10000
31 11111

Note that you need to configure your sockets to this kind of numbering to use this feature. This often includes that the dedicated remote that gets shipped with the sockets often is rendered useless, since it only supports the former way of numbering.

User Mode

Use this mode if you want to use send without root permission. The pin must be exported with the gpio utility beforehand because it will be used via the /sys/class/gpio interface. The command for the default pin is gpio export 17 out. The user must be a member of the gpio group to access exported gpio pins!.
Important Note: pin numbering is different in this mode! While wiringPi uses its own numbering scheme in default mode, this mode requires the native Broadcom GPIO numbers (the default port 0 is 17 in this mode). See the wiringPi documentation for further details.


Use the daemon in combination with the webinterface

  • Copy the files in webinterface in your http directory
  • Edit ip address in config.php
  • Edit the predefined setup of sockets in config.php