homebridge-somfy-rts-v2
v1.0.2
Published
Homebridge plugin to control Somfy RTS roller shutters using a Raspberry Pi and a 433.42 MHz RF emitter.
Maintainers
Readme
Homebridge Somfy RTS v2
A Homebridge plugin to control Somfy RTS roller shutters, blinds, and awnings using a Raspberry Pi and a 433.42 MHz RF transmitter.
Requirements
- Raspberry Pi (any model with GPIO)
- 433.42 MHz RF transmitter module (note: standard 433.92 MHz modules won't work!)
- pigpio C library installed on your Raspberry Pi
- Homebridge v1.8.0 or later
Hardware Setup
Connect your 433.42 MHz RF transmitter to your Raspberry Pi:
- VCC → 3.3V or 5V (depending on your module)
- GND → Ground
- DATA → GPIO pin (default: GPIO 4)
Install the pigpio C library on your Raspberry Pi:
sudo apt-get update sudo apt-get install pigpioEnable the pigpio daemon (optional, but recommended):
sudo systemctl enable pigpiod sudo systemctl start pigpiod
Installation
sudo npm install -g homebridge-somfy-rts-v2Or install via the Homebridge UI by searching for homebridge-somfy-rts-v2.
Configuration
Add the platform to your Homebridge config.json:
{
"platforms": [
{
"platform": "SomfyRTSv2",
"name": "Somfy RTS",
"devices": [
{
"name": "Living Room Blinds",
"id": 12345,
"prog": false,
"gpioPin": 4
},
{
"name": "Bedroom Shutters",
"id": 12346,
"prog": true,
"gpioPin": 4
}
]
}
]
}Configuration Options
| Option | Required | Default | Description |
|--------|----------|---------|-------------|
| platform | Yes | - | Must be SomfyRTSv2 |
| name | Yes | - | Name of the platform |
| devices | Yes | - | Array of Somfy RTS remotes to create |
Device Options
| Option | Required | Default | Description |
|--------|----------|---------|-------------|
| name | Yes | - | Name of the remote (e.g., "Living Room Blinds") |
| id | Yes | - | Unique remote ID (1-16777215). This ID is used for pairing. |
| prog | No | false | Show the "Prog" button for pairing/unpairing |
| gpioPin | No | 4 | GPIO pin connected to the RF transmitter data pin |
Pairing with Somfy Motors
Each virtual remote needs to be paired with your Somfy motor, just like a physical remote:
Enable the Prog button in the device configuration by setting
"prog": truePut your motor in pairing mode:
- Using an existing paired remote, press and hold the "Prog" button (on the back of the remote) until the motor jogs
Pair the virtual remote:
- In the Home app, tap the "Prog" button on your virtual remote
- The motor should jog to confirm pairing
Disable the Prog button (optional):
- Set
"prog": falsein the configuration to hide the Prog button and prevent accidental unpairing
- Set
How It Works
This plugin creates virtual Somfy RTS remotes as HomeKit accessories. Each remote has 3-4 stateless switches:
- Up - Raises the shutter/blind
- Down - Lowers the shutter/blind
- My - Stops movement or goes to favorite position
- Prog - Used for pairing/unpairing (optional)
The switches automatically reset after 500ms to simulate the stateless behavior of a physical remote button.
Technical Details
This plugin implements the Somfy RTS protocol as documented at pushstack.wordpress.com.
Key features:
- Rolling code storage (persisted between restarts)
- Manchester encoding of payload data
- Proper frame timing and synchronization
Troubleshooting
Plugin not working
- Make sure you're using a 433.42 MHz transmitter, not the more common 433.92 MHz
- Verify pigpio is installed:
sudo apt-get install pigpio - Check that Homebridge has permission to access GPIO (may need to run as root)
- Verify the GPIO pin configuration matches your wiring
Motor doesn't respond
- Ensure the virtual remote is paired with the motor
- Check that the RF transmitter is properly connected
- Try moving the transmitter closer to the motor
- Verify the rolling code hasn't gotten out of sync (try re-pairing)
Rolling code out of sync
If commands stop working, the rolling code may be out of sync:
- Unpair the virtual remote from the motor
- Delete the rolling code file:
~/.homebridge/somfy_rts_<id>.txt - Re-pair the virtual remote
Credits
- Somfy RTS protocol documentation: pushstack.wordpress.com
- Python implementation: Nickduino/Pi-Somfy
License
Apache-2.0
