Ascenseurs gares SNCF et Paris smart home integration, free and open source

Lifts and escalators of SNCF stations and Paris streets: in service or out of order (open data).
The state of the lifts, escalators and moving walkways of SNCF stations (France), in service or out of order, read from the SNCF open data portal. About 2,500 pieces of equipment in some 600 stations managed by SNCF Gares & Connexions. No account, no key.
Unofficial integration, not affiliated with SNCF. Developed without the hardware (and without a dedicated feed): the data was checked live on 2026-10-29, feedback is welcome.
Also: the street lifts and escalators of the City of Paris (parks, viaducts, Petite Ceinture…), remotely monitored in real time, by district. Not affiliated with the City of Paris.
What you get
- One device per station you add: one sensor per lift, escalator or moving walkway (1 = in service, 0 = out of order), plus three summary sensors: equipment out of order, equipment in an unknown state, and "All in service".
- A widget "Lifts and escalators": the equipment of a station, out of order first, in red, grey or green.
- Two scene triggers: a lift or escalator goes out of order, and one comes back in service, for any station or the ones you pick, and for one kind of equipment if you want.
- A scene action: a one-sentence summary ("Toulouse Matabiau: 1 of 25 lifts and escalators out of order (…)"), ready for a message or a speaker, with the counts.
Requirements
- Gladys Assistant 5.3.0 or later.
- Internet access from Gladys: the data comes from
ressources.data.sncf.comand, for Paris, fromopendata.paris.fr. - No account, no API key.
Installation
- In Gladys, open Integrations → Install from GitHub.
- Paste the address of the repository:
https://github.com/guim31/gladys-ascenseurs-gares. - Confirm, then open the integration once it is installed.
Configuration
Settings
| Setting | What it does |
|---|---|
| Stations | The names of your stations, separated by ; (10 at most), e.g. Toulouse Matabiau; Paris Saint-Lazare. |
| Districts of Paris | The districts (arrondissements) whose street lifts and escalators you want (check boxes). |
| Refresh | Every 10, 15 (default) or 30 minutes. SNCF recomputes the states every hour. |
| Language of names and messages | Language of the summary feature names, of the widget and of the scene sentence. French by default. |
A name is matched without accents, case or hyphens (paris st lazare works). A partial name, a city
for instance, lists its stations that have equipment (Marseille gives Marseille Saint-Charles and
Marseille Blancarde), ten at most. An 8-digit UIC code also works.
Add stations
- Type your stations and save.
- Open the Discover tab of the integration: every station found is there, with all its equipment.
- Add the ones you want to Gladys.
A station added stays followed even if you remove its name from the settings later.
Add districts of Paris
- Tick one or more districts in Districts of Paris and save.
- The Discover tab offers one device "Paris 13e · lifts and escalators" per district that has remotely monitored equipment (today the 12th, 13th, 15th and 17th).
- Add the ones you want. The Status button says how many pieces of equipment each ticked district has.
Stations and districts can be combined.
Check
The Status button of the configuration shows, for each name typed, the stations found (or why none was), the time of the last reading and the last error.
Devices
A station is a device named "<station> · lifts and escalators", read-only:
| Feature | Type | Value |
|---|---|---|
| Out of order | counter | number of equipment out of order |
| Unknown state | counter | number of equipment whose state SNCF does not know |
| All in service | binary | 1 when every equipment is known to work, else 0 |
| One per equipment (SNCF name) | binary | 1 = in service, 0 = out of order |
The equipment features keep the SNCF name ("Ascenseur - 11 Sortie Londres"), in French: it is the name shown in the station. When SNCF does not know the state of an equipment, its sensor keeps the last known value and the "Unknown state" counter says so. If SNCF adds an equipment to the station, the Discover tab offers to update the device.
A district of Paris is a device "Paris 13e · lifts and escalators", with the same features. Its equipment is named after its address: "Ascenseur - 147 rue Cardinet (A)". The equipment of the City that is not remotely monitored never has a state: it is not offered.
Dashboard widget
"Lifts and escalators" shows the equipment of one station (the first followed one if none is picked): out of order first (red), unknown (grey), then in service (green). Ten rows at most, the others are counted below. The setting "Hide equipment in service" keeps only the problems. When the SNCF portal (or the City of Paris one) has not answered for three hours, the widget says so.
Scene triggers
| Trigger | When |
|---|---|
| Lift or escalator out of order | an equipment of a followed station goes out of order |
| Lift or escalator back in service | an equipment that was out of order works again |
Filters: the stations (empty = any) and the kind of equipment: lift, escalator or moving walkway (empty = any). Variables: station, equipment, location, number out of order in the station, number of equipment. To watch one equipment, use its feature in a Gladys "device state" trigger.
An unknown state is skipped: the triggers compare with the last state known. Out of order → unknown → out of order fires nothing; out of order → unknown → in service fires "back in service".
Scene action
"Summarize lifts and escalators", for every followed station or the ones picked. Outputs:
sentence, out_of_order, unknown, total, all_ok (1 = yes, 0 = no, for a "Continue only if"
step).
Scene examples
- Every morning before leaving: run the summary for your station, then send the sentence by Telegram.
- When a lift of your station goes out of order: a notification with the equipment and its location.
- On "All in service" back to 1: say it on the speaker of the hall.
Data and refresh
- Source: the dataset "Etat de fonctionnement des équipements d'élévatique en gare" of the SNCF open data portal (states OK, KO and INCONNU), and the station list "Gares de voyageurs" for the names.
- SNCF recomputes the states every hour, from the equipment and the maintenance teams; they are not contractual.
- The integration reads the states of all your stations in one request per cycle, filtered on them, and the station list once a day. Anonymous use is limited by the portal (a few thousand requests a day): the integration stays far below.
- Paris: the dataset "Ascenseurs / Escalators - Télé-surveillance temps réel" of the City of Paris
(
opendata.paris.fr), fed by the monitoring company at every failure or repair. One request per cycle, about ten kB, for all the districts chosen.
Troubleshooting
- No station in the Discover tab: press Status. "No station found": check the spelling, or type part of the name. "No lift or escalator listed": the station has no equipment in the dataset.
- Station list unavailable: the SNCF portal did not answer; the integration tries again at the next cycle.
- A sensor never changes: some equipment stays in an unknown state for a long time; the "Unknown state" counter shows it.
- Logs: Integrations → Ascenseurs gares SNCF et Paris → Logs; set
LOG_LEVEL=debugfor every reading.
Limitations
- Only the stations managed by SNCF Gares & Connexions that publish their equipment (about 600).
- Metro and RER stations of the RATP are not covered. The state of the lifts of Île-de-France Mobilités needs an account: not used.
- A state can be up to an hour old, sometimes more: check before travelling if it matters.
- The equipment names are those of SNCF, in French.
- Paris: only the street equipment managed by the City (about thirty, 25 remotely monitored), not the metro. Some stay "out of order" for months in the dataset: that is what the City publishes.
Credits
- Data: SNCF Gares & Connexions, SNCF open data portal (
ressources.data.sncf.com), under the ODbL licence. - Built on the Gladys Assistant integration SDK. Not affiliated with SNCF.
- Paris data: City of Paris,
opendata.paris.fr, under the ODbL licence.
Configuration settings
These are the settings Ascenseurs gares SNCF et Paris asks for in its configuration screen in Gladys.
| Setting | Type | Required | Description |
|---|---|---|---|
| How it works | section | No | Type your stations and/or tick districts of Paris, then save: they appear in the Discover tab with their lifts and escalators. Add the ones you want to Gladys. No account, no key. |
| Stations | string | No | Names separated by ";", 10 at most. A partial name (a city) lists its stations with equipment. |
| Districts of Paris | multi_select | No | Street lifts and escalators of the City of Paris, remotely monitored (parks, viaducts, Petite Ceinture). One device per district. |
| Refresh | select | No | SNCF updates the states every hour. |
| Language of names and messages | select | No | Feature names are fixed when a device is added. |
How to install Ascenseurs gares SNCF et Paris in Gladys
- In Gladys, open Integrations: Ascenseurs gares SNCF et Paris appears in the catalog, next to the native integrations, with a community badge.
- Click Install. Gladys pulls the Docker image (
ghcr.io/guim31/gladys-ascenseurs-gares:1.1.0), 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/guim31/gladys-ascenseurs-gares.
Ascenseurs gares SNCF et Paris requires Gladys >=5.3.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
Ascenseurs gares SNCF et Paris 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 guim31, 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