Aller au contenu principal

Intégration domotique Transport for London, gratuite et open source

Intégration Transport for London pour Gladys Assistant

Métro, Overground, DLR, Elizabeth line, tram et bus de Londres : état des lignes, prochains passages

L'état de vos lignes londoniennes et les prochains passages à vos arrêts dans Gladys : métro (Tube), London Overground, DLR, Elizabeth line, trams et bus, en temps réel.

Les données viennent de l'API Unified de TfL, l'open data de Transport for London : pas de compte, et une clé gratuite facultative. Powered by TfL Open Data. Cette intégration n'est pas affiliée à Transport for London.

Ce que vous obtenez​

  • Un appareil par ligne suivie : son état tel que TfL le formule (« Retards légers », « Fermeture partielle »…), un niveau de perturbation de 0 à 3, une perturbation oui/non et le motif donné par TfL.
  • Un appareil par arrêt suivi (une station de métro, DLR, Overground, Elizabeth line ou tram, ou un arrêt de bus), avec un filtre facultatif de lignes et de direction : minutes avant le prochain passage et le suivant, ligne et destination du prochain, et si l'une de ses lignes est perturbée.
  • Deux widgets : les prochains passages d'un arrêt, et l'état de vos lignes suivies.
  • Deux déclencheurs de scène : état d'une ligne modifié (perturbée, aggravation, amélioration, retour à la normale) et c'est l'heure de partir (1 à 20 minutes avant un passage).
  • Deux actions de scène : lire les prochains passages d'un arrêt, lire l'état d'une ligne, chacune avec une phrase prête à envoyer par message ou sur une enceinte.

