--- layout: page title: "Raspberry Pi RF Switch" description: "Instructions on how to integrate devices controlled via codes sent with low-cost GPIO RF modules on a Raspberry Pi into Home Assistant as a switch." date: 2016-05-10 09:00 sidebar: true comments: false sharing: true footer: true logo: raspberry-pi.png ha_category: DIY ha_release: 0.19 ha_iot_class: "Assumed state" --- The `rpi_rf` switch platform allows you to control devices over 433/315MHz LPD/SRD signals with generic low-cost GPIO RF modules on a [Raspberry Pi](https://www.raspberrypi.org/). Interoperable with codes sniffed via [the rpi-rf module](https://pypi.python.org/pypi/rpi-rf) or [rc-switch](https://github.com/sui77/rc-switch). For more info see the PyPi module description: [rpi-rf](https://pypi.python.org/pypi/rpi-rf). ## {% linkable_title Configuration %} To enable, add the following to your `configuration.yaml`: ```yaml # Example configuration.yaml entry switch: - platform: rpi_rf gpio: 17 switches: bedroom_light: code_on: 1234567 code_off: 1234568 ambilight: pulselength: 200 code_on: 987654 code_off: 133742 living_room_light: protocol: 5 code_on: 654321,565874,233555,149874 code_off: 654320,565873,233554,149873 signal_repetitions: 15 ``` {% configuration %} gpio: description: GPIO to which the data line of the TX module is connected. required: true type: integer switches: description: The array that contains all switches. required: true type: list keys: entry: description: Name of the switch. Multiple entries are possible. required: true type: list keys: code_on: description: Decimal code(s) to switch the device on. To run multiple codes in a sequence, separate the individual codes with commas ','. required: true type: list code_off: description: Decimal code(s) to switch the device off. To run multiple codes in a sequence, separate the individual codes with commas ','. required: true type: list protocol: description: RF Protocol. required: false default: 1 type: integer pulselength: description: Pulselength required: false type: integer signal_repetitions: description: Number of times to repeat transmission required: false default: 10 type: integer {% endconfiguration %}