Suivez les horaires des trains SNCF entre deux gares dans Home Assistant, grâce à l’API officielle SNCF. Départ / arrivée, retards, durée, mode (TER…), tout est intégré dans une interface configurable et traduite.
⚠️ Ne prend pas en compte les trains supprimés.
Nécessite HACS installé dans Home Assistant
- Aller dans HACS
- Chercher SNCF Trains
- Installer puis redémarrer Home Assistant
- Télécharger le contenu du dépôt
- Copier le dossier
sncf_trainsdansconfig/custom_components/ - Redémarrer Home Assistant
- Aller dans Paramètres → Appareils & services → Ajouter une intégration
- Rechercher SNCF Trains
- Suivre les étapes :
- Clé API SNCF
- Ajouter un trajet :
- Ville et gare de départ
- Ville et gare d'arrivée
- Plage horaire à surveiller
Plusieurs trajets peuvent être configurés séparément.
- ⏱ Intervalle de mise à jour pendant la plage horaire
- 🕰 Intervalle hors plage horaire
- 🚆 Nombre de trains affichés
- 🕗 Heures de début et fin de surveillance
✅ Aucun redémarrage requis. Les modifications sont appliquées dynamiquement.
Obtenez votre clé ici : https://www.digital.sncf.com/startup/api
- Créez un compte ou connectez-vous
- Générez une clé API gratuite
- Utilisez-la lors de la configuration (limite de 5 000 requêtes par jour)
Pour changer de clé, cliquer sur Reconfigurer dans l'intégration.
| Nom | Description |
|---|---|
update_interval |
Intervalle de mise à jour pendant la plage horaire (défaut : 2 min) |
outside_interval |
Intervalle hors plage horaire (défaut : 60 min) |
train_count |
Nombre de trains à afficher |
time_start / time_end |
Plage horaire de surveillance (ex. : 06:00 → 09:00) |
🕑 L'intervalle actif s'active automatiquement 2h avant le début de plage.
sensor.sncf_<gare_dep>_<gare_arr>— capteur principal du trajetsensor.sncf_train_X_<gare_dep>_<gare_arr>— capteur par traincalendar.trains— calendrier des prochains départssensor.sncf_tous_les_trains_ligne_X
- Nombre de trajets
- Informations les inervalles
- Heure de départ (
device_class: timestamp) - Heure d’arrivée
- Retard estimé
- Durée totale (
duration_minutes) - Mode, direction, numéro
La carte sncf-train-card est automatiquement disponible dans le sélecteur de cartes dès l'installation de l'intégration.
Dans un tableau de bord, cliquer sur + Ajouter une carte → chercher SNCF Train Card.
La configuration peut ensuite se faire :
- via l'éditeur visuel Lovelace
- ou via YAML
Ou en YAML :
type: custom:sncf-train-card
device_id: VOTRE_DEVICE_IDVous pouvez afficher les trajets de plusieurs appareils sur une seule carte, avec un tri chronologique par date d'arrivée :
type: custom:sncf-train-card
device_id:
- DEVICE_ID_1
- DEVICE_ID_2
- DEVICE_ID_3
title: 'Tous Mes Trajets'
train_lines: 10Rétrocompatibilité : L'ancien format (
device_id: DEVICE_ID) continue de fonctionner et est automatiquement converti en tableau.
S'obtient dynamiquement via la configuration visuelle.
Le device_id correspond à l'appareil créé lors de la configuration du trajet.
- Aller dans Paramètres → Appareils & services → SNCF Trains
- Cliquer sur le trajet souhaité
- L'URL contient l'identifiant :
.../config/devices/device/XXXX
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
device_id |
string | array[string] |
obligatoire | Identifiant(s) de l'appareil(s) SNCF. Peut être une chaîne unique ou un tableau de plusieurs IDs (voir ci-dessus) |
title |
string |
'Trains SNCF' |
Titre affiché en haut de la carte |
train_lines |
number |
3 |
Nombre de trains affichés simultanément |
animation_duration |
number |
30 |
Nombre de minutes avant l'arrivée en gare à partir duquel l'animation du train se déclenche (ex : 30 = animation active dans les 30 dernières minutes, 60 = dans la dernière heure) |
update_interval |
number |
30000 |
Intervalle de rafraîchissement de la carte en millisecondes |
train_emoji_axial_symmetry |
boolean |
true |
Retourne l'emoji du train horizontalement |
train_emoji |
string |
'🚅' |
Emoji du train animé sur la barre |
show_departure_station |
boolean |
true |
Affiche ou masque les informations de départ |
departure_station_emoji |
string |
'' |
Emoji de la station de départ |
show_arrival_station |
boolean |
true |
Affiche ou masque les informations d'arrivée |
arrival_station_emoji |
string |
'🚉' |
Emoji de la station d'arrivée |
Single device :
type: custom:sncf-train-card
device_id: abc123def456
title: "Paris → Lyon"
train_lines: 4
train_emoji: "🚆"
train_emoji_axial_symmetry: true
show_departure_station: true
departure_station_emoji: "🚉"
show_arrival_station: true
arrival_station_emoji: "🏙️"
animation_duration: 0
update_interval: 60000Multiple devices (fusionnés et triés par date d'arrivée) :
type: custom:sncf-train-card
device_id:
- abc123def456
- def456ghi789
- ghi789jkl123
title: "Tous Mes Trajets SNCF"
train_lines: 10
train_emoji: "🚄"
update_interval: 30000Carte capteur :
Détails du prochain train :
Dashboard Lovelace :
Compatible avec Home Assistant 2025.8+.
Structure :
__init__.py: enregistrement de l'intégration et de la carte Lovelacecalendar.py: calendrierconfig_flow.py: assistant UI de configurationoptions_flow.py: formulaire d’options dynamiquessensor.py: entités de capteurscoordinator.py: logique de récupération intelligentetranslations/fr.json: interface en françaismanifest.json: métadonnées et dépendanceswww/sncf-train-card.js: carte Lovelace personnalisée
Développé par Master13011 Contributions bienvenues via Pull Request ou Issues
Code open-source sous licence MIT

