Somfy Protexial / Protexiom smart home integration, free and open source

Somfy Protexial, Protexiom and Protexial IO alarms, locally: zones, shutters, lights.
This integration brings the older Somfy Protexial, Protexiom (including Protexiom 5000 and 600) and Protexial IO alarm panels, sold in France until about 2016, into Gladys through the panel's web page on your local network: no Somfy cloud, no account. It reads the state of zones A, B and C and the faults of the panel, arms (and, if you allow it, disarms) the alarm, drives the shutters and lights controlled by the panel, and fires scenes. Unofficial, not affiliated with Somfy.
Development version (0.1). Built after the Home Assistant integration AuroreVgn/somfy-protexial (used on real panels from 2008 to 2013) and tested against a simulated panel of each model, not yet with a real panel. Feedback is welcome on the GitHub repository.
Which integration for which alarm?
| Your alarm | Gladys integration |
|---|---|
| Protexial, Protexiom, Protexial IO (a panel with a local web page) | this one |
| Somfy Protect: Home Alarm, Home Alarm Advanced, Somfy One / One+, Link | Somfy Protect (cloud, the Somfy Protect app) |
| A Protexial IO paired with a TaHoma box | this one for the alarm; the Overkiz integration for the shutters and devices of the TaHoma (it does not map the alarm today) |
The Gladys core has no Somfy Protexial / Protexiom integration.
Supported models
The integration recognizes the four known web interfaces by itself (page paths, login form, encoding):
| Interface | Panels | Pages |
|---|---|---|
| Protexial | Protexial 2008, 2010 (v7_9, v8_1), 2013 (v10_13, v10_14, v10_15) | /fr/… (or /de/, /gb/…) |
| Protexial IO | Protexial IO 2013 (v10_13, v10_14) | /fr/… |
| Protexiom | Protexiom 2008-2013, Protexiom 5000 (v10_3), Protexiom 600 | at the root |
| Protexiom (variant) | Protexiom whose card is shown to the administrator only | at the root |
The versions listed are the ones working with the reference integration. The
year of your interface is written at the bottom of its pages; the software
version is often at http://ADDRESS/cfg/vers. When the automatic detection
fails, choose the model in the configuration. A panel whose interface is in
German, English, Italian, Spanish or Dutch is read too: the page names are
detected (only the "GSM connected" text is recognized in French only).
What you get
Three devices, in the Discovery tab:
| Device | Features |
|---|---|
| Somfy alarm | alarm mode (disarmed, zone A, B, C, A + B, A + C, B + C, total), one switch per zone (A, B, C), alarm triggered, intrusion detected, doors and windows closed, box tamper, low battery (an element), radio link; and depending on the panel: GSM connected, GSM signal (0 to 5), GSM operator, camera connected |
| Somfy shutters | open, close, stop (no position: the panel has none) |
| Somfy lights | on, off (the panel does not report them: Gladys shows the last command, as the reference integration does) |
- The faults (intrusion, batteries, radio link) are latched by the panel until cleared: a detected motion stays shown until the memory is cleared. The Clear the fault memory button (configuration) and the scene action of the same name do it.
- Alarm triggered is 1 when an intrusion appears while a zone is armed. An intrusion latched before arming (never cleared) does not count as a trigger.
- Doors and windows closed follows the Gladys convention of opening sensors: 1 = all closed, 0 = an opening is reported.
Installation
- Find the address of the panel: the one you open in a browser for its web
page (for example
http://192.168.1.30, with the port if there is one). Better give it a fixed address in your router. - In Gladys, Integrations → Somfy Protexial / Protexiom → Configuration: enter the address of the panel and the user access code (the one of the "Utilisateur1" account of the web page), then save.
- Import the authentication card (next section).
- Click Test the connection: the model found and the state of the zones show up.
- Add the devices from the Discovery tab.
The authentication card
At each login, the panel's page asks, besides the access code, for the code of one cell of the authentication card: "Code d'authentification B1". The card comes with the panel (a laminated or paper card, often kept with the manual or in the installer's file): a grid of 30 codes, columns A to F, rows 1 to 5. The panel asks for another cell at each login: the integration needs the whole card.
The simplest: import it from the panel (as the reference integration does). The panel can show its card once logged in:
- In the configuration, click Import the card with the fields left empty. The answer gives the cell asked, for example "The panel asks for cell B1 (column B, row 1)".
- Read the code of that cell on your card, type it in Code of the cell asked and click Import the card again within 5 minutes (the reads are paused meanwhile, so that the panel keeps asking for the same cell).
- The integration logs in, reads the 30 codes on the card page, saves them in the Authentication card field and resumes the reads.
On some Protexiom panels, the card is shown to the administrator account only: the answer to the first click says so; then also type the administrator access code. It is only used for this import and not saved.
Or by hand: type the 30 codes in Authentication card, row by row, left
to right: A1 B1 C1 D1 E1 F1, then A2 … F2, down to F5, separated by spaces or
new lines. The form A1=1234 B1=5678 … (in any order) works too: it is the one
the import saves.
The card is a secret: Gladys keeps it like a password and never sends it back to the browser. Do not publish it (screenshots, logs).
One session at a time
The panel accepts one session at a time. To leave you room, the integration keeps no session open: at each read it logs in, reads the state, then logs out (a few seconds). If you open the panel's web page at the same moment, it may refuse you ("session already open"): try again a few seconds later.
The other way round, when you are logged in on the web page (or the Somfy app), the integration sees it, does not insist and tries again at the next read (status "Another session is open"). After 5 reads in a row refused for that reason, it acknowledges the panel's error message and takes the session over, as the reference integration does: remember to log out of the web page.
Arming and disarming from Gladys
- Alarm mode: choose the combination of zones you want. The missing zones are armed one by one (or the three at once for "total").
- Zone A, B, C: turning one on arms the zone. Turning one off disarms the three: the panel only has an "Arrêt A B C" (stop A B C) button.
- Arming is allowed by default; you can forbid it in the configuration.
- Disarming is off by default (like the door opening of the DoorBird or UniFi Access integrations): anyone able to control the devices of Gladys (dashboard, scenes, app, assistant) could otherwise switch the alarm off. Enable Allow disarming from Gladys only if your Gladys is well protected (accounts, remote access). Going from one combination to another that drops a zone (for example from "total" to "zone A") disarms, then arms the zones asked.
- A command the configuration refuses sends nothing to the panel.
- Every arming and disarming is written in the integration logs: the ones Gladys asks for ("ARMING zone A from Gladys", "Disarm REFUSED") and the ones seen on the panel ("zone A ARMED (keypad, remote or app)").
- The command is checked in the same session: the state read right after is published at once.
Shutters and lights
The panel drives a group of shutters and a group of lights (radio receivers paired with the panel). Somfy shutters takes open, close and stop; Somfy lights on and off. The panel does not report their state: Gladys shows the last command sent.
Scenes
Triggers, in the Integrations category of the scene editor (Gladys 5.1 or later):
| Trigger | When | Variables |
|---|---|---|
| Somfy alarm triggered | an intrusion appears while a zone is armed | zones (zones armed, e.g. A B) |
| Somfy zone armed | a zone was just armed (optional filter on the zone) | zone, zones (armed now), by_gladys |
| Somfy zone disarmed | a zone was just disarmed (optional filter on the zone) | zone, zones (still armed), by_gladys |
| Somfy intrusion or tamper | a detector reports an intrusion (armed or not), or the box is opened | kind (intrusion or tamper), armed |
| Somfy low battery | an element reports a low battery | — |
by_gladysis true when the change follows a Gladys command (less than 5 minutes before): handy not to be notified of your own arming.- The events come from the reads: they arrive with the delay of the next read. Nothing fires at the first read after a start.
Scene action: Clear the Somfy fault memory (alarms, batteries, radio links, or all).
Refresh interval and batteries
The panel runs on batteries (the mains only powers its Ethernet module) and every read wakes it. Two intervals:
- while a zone is armed: 60 s by default (30 s to 1 h);
- while nothing is armed: 5 minutes by default (30 s to 24 h). Arming with a remote or the keypad shows in Gladys at the next read.
The Read the panel now button forces a read. After a command sent by Gladys, the state is read again at once. After errors, the tries space out (1, 2, 5, 10 then 15 minutes).
Protection against locking the panel
Too many wrong codes lock the logins of the panel ("Nombre d'essais maximum atteint"). The integration does not take that risk:
- a refused access code stops the logins at once;
- a refused card code is reported with its cell ("the panel refused the card code of cell C3"); two refusals in a row stop the logins;
- a cell missing from the card is reported without trying to log in;
- when the panel says it blocks logins, everything stops.
Once stopped, the integration waits for a change of the configuration or a click on Test the connection; the connection status says why.
Options
- Panel model: automatic by default.
- Allow arming / disarming from Gladys: see above.
- Refresh intervals: see above.
- Language of the device names: French or English, for the devices added afterwards.
Troubleshooting
- "No Somfy … login page at this address": check the address (open it in a browser), the port, and that the panel is powered. Otherwise choose the model in the configuration.
- "Panel unreachable": the panel does not answer (network, Ethernet module, address changed).
- "Another session is open": log out of the panel's web page or of the Somfy app.
- "The panel refused the card code of cell …": fix that code of the card (or import it again).
- The intrusion or battery states stay at 1: the panel latches them; clear the fault memory.
- The integration logs (Logs tab, or
docker logs) detail every read; the codes are never in them.
Privacy
The address, the access code and the card stay in Gladys (the code and the card as secrets, never sent back to the browser). The integration only talks to the panel, on your local network, like your browser: the web page of these panels is plain, unencrypted HTTP, so the codes travel in clear on the local network, exactly as when you log in yourself. Somfy, Protexial and Protexiom are trademarks of Somfy; this integration is not affiliated with Somfy.
Configuration settings
These are the settings Somfy Protexial / Protexiom asks for in its configuration screen in Gladys.
| Setting | Type | Required | Description |
|---|---|---|---|
| Your Somfy alarm panel | section | No | For the Somfy Protexial, Protexiom (including 5000 and 600) and Protexial IO alarm panels sold until about 2016, through the web page of the panel on your network, without the Somfy cloud: the zones A, B and C (state, arming, disarming if you allow it), the shutters and lights driven by the panel, the faults (batteries, tamper, radio, GSM, doors and windows, intrusion) and scene triggers. The panel accepts one session at a time: each read logs in, reads and logs out, so the Somfy web page may refuse you during a read. For the newer Somfy Protect range, use the Somfy Protect integration instead. Unofficial, not affiliated with Somfy. |
| Address of the panel | string | Yes | The address you open in a browser to reach the panel's web page, with its port if it has one. |
| User access code | secret | Yes | The access code of the "Utilisateur1" account of the web page (the code you type with your card code). |
| Authentication card | section | No | At each login the panel asks for the code of one cell of the authentication card delivered with it: a grid of 30 codes, columns A to F, rows 1 to 5. The simplest is the "Import the card" button below: it asks the panel which cell it wants, you type that one code, and it reads the whole card from the panel. Or type the 30 codes here, row by row (A1 B1 … F1, then A2 … F5), or as A1=1234 B1=5678 … |
| Authentication card (30 codes) | secret | No | |
| Panel model | select | No | Found by itself from the login page. Choose it only when the detection fails. |
| Safety | section | No | Anyone who can control the devices in Gladys (dashboard, scenes, the Gladys app) can use the alarm through this integration. Arming is allowed by default. Disarming is off by default: allow it only if your Gladys is well protected. Every arming and disarming is written in the integration logs. |
| Allow arming from Gladys | boolean | No | |
| Allow disarming from Gladys | boolean | No | The panel disarms the three zones together: turning one zone off disarms A, B and C. |
| Refresh interval while armed (s) | number | No | How often the panel is read while a zone is armed, in seconds (30 to 3600). The panel runs on batteries: every read uses a little of them. |
| Refresh interval while disarmed (s) | number | No | How often the panel is read while no zone is armed, in seconds (30 to 86400). Arming with a remote or the keypad shows in Gladys at the next read. |
| Language of the device names | select | No | Used for the names of the devices, features and alarm modes added from now on. |
How to install Somfy Protexial / Protexiom in Gladys
- In Gladys, open Integrations: Somfy Protexial / Protexiom appears in the catalog, next to the native integrations, with a community badge.
- Click Install. Gladys pulls the Docker image (
ghcr.io/lm1lc3n7/gladys-somfy-protexial:0.1.1), starts it in a sandbox isolated from the core, and generates the integration's interface (devices, discovery and configuration). - Open the Configuration screen of the integration, fill in the settings, and save.
- You can also install it directly from its repository URL: https://github.com/LM1LC3N7/gladys-somfy-protexial.
Somfy Protexial / Protexiom requires Gladys >=5.1.0. The catalog inside Gladys refreshes every hour, so a new version becomes available at most one hour after its release.
Not running Gladys yet? It is free and open source: follow the installation guide to get started.
About external integrations
Somfy Protexial / Protexiom is an external integration: a community integration packaged as a Docker container and published on GitHub, that Gladys installs in one click and runs in a sandbox isolated from its core. It is published and maintained by LM1LC3N7, not by the Gladys core team.
- Browse all integrations, native and community
- Build and publish your own external integration
- Source code on GitHub — source of this documentation