Selve Roller Shutter Accessory
Exposes up to 64 roller shutters using a Selve USB-RF module paired with Selve Commeo receivers.
Version 3 supports Homebridge ^1.8.0 || ^2.0.0 and Node.js ^22.12.0 || ^24.0.0 || ^26.0.0. Node.js 26 requires Homebridge 2.3 or newer. Older Node.js and Homebridge versions are no longer supported, and the plugin now uses ES modules.
When upgrading, back up your Homebridge configuration and keep the existing shutter names and device IDs to preserve your HomeKit setup.
Maintenance
The 2023 deprecation notice has been lifted and the project is open for contributions again. I moved my own setup to Home Assistant and no longer run the plugin day to day, so maintenance is handed over to contributors who do. Issues and pull requests are welcome.
Setup
- Pair roller shutters and USB-RF Gateway using the official Selve tools
- Once paired, use Homebridge Config UI X to setup your config and skip the following steps.
- Manual setup: Update your
config.jsonand add "Selve" as a new platform. Make sure you set theusbPortto the corresponding path of the usb dongle on your system (typically something like/dev/ttyUSB0on Linux machines). Also make sure the system user running homebridge has read and write access to this device. - Add as many
shuttersto the config as you have. Each shutter has aname, adevice(the same ActorID (0-63) that was used in the tools app during pairing), and optional parameters to show virtual buttons for intermediate positions.
Example config.json:
"platforms": [
{
"name": "Selve",
"platform": "selve",
"usbPort": "/dev/ttyUSB0",
"shutters": [
{
"name": "Livingroom",
"device": 4
}
]
}
]
Add virtual buttons to move to saved intermediate positions (optional)
You can add up to two virtual buttons to move your shutters to predefined, saved intermediate positions (position 1 or 2). At the moment this plugin can't detect whether the current position is an intermediate position or not, so it simply turns off the virtual button immediately after turning it on and triggering the command.
To add the buttons, simply add showIntermediate1 and/or showIntermediate2 to the config:
"platforms": [
{
"name": "Selve",
"platform": "selve",
"usbPort": "/dev/ttyUSB0",
"shutters": [
{
"name": "Livingroom",
"device": 4,
"showIntermediate1": true,
"showIntermediate2": true
}
]
}
]
Add a virtual button to stop any movement (optional)
You can add another virtual button for stopping any current movement. Simply add showStop to any shutter in your config, in the same style as above.
...
"showStop": true,
...
Plugin Development
Use the Node.js 24 LTS version in .node-version and the pnpm version declared in package.json.
pnpm install --frozen-lockfile
pnpm check
pnpm watch uses .homebridge-dev/config.json. Give this test bridge a separate identity and stop other instances using the same USB gateway.
Build an installable package with pnpm build && pnpm pack.
See CONTRIBUTING.md for the compatibility matrix, coverage, dependency maintenance and the staged release process.