Prérequis​

  • Gladys Assistant 5.1.0 ou plus récent.
  • Un accès à Internet depuis la machine Gladys (l'intégration appelle api.tfl.gov.uk).
  • Facultatif : une clé d'application TfL gratuite, sur le portail API de TfL (créez un compte, puis abonnez-vous au produit « 500 Requests per min »). Sans elle, l'intégration utilise le quota anonyme, suffisant pour quelques lignes et arrêts.

Installation​

  1. Dans Gladys, ouvrez Intégrations → Installer depuis GitHub.
  2. Collez https://github.com/guim31/gladys-tfl et installez.
  3. Ouvrez l'onglet Configuration de l'intégration pour suivre des lignes et des arrêts (ci-dessous).

Configuration​

Réglages​

  • Langue des textes : langue des noms de fonctionnalités (fixés à la création d'un appareil), des états et des phrases envoyées à vos scènes. Les motifs des perturbations restent en anglais, tels que TfL les publie.
  • Fréquence de mise à jour : 1 minute (par défaut) ou 2 minutes.
  • Clé d'application TfL (facultative) : relève le quota. Elle n'est jamais écrite dans les logs.

Suivre une ligne​

Utilisez Suivre une ligne avec le nom d'une ligne : Victoria, Elizabeth line, Hammersmith & City, DLR, Tram, une ligne Overground (Liberty, Lioness, Mildmay, Suffragette, Weaver, Windrush) ou un numéro de bus (73, N29). Ouvrez ensuite l'onglet Découverte et créez l'appareil.

Suivre un arrêt​

  1. Chercher un arrêt : saisissez un nom (Oxford Circus, Brixton). La réponse liste les stations et arrêts de bus avec leur identifiant entre crochets, et la direction d'un arrêt de bus (→ Herne Hill).
  2. Ajouter un arrêt : saisissez le nom exact ou l'identifiant. Filtres facultatifs :
    • Lignes : les lignes à garder, séparées par des virgules (Victoria, Central). Vide : toutes.
    • Direction : une partie de la destination ou du quai (Brixton, Southbound).
  3. Ouvrez l'onglet Découverte et créez l'appareil.

Une station à plusieurs réseaux (un « hub », comme Brixton) est lue par ses stations TfL ; les trains National Rail n'ont pas de passages TfL. Un même arrêt peut être ajouté plusieurs fois avec d'autres filtres : chaque jeu de filtres est un appareil.

Retirer, consulter l'état​

  • Ne plus suivre une ligne et Retirer un arrêt (avec le nom affiché dans l'état) arrêtent les lectures. L'appareil reste dans Gladys jusqu'à ce que vous le supprimiez.
  • État liste les lignes et arrêts suivis, si leur appareil est créé, la dernière lecture de TfL et la dernière erreur.

Appareils​

Ligne (TfL · Victoria, TfL · Bus 73) :

FonctionnalitéValeur
Étatl'état en clair, « Retards légers », « Fermeture partielle + … »
Niveau de perturbation0 trafic normal, 1 mineure, 2 importante ou partielle, 3 interrompue
Perturbation1 quand le niveau dépasse 0, avec historique
Motifle motif donné par TfL (en anglais), ou « Aucune perturbation »

Arrêt (TfL · Oxford Circus (Victoria · → Southbound)) :

FonctionnalitéValeur
Prochain passageminutes d'attente (1440 quand aucun passage n'est annoncé)
Passage suivantminutes avant le passage d'après
Ligne et destination« Victoria → Walthamstow Central »
Perturbation1 quand une ligne de l'arrêt (ou de son filtre) est perturbée

La fermeture nocturne du métro (« Service terminé ») n'est pas une perturbation. Des travaux annoncés pour plus tard ne sont pas une perturbation avant d'avoir commencé.

Widgets​

  • Prochains passages : choisissez un arrêt. Une ligne par passage (« Victoria → Brixton », « 07:45 · 3 min · Platform 6 »), verte quand la ligne circule normalement, orange en cas de perturbation mineure, rouge si elle est importante ; le motif d'une perturbation en tête.
  • État des lignes TfL : chaque ligne suivie dont l'appareil est créé, la plus perturbée en premier, avec les mêmes couleurs et le premier motif en tête.

Déclencheurs de scène​

  • État d'une ligne modifié : une ligne suivie est perturbée, s'aggrave, s'améliore ou revient à un trafic normal. Filtres : la ligne (vide : toutes) et les événements. Variables : ligne, événement, état, niveau, niveau précédent, motif.
  • C'est l'heure de partir : un passage à un arrêt suivi a lieu dans le nombre de minutes choisi (1 à 20). Une fois par passage et par seuil. Filtres : arrêt, ligne (telle que TfL l'écrit : Victoria, 73), seuil. Variables : arrêt, ligne, destination, quai, minutes, heure prévue.

Rien ne se déclenche à la première lecture après un démarrage : ce qui était déjà là n'est pas une nouvelle.

Actions de scène​

  • Lire les prochains passages : pour un arrêt (et éventuellement une ligne), les minutes avant le prochain passage et le suivant, la ligne, la destination, le quai, l'heure prévue, si une ligne est perturbée (1 ou 0), et une phrase : « Victoria vers Brixton à Oxford Circus : dans 3 et 7 min ».
  • Lire l'état d'une ligne : l'état, le niveau (0 à 3), son nom, perturbée (1 ou 0), le motif, et une phrase : « Victoria : Retards légers. Minor delays due to train cancellations. »

Exemples de scènes​

  • Trajet du matin : à 7 h 30 en semaine, Lire l'état d'une ligne pour la Northern line, puis Continuer seulement si disrupted = 1, puis envoyer la phrase par Telegram.
  • Il faut partir : déclencheur C'est l'heure de partir sur votre arrêt de bus, seuil 5 minutes, puis faire clignoter une lampe et dire « Ton bus passe dans 5 minutes » sur une enceinte.
  • Retour à la normale : déclencheur État d'une ligne modifié sur l'Elizabeth line avec l'événement « Retour à la normale », puis envoyer un message.

Données, mise à jour et quotas​

Chaque minute (ou toutes les deux), l'intégration lit, pour les appareils créés seulement : une requête d'état pour toutes les lignes concernées (lignes suivies et lignes des arrêts suivis), puis une requête de passages par point d'arrêt (une station est un point d'arrêt, un hub jusqu'à quatre). TfL prévoit les passages une trentaine de minutes à l'avance. Jusqu'à 20 lignes et 10 arrêts.

TfL demande d'être cité (« Powered by TfL Open Data ») et limite les requêtes par clé ; l'usage anonyme est plus limité. Avec beaucoup d'arrêts, ajoutez une clé gratuite. Voir les conditions des données de transport de TfL.

Dépannage​

  • « TfL est injoignable (…HTTP 429 (quota)) » : trop de requêtes sur le quota anonyme. Ajoutez une clé gratuite, ou choisissez une fréquence de 2 minutes.
  • « (app_key refused) » : la clé est fausse ou n'est abonnée à aucun produit sur le portail TfL. Corrigez-la, ou videz le champ.
  • Aucun passage : hors des heures de service, ou station National Rail seulement. Vérifiez l'arrêt avec Chercher un arrêt et son identifiant.
  • Le compte à rebours reste à 1440 : TfL n'annonce aucun passage pour le moment.
  • Plus de détails : réglez LOG_LEVEL=debug sur le conteneur.

Limites​

  • Développée hors de Londres sur la vraie API de TfL, sans usage quotidien sur place : vos retours sont les bienvenus.
  • Les noms des fonctionnalités sont fixés à la création de l'appareil.
  • Pas de retard ni de suppression par train : TfL ne publie que des heures prévues.
  • Les motifs des perturbations sont en anglais, tels que TfL les publie.
  • Les trains National Rail des gares partagées ne sont pas couverts.

Crédits​

Powered by TfL Open Data. Contains OS data © Crown copyright and database rights. Inspirée de l'intégration Home Assistant « London Underground » (Apache 2.0) et des intégrations Entur et TTC pour Gladys.

Paramètres de configuration​

Voici les paramètres demandés par Transport for London dans son écran de configuration dans Gladys.

ParamètreTypeObligatoireDescription
Comment ça marchesectionNonSuivez des lignes et des arrêts avec les actions ci-dessous, puis créez leurs appareils dans l'onglet Découverte. Tout vient de l'open data de TfL : pas de compte, la clé est facultative.
Langue des textesselectNonLangue des noms de fonctionnalités, des états et des phrases envoyées à vos scènes. Les motifs des perturbations restent en anglais, tels que TfL les écrit. Les noms sont fixés à la création de l'appareil.
Fréquence de mise à jourselectNonFréquence de lecture de TfL pour vos appareils créés : une requête d'état, plus une par point d'arrêt.
Clé d'application TfL (facultative)secretNonGratuite sur le portail API de TfL : elle porte le quota à 500 requêtes par minute. Sans elle, l'intégration fonctionne avec le quota anonyme.

Comment installer Transport for London dans Gladys​

  1. Dans Gladys, ouvrez Intégrations : Transport for London apparaît dans le catalogue, aux côtés des intégrations natives, avec un badge communautaire.
  2. Cliquez sur Installer. Gladys télécharge l'image Docker (ghcr.io/guim31/gladys-tfl:1.0.0), 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).
  3. Ouvrez l'écran Configuration de l'intégration, remplissez les paramètres, puis enregistrez.
  4. Vous pouvez aussi l'installer directement depuis l'URL de son dépôt : https://github.com/guim31/gladys-tfl.

Transport for London 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​

Transport for London 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 guim31, et non par l'équipe cœur de Gladys.

Inscrivez-vous à la newsletter Gladys Assistant

Quelques emails par mois sur les nouveautés et l'actualité du projet. Envoyés par Pierre-Gilles Leymarie, le fondateur du projet. Désinscription possible à tout moment 🙂