This is a spin-off from the original Home Assistant integration which was deprecated and was removed in Home Assistant Core v2022.4.
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.
Interoperable with codes sniffed via the rpi-rf module or rc-switch. For more info see the PyPi module description: rpi-rf.
The recommended way to install rpi_rf
is through HACS.
Copy the rpi_rf
folder and all of its contents into your Home Assistant's custom_components
folder. This folder is usually inside your /config
folder. If you are running Hass.io, use SAMBA to copy the folder over. You may need to create the custom_components
folder and then copy the rpi_rf
folder and all of its contents into it.
To enable, add the following to your configuration.yaml
:
# Example configuration.yaml entry
switch:
- platform: rpi_rf
gpio: 17
switches:
bedroom_light:
code_on: 1234567
code_off: 1234568
unique_id: "unique device name"
ambilight:
pulselength: 200
code_on: 987654
code_off: 133742
length: 24
living_room_light:
protocol: 5
code_on: 654321,565874,233555,149874
code_off: 654320,565873,233554,149873
signal_repetitions: 15
Key | Required | Default | Type | Description |
---|---|---|---|---|
gpio |
yes | integer | GPIO to which the data line of the TX module is connected. | |
switches |
yes | list | The array that contains all switches. | |
entry |
yes | list | Name of the switch. Multiple entries are possible. | |
code_on |
yes | list | Decimal code(s) to switch the device on. To run multiple codes in a sequence, separate the individual codes with commas ‘,’. | |
code_off |
yes | list | Decimal code(s) to switch the device off. To run multiple codes in a sequence, separate the individual codes with commas ‘,’. | |
protocol |
no | 1 |
integer | RF Protocol. |
pulselength |
no | integer | Pulselength. | |
signal_repetitions |
no | 10 |
integer | Number of times to repeat transmission. |
length |
no | 24 |
integer | Code Length |
unique_id |
no | string | A Unique ID to set for a switch entity e.g "my aircon switch", if not set manually one will be generated based on the code_on & code_off values. Once set, it is unadvisable to change this, see note below |
Thanks to the work of @oskargert this integration's switch entities now utilises unique_id's which allow us to customise a lot more features within home assistant such as Icons, Show as, Area and the ability to quickly rename the Entity Name & Entity ID. Just click on the entity name, then go to the settings tab, and make it your own.
An important note on unique ID's.
If not set manually in the configuration file, the unique_id for each entity is generated from the code_on & code_off values.
Should you change the code_on or code_off values in the future and/or add additional code(s) to a code sequence, the unique_id will be regenerated and Home Assistant will recognise a new entity.
Should you change the unique_id value in the configuration in the future, Home Assistant will recognise a new entity.
It is safe to remove the old entity (It will show as "restored" in the list of entities).
The old entity and its customisation (icon, area etc) will be lost and you will need to re-enter these customisations for the new entity.
Additionally, you will be unable to have two entities with identical code_on & code_off values (not sure thats ever likely to happen as if you had more than one device in a home with the same RF codes as it would be impossible to control a single device.)