Easily control and monitor your roller shutters, gates, garage doors, or any other device using the RTS 433 MHz protocol.
README complet en franΓ§ais π«π· Β»
Explore the documentation Β»
Report a bug
Β·
Request a feature
ESPSomfy-RTS turns an ESP32 and a 433 MHz radio module into a gateway for your Somfy RTS devices: roller shutters, blinds, gates, garage doors. Other brands of the Somfy group β SIMU, Teleco, BFT β sell them too: their RTS models are driven the same way. Your original remotes keep working β the device listens to them to keep its display in sync.
This repository is a fork of rstrouse's project. The radio foundations are his; what changed sits on top.
| Capacity | 30 devices, 14 groups, 14 rooms, 7 linked remotes per device |
| Protocols | RTS, RTW, RTV/L, and wired motors through relay modules |
| Languages | English, French, German, Spanish |
| Integrations | Home Assistant, MQTT with auto-discovery, REST API |
| Updates | from the interface, downloaded straight from GitHub |
- A redesigned, genuinely responsive interface. The phone is no longer a fallback screen: it is a control panel.
- Multilingual, with the whole interface translated.
- Radio wizards laid out step by step. Pairing a motor, linking a remote, adding a device to a group: every step is numbered, explained, and asks for one thing at a time β with an expert mode that collapses it all onto a single page once you know the move. A separate wizard pre-configures the ready-made units.
- A radio board selector. Your module's GPIO pins are picked from a list covering the most common ESP32 boards.
- Hardened security. Secrets no longer leave the device, and repeated attempts run into a guard.
- A two-level reset: network and security only, or a full factory wipe.
- A real-time graph on the frequency scan, so you watch the remote stand out from the noise while you search, instead of only reading the result.
And much moreβ¦
- 433 MHz RTx: full support for the RTS, RTW, RTV/L protocols and 433.92 MHz.
- Frequency constraints: you can mix protocols as long as they stay within the same base frequency range.
Note: you cannot run 433.92 MHz and 433.42 MHz motors at the same time on a single radio transceiver.
- IO Homecontrol: not natively supported. Compatibility can still be achieved through the IO Remote protocol, by interfacing with a stripped-down remote.
For "bare" motors with no built-in radio, the project supports relay module configurations. Once set up, those motors are driven from the interface exactly like native RTS or RTW devices.
ESPSomfy-RTS is a powerful project at its core, but I felt it needed a more modern and localised touch.
Being French (and therefore a big fan of bread and cheese), I found during my very first use that the explanations were sometimes confusing. Above all, I felt like I had to put on sunglasses every time I opened the interface! This fork is designed to save you a trip to the eye doctor and a few linguistic headaches along the way.
While keeping the rock-solid foundations of the original project, I entirely rethought the user experience to make it truly responsive: the interface is just as pleasant on a phone or a tablet as on a desktop, and navigation is finally clear for non-English speakers.
This project aims to make managing your 433 MHz RTS devices as good-looking as it is functional.
Warning
Do not move from v2.4.6/v2.4.7 to this fork through the Firmware page of rstrouse's interface. That route is not supported: it replaces only half of the system and leaves an interface and a firmware that do not understand each other. Do a full USB install with the "onboard" image β see the installation guide.
- Your data follows. A
.backupfile from the original project restores here: devices, groups and remote addresses are carried over, and your motors do not need to be paired again. - Except the radio GPIO pins. The board selector introduced by this fork cannot guess them from an older file: you have to reassign them by hand in the Radio tab.
- A compatibility warning appears during the restore. It is expected, and it does not mean the restore failed.
- Updating from the interface preserves your configuration, with nothing to do on your side.
- The automatic backup taken just before the update stays in the old format. If you reload that particular file later, you will hit the compatibility warning and the GPIO reassignment again.
Tip
Right after a successful update, create a fresh backup. It carries the current GPIO mapping and will never trigger that warning again.
Two integrations work with this firmware.
ESPSomfy-RTS Enhanced is the version dedicated to this fork: it can authenticate against a device protected by a PIN, it shows the firmware release notes at update time, and it exposes the sensors specific to this line.
- Installation: straight from the HACS store (Home Assistant Community Store), or by clicking the button below.
If you already use the original integration, your entities, devices and automations keep working normally β provided your entities keep the same ids. Two limits worth knowing:
- Firmware release notes are not shown in Home Assistant: that integration does not have the feature.
- Full security cuts its access for good. Every request it makes gets a
401and its WebSocket is refused: it does not send an API key, and it learns that authentication is required from a response that is itself refused. It cannot recover on its own.
Important
The "configuration only" mode is what makes the difference. It protects the configuration screens alone and leaves open the routes an integration needs: an active security setting then breaks nothing at all.
It is the default since v2.6.0, on a new or factory-reset device. An update, however, keeps whatever was already stored: if your device is older, check that box under System > Security before setting a PIN.
For full protection, move to ESPSomfy-RTS Enhanced v2.6.0 or newer: it knows how to authenticate.
Want to know what's coming next, check current release progress, or see completed features? I use GitHub Projects to maintain a live, up-to-date roadmap.
π‘ Click the badge above to track real-time development, active milestones, and submit features or bug fixes directly into the workflow columns.
If you lose access to the web interface (a network misconfiguration, a forgotten password), a manual reset procedure is available through power cycles.
Important
The reset works on two levels, so that you are not forced to lose everything when only the network is at fault.
- 3 power cycles: resets the Wi-Fi configuration and disables the security settings. Your devices, groups and rooms are kept.
- 6 power cycles: full factory reset (full wipe).
For detailed instructions and the cycle diagrams, see the dedicated page:
π Go to the Factory Reset page
Tip
Always treat these procedures as a last resort. If the interface still answers, use the Restore button in the system settings instead.
Click a screenshot to open it at full resolution.
This fork's documentation lives in its wiki: one page per screen of the interface, kept current with the latest published release.
Note
The wiki is written in French. Your browser's translation handles it well, and the screenshots speak for themselves.
- Installation guide β flashing an ESP32 over USB from the browser, and arriving from rstrouse's firmware.
- Dashboard β a tour of the interface: group and device cards, buttons, indicators and the positioning windows.
- Devices and Groups β creating an entry, timing the travel, pairing the motor, linking your physical remotes.
- Radio setup β GPIO assignment, frequency tuning, and a worked case when some devices do not answer.
- Updating β the three update windows and the thirteen files published by a release.
- Integrations β REST API, MQTT and Home Assistant.
Special thanks to rstrouse, the author of the original ESPSomfy-RTS project, for his incredible work.
Thanks to those who take the time to move the project forward:
y-streibel-uiris Β· glich34 Β· dirstel Β· Peethiplatsch Β· jcrespoc
π«π· Ready-made units. I also build and sell fully assembled, flashed and tested units. They are sold in France only, so the specifications, the two editions and the ordering details live in the French README.














