
I’ve been gradually connecting more devices to Home Assistant, and my garage door was next on the list.
It’s a roller shutter door controlled by a Somfy Rollixo RTS. The existing radio remotes work perfectly well, but I wanted to operate it from Home Assistant without replacing the controller or adding another proprietary hub.
After discussing the options with ChatGPT, I settled on a SONOFF MINI-ZBD. It’s a small Zigbee relay with volt-free (dry) contacts, which makes it suitable for connecting to the Somfy’s external keyswitch input.
Wiring it up
The Rollixo RTS has a keyswitch input that operates the door when two terminals are briefly connected. The MINI-ZBD can provide that connection through its normally open relay. Better still, the Somfy has a 24V DC auxiliary supply, so there’s no need for a separate power adapter.
For my Rollixo RTS, I used these connections:
| Somfy terminal | SONOFF connection | Purpose |
|---|---|---|
| 14 (+24V DC) | DC+ | Power |
| 15 (0V) | DC− | Power |
| 10 (keyswitch) | NO | Relay contact |
| 11 (keyswitch) | COM | Relay contact |
The relay simply closes the keyswitch circuit. It doesn’t introduce any voltage to those terminals.

I isolated the controller from the mains before making the connections. If you’re doing something similar, check the terminal assignments for your particular controller.
The MINI-ZBD is small enough that I was able to mount it inside the existing Somfy Rollixo housing, keeping everything neatly contained rather than having another box mounted alongside it.
Adding it to Home Assistant
My setup uses a Home Assistant Green with a Connect ZBT-1 Zigbee adapter (originally called SkyConnect), running Zigbee Home Automation (ZHA).
Pairing the MINI-ZBD was straightforward. Home Assistant discovered it as a switch, which I named Garage Door Controller and assigned to the Garage area.
Switching the relay on and off operated the door, but there was a catch. The Somfy expects a momentary contact, like pressing and releasing a button. The MINI-ZBD, however, appears in ZHA as an ordinary on/off switch. Once switched on, it stays on. SONOFF calls the momentary function inching. Although the MINI-ZBD supports it, the option isn’t currently exposed through my ZHA installation. It is available through Zigbee2MQTT, but I didn’t want to change my Zigbee setup just for one device.
With some guidance from ChatGPT, I created a simple Home Assistant script instead:
alias: Garage Door Trigger
mode: single
sequence:
- action: switch.turn_on
target:
entity_id: switch.garage_roller_shutter_door_controller
- delay:
milliseconds: 500
- action: switch.turn_off
target:
entity_id: switch.garage_roller_shutter_door_controller
This switches the relay on for half a second, then switches it off again. Testing confirmed that the Somfy responds just as it does to the original remote control.
There is an important limitation. This is a software-controlled pulse, not hardware-enforced inching. If the second command fails, the relay could remain energised. For a motorised door, hardware-enforced momentary operation would be preferable.
Tidying up the dashboard
I didn’t want the underlying SONOFF switch appearing on my Home Assistant dashboards, where it could accidentally be left on. Fortunately, Home Assistant lets you hide an entity without disabling it. In the switch’s settings, I turned Visible off but left Enabled on. I then assigned the Garage Door Trigger script to the Garage area. That gives me a simple way to activate the door without exposing the underlying switch.
I also have an IKEA PARASOLL Zigbee contact sensor on the garage door, so Home Assistant can tell whether it’s open or closed. I’ve used that to create automations that turn the garage light on and off according to the door’s position.
That means Home Assistant can now operate the door, report its status and control the garage lighting, all through Zigbee.
A familiar Somfy problem
While working on the integration, I also encountered an old problem with the Somfy’s wireless safety-edge transmitter. The door would stop part-way down, just as it did when I wrote about the problem back in 2016.
Once again, the battery was the culprit. I had a spare Tadiran SL-760 3.6V lithium AA battery, but although it measured 3.56V on a multimeter, it didn’t resolve the issue. On closer inspection, it was marked May 2018, so it had been sitting around for more than eight years.
I replaced it with a new Saft LS14500, also a 3.6V lithium AA battery, but with a slightly higher nominal capacity (2600mAh compared with the Tadiran’s 2200mAh). That did the trick. Whether the difference was down to the battery’s age or its electrical characteristics under load, I can’t say. But the safety edge is behaving again.
What’s next?
The MINI-ZBD is a neat way to connect an existing garage door controller to Home Assistant. It uses the Somfy’s own power supply, works over Zigbee and leaves the original radio controls intact.
The only disappointment is the lack of hardware inching support through ZHA. I’ll revisit that when support becomes available. For now, I’ve brought another part of the house into Home Assistant without introducing another hub or cloud dependency.