Intégration domotique GareSNCF, gratuite et open source

Recherche des gares SNCF et suit plusieurs horaires et retards.
GareSNCF relie Gladys à l’API officielle SNCF (API Navitia). La recherche de gares est intégrée au flux de découverte de Gladys pour permettre d’en choisir et d’en suivre plusieurs.
Obtenir un jeton et ajouter des gares
- Demandez un jeton développeur gratuit sur le portail API SNCF.
- Dans la configuration de l’intégration, saisissez le jeton API et le nom d’une gare ou d’une ville dans le champ Rechercher des gares.
- Enregistrez la configuration, ouvrez l’onglet Découverte, puis lancez la recherche d’appareils. Les gares correspondantes apparaissent comme des appareils sélectionnables.
- Sélectionnez toutes les gares que vous souhaitez suivre et ajoutez-les à Gladys. Pour suivre d’autres villes, modifiez la recherche et relancez la découverte : les gares déjà ajoutées restent suivies.
- Réglez la fréquence de rafraîchissement par gare et le seuil de retard qui déclenche les scènes.
- Consultez le widget Gares suivies pour retrouver les appareils suivis. Pour arrêter le suivi d’une gare, supprimez son appareil dans la liste des appareils Gladys. Les recherches répétées ne créent pas de doublon : l’identifiant SNCF sert de clé stable.
Le quota API étant partagé par les appels de l’intégration, une fréquence de 10 minutes est proposée par défaut. La détection des suppressions est activée par défaut et ajoute une requête vers l’horaire théorique pour chaque actualisation ; désactivez-la dans la configuration si vous souhaitez réduire la consommation API. Vous pouvez également augmenter la fréquence si vous suivez beaucoup de gares.
Les filtres globaux ligne/code, destination et type de transport sont facultatifs et s’appliquent aux tableaux, aux capteurs et aux scènes. Chaque widget peut en outre définir ses propres filtres d’affichage. Si l’API répond avec HTTP 429, le widget conserve les dernières données reçues et affiche l’erreur ainsi que le délai de reprise quand SNCF le fournit. Le quota restant n’est pas disponible via cette API.
Widget
Ajoutez Gares suivies pour consulter la liste des appareils GareSNCF, ou Tableau de gare SNCF pour afficher une gare. Le tableau indique l’heure, le temps restant, la voie disponible, les retards et les suppressions signalées par l’API. Il peut être limité à trois trains en vue compacte et son bouton Actualiser interroge immédiatement l’API. L’âge des données et les erreurs de rafraîchissement apparaissent dans son état.
Déclencheur et action de scène
Les déclencheurs Train en retard, Train supprimé et Changement de voie sont filtrables par gare. Les deux derniers reposent sur les informations retournées par l’API et les changements comparés entre deux actualisations. Les variables disponibles incluent la gare, le train, la destination, le retard, l’heure et la voie (ainsi que l’ancienne voie lors d’un changement).
L’action Récupérer les prochains trains permet de choisir une gare ajoutée. Elle force une actualisation et renvoie count, next_train, destination, minutes, platform, delay_minutes et cancelled aux étapes suivantes.
Données et confidentialité
Le jeton est conservé dans la configuration de GareSNCF et envoyé à api.sncf.com dans l’en-tête Basic Authentication. Il n’est pas inclus dans l’URL ni dans les logs. Les horaires et informations temps réel sont fournis par SNCF et peuvent être absents ou évoluer.
Paramètres de configuration
Voici les paramètres demandés par GareSNCF dans son écran de configuration dans Gladys.
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| API SNCF | section | Non | Un jeton gratuit est nécessaire. Demandez-le sur numerique.sncf.com/startup/api/token-developpeur/. |
| Jeton API SNCF | secret | Oui | Jeton personnel SNCF. Il est transmis au conteneur et ne doit pas être partagé. |
| Rechercher des gares | string | Oui | Saisissez un nom de gare ou de ville, puis lancez la découverte pour sélectionner une ou plusieurs gares. |
| Tableau affiché | select | Non | |
| Fréquence de mise à jour (secondes) | number | Non | |
| Seuil de retard pour déclencher une scène (minutes) | number | Non | |
| Filtre sur la ligne ou le code du train (facultatif) | string | Non | Laissez vide pour tout afficher. |
| Filtre sur la destination (facultatif) | string | Non | Laissez vide pour tout afficher. |
| Filtre sur le type de transport (facultatif) | string | Non | Laissez vide pour tout afficher. |
| Déclencher une scène lors d’une suppression | boolean | Non | |
| Déclencher une scène lors d’un changement de voie | boolean | Non |
Comment installer GareSNCF dans Gladys
- Dans Gladys, ouvrez Intégrations : GareSNCF apparaît dans le catalogue, aux côtés des intégrations natives, avec un badge communautaire.
- Cliquez sur Installer. Gladys télécharge l'image Docker (
ghcr.io/quentin-cs/gladysgaresncf:2.1.1), la démarre dans un bac à sable isolé du cœur, et génère l'interface de l'intégration (appareils, découverte et configuration). - Ouvrez l'écran Configuration de l'intégration, remplissez les paramètres, puis enregistrez.
- Vous pouvez aussi l'installer directement depuis l'URL de son dépôt : https://github.com/Quentin-CS/GladysGareSNCF.
GareSNCF nécessite Gladys >=5.1.0. Le catalogue dans Gladys se rafraîchit toutes les heures : une nouvelle version est donc disponible au plus tard une heure après sa sortie.
Vous n'utilisez pas encore Gladys ? C'est gratuit et open source : suivez le guide d'installation pour démarrer.
À propos des intégrations externes
GareSNCF est une intégration externe : une intégration communautaire empaquetée dans un conteneur Docker et publiée sur GitHub, que Gladys installe en un clic et exécute dans un bac à sable isolé de son cœur. Elle est publiée et maintenue par Quentin-CS, et non par l'équipe cœur de Gladys.
- Parcourir toutes les intégrations, natives et communautaires
- Créer et publier votre propre intégration externe
- Code source sur GitHub — source de cette documentation