Intégration domotique TBM, gratuite et open source

Prochains passages en temps réel des trams, bus et bateaux TBM (Bordeaux), par sens.
Cette intégration affiche dans Gladys les prochains passages en temps réel des trams, bus et bateaux du réseau TBM (Bordeaux Métropole), sens par sens : pour chaque ligne suivie à une station, vous savez dans combien de minutes passe le prochain véhicule de chaque sens, et où il va.
Elle calcule aussi vos trajets depuis la maison vers les adresses de votre choix (travail, école, gare…) : quand partir, par quelles lignes, à quelle heure vous arrivez — en temps réel, avec les lignes de nuit et les perturbations.
Pas de compte, pas de clé : le temps réel TBM est publié en données ouvertes, et les trajets sont calculés par Transitous, un service communautaire gratuit.
Intégration communautaire, sans lien avec TBM, Keolis Bordeaux Métropole Mobilités ou Bordeaux Métropole.
Version bêta. Les passages et les trajets fonctionnent, mais l'intégration est jeune : signalez tout souci ou idée sur GitHub, avec une capture d'écran si possible.
Démarrer
- Donnez une adresse à votre maison dans Gladys : Paramètres → Maisons. L'intégration s'en sert pour trouver les stations proches.
- Ouvrez la page Configuration de l'intégration et cliquez sur Enregistrer (les valeurs par défaut conviennent).
- Ouvrez l'onglet Découverte : les lignes des 3 stations les plus proches (à moins de 600 m) y sont proposées, par exemple « TBM – Hôtel de Ville – Tram A ». Cliquez sur Ajouter sur celles qui vous intéressent.
Les prochains passages arrivent dans la minute.
Si vous avez plusieurs maisons dans Gladys, l'intégration cherche autour de la première maison qui a une adresse, dans l'ordre alphabétique.
Ce que vous obtenez
Un appareil par ligne à une station. Pour chaque sens de la ligne :
| Fonctionnalité | Valeur |
|---|---|
| Sens 1 → … · prochain passage | minutes avant le prochain passage (999 : aucun passage) |
| Sens 1 → … · destination | où va ce véhicule, par exemple « La Gardette » |
| Sens 1 → … · passage suivant | minutes avant le passage d'après |
| Sens 1 → … · prochains passages | « La Gardette 3 min · Cenon Gare 11 min (dont 2 minutes de retard) » |
Le nom de chaque fonctionnalité dit où va le sens : « Sens 1 → Hôpital Pellegrin / Le Haillan Rostand ». La destination est celle du véhicule lui-même : sur une ligne qui se divise (le tram A après Buttinière), le sens 2 part une fois vers La Gardette, la fois suivante vers Cenon Gare.
Dans les textes :
- ~11 min : horaire théorique, le véhicule n'est pas encore suivi en temps réel (souvent un tram qui n'a pas quitté son terminus) ;
- (dont 2 minutes de retard) : le véhicule a 2 minutes de retard sur l'horaire prévu, et les minutes affichées en tiennent déjà compte : « 11 min (dont 2 minutes de retard) » veut dire qu'il passe dans 11 minutes, au lieu de 9 prévues. Il n'y a rien à ajouter ;
- (dernier) : le dernier passage de ce sens avant une coupure de plus de deux heures, c'est-à-dire en général le dernier de la soirée. Il est signalé jusqu'à deux heures à l'avance ;
- à l'arrêt : moins d'une minute.
Les valeurs ne sont pas historisées : un compte à rebours n'a pas d'intérêt une fois passé.
Suivre une autre station
Pour une station qui n'est pas près de chez vous (travail, école…) :
-
En bas de la page Configuration, cliquez sur Chercher une station et tapez une partie du nom (« Quinconces »). La réponse donne le code de chaque station et ses lignes :
BMUNIC — Quinconces : Lianes 2, TBNight N8BQUIOR — Quinconces : Lianes 2, TBNight N6Le tram et le bus qui s'arrêtent au même endroit sont deux stations différentes (les codes de tram commencent par T, ceux de bus par B).
-
Collez le code dans le champ Stations. Pour ne garder que certaines lignes, ajoutez
@et leurs numéros, séparés par|:Saisie Résultat THDVAtoutes les lignes de Hôtel de Ville (tram) THDVA@Aseulement le tram A BQUIOR@2|N6la Lianes 2 et la TBNight N6 à Quinconces (bus) THDVA@A, BQUIOR@2plusieurs stations, séparées par des virgules -
Enregistrez, puis ajoutez les appareils depuis l'onglet Découverte.
Un code mal saisi est signalé dans l'état de la connexion, en haut de la page de configuration.
Trajets depuis la maison
Dans la page Configuration, section Trajets depuis la maison, saisissez jusqu'à 5 destinations dans le champ Trajets, séparées par des points-virgules, chacune sous la forme « Nom : adresse » :
Travail : 1 place Pey Berland, Bordeaux ; Gare : Gare Saint-Jean
Le nom est facultatif (sans lui, l'adresse sert de nom). Ajoutez la ville si l'adresse est ambiguë : une adresse trouvée à plus de 60 km de la maison est ignorée. Enregistrez, puis ajoutez les appareils « TBM – Trajet → Travail » depuis l'onglet Découverte.
Les trajets partent de l'adresse de la maison (Paramètres → Maisons) et comptent la marche jusqu'au premier arrêt et depuis le dernier. Ils sont calculés par Transitous avec le temps réel TBM : une course supprimée, un retard, un arrêt déplacé, ou la fin du service des trams (les bus de nuit prennent le relais) changent le trajet proposé.
| Fonctionnalité | Valeur |
|---|---|
| partir dans | minutes avant de quitter la maison (999 : aucun trajet trouvé) |
| durée | minutes de la maison à la destination |
| arrivée | heure d'arrivée, « 18:47 » |
| itinéraire | les lignes et les correspondances, « Tram A 18:12, changer à Porte de Bourgogne : Tram F 18:19 » |
| prochains départs | les options suivantes, « 18:05 → 18:47 · 18:15 → 18:55 » |
| état | « Normal », « Retard de 4 min », « Perturbé : … », « Horaire théorique » |
Transitous est un service bénévole qui demande un usage modéré. L'intégration fait donc un calcul complet des trajets seulement au début, puis à chaque fois que le premier trajet proposé est parti. Entre deux, elle met à jour le temps réel des trajets déjà trouvés (retards, suppressions) toutes les 2 minutes (réglage Mise à jour des trajets), ce qui ne coûte presque rien à Transitous. « Partir dans » décompte chaque minute.
Si un trajet ne peut pas être calculé (maison sans adresse, adresse introuvable, Transitous indisponible), son état dit pourquoi et que faire.
Réglages
| Réglage | Rôle | Défaut |
|---|---|---|
| Stations près de chez moi | combien de stations proches sont proposées (0 : aucune) | 3 |
| Rayon de recherche (m) | distance maximale entre la maison et une station proposée | 600 |
| Inclure les bus scolaires | proposer aussi les lignes scolaires SCODI | non |
| Stations | stations saisies à la main (voir plus haut) | vide |
| Rafraîchissement (s) | fréquence de lecture des passages | 60 |
| Passages dans le résumé | nombre de passages par sens dans le texte « prochains passages » | 3 |
| Trajets | destinations des trajets depuis la maison (voir plus haut) | vide |
| Mise à jour des trajets (s) | fréquence de mise à jour du temps réel des trajets, 120 au minimum | 120 |
| Langue des valeurs | langue des noms de fonctionnalités et des textes | français |
Les bus de remplacement pendant des travaux (« Navette Tram », « Bus Relais ») ne sont pas proposés automatiquement : ajoutez-les par leur numéro dans Stations si besoin.
Tableau de bord
Le widget Passages TBM affiche une ligne à une station comme un panneau d'arrêt : une tuile par sens avec le prochain passage, puis la liste des passages suivants (le prochain, déjà dans la tuile, n'y est pas répété) — en vert s'ils sont suivis en temps réel, en gris (« ~ ») si c'est l'horaire théorique, en orange à partir de 5 minutes de retard ou pour le dernier passage de la soirée. Le dernier passage est aussi annoncé sous le titre : « Dernier à 00:24 → Le Haillan Rostand ».
Ajoutez-le depuis l'édition du tableau de bord, puis choisissez dans ses réglages :
- Ligne à une station : l'appareil à afficher ;
- Sens : « Les deux sens », « Sens 1 » ou « Sens 2 » (les numéros sont ceux des noms des fonctionnalités de l'appareil). Avec un seul sens, l'endroit où il va est indiqué sous le titre. Laissé vide : les deux sens ;
- Passages affichés : combien de passages par sens, celui de la tuile compris. « Le prochain seulement » n'affiche que la tuile ; « 3 passages », la tuile et les 2 suivants. Laissé vide : 5.
Pour suivre les deux sens séparément, ajoutez deux widgets sur la même ligne, un par sens.
Widget « Trajet TBM »
Pour un trajet : une tuile dit dans combien de minutes partir, les lignes à prendre et l'heure d'arrivée (« Lianes 4 › TER → 22:00 ») ; au-dessus, le détail avec l'heure de chaque ligne et les correspondances (« Lianes 4 21:45, changer à Gare Saint-Jean : TER ~21:53 ») et ce qui perturbe le trajet, s'il y a lieu ; en dessous, les options suivantes, sans répéter celle de la tuile.
Les trajets sont classés par heure d'arrivée : la tuile montre celui qui vous fait arriver le plus tôt, même s'il part plus tard qu'un autre. Quand une correspondance demande de marcher jusqu'à un autre arrêt, l'itinéraire le dit (« descendre à …, à pied jusqu'à … »).
Un « ~ » devant une heure veut dire qu'elle vient de la fiche horaire : ce véhicule n'est pas suivi en temps réel (souvent un TER, dont Transitous n'a pas le temps réel, ou un tram pas encore parti de son terminus). Couleurs : vert, suivi en temps réel ; gris, horaire théorique ; orange, perturbation ou retard d'au moins 5 minutes ; rouge, une course du trajet est supprimée.
Réglages : le trajet, et les trajets affichés (de « Le meilleur seulement » à 5, le meilleur compris ; vide : 5).
Scènes
Déclencheur « TBM : passage imminent »
Se déclenche quand un véhicule d'une ligne suivie passe sous le nombre de minutes choisi (1, 2, 3, 5, 10 ou 15), compté sur l'heure réelle. Filtres : la ligne (appareil), le sens (1 ou 2, comme dans les noms des fonctionnalités ; vide pour les deux), les minutes.
Chaque véhicule ne déclenche qu'une fois par seuil. Variables disponibles : station, ligne, sens, destination, minutes, retard, suivi en temps réel, heure, et une phrase toute faite :
Hôtel de Ville : Tram A vers La Gardette passe dans 5 min (17:58, dont 2 minutes de retard).
Exemple : envoyer la phrase sur votre téléphone quand le tram passe dans 5 minutes.
Action « Lire le prochain passage TBM »
Lit le prochain passage d'une ligne (un sens, ou les deux) et le rend aux actions suivantes de la scène : minutes d'attente (-1 si aucun), le suivant, la ligne, la destination, l'heure, le retard et la phrase toute faite, à envoyer en notification ou à faire annoncer.
Boutons de la page de configuration
- Chercher une station — trouve le code d'une station par son nom.
- Tester la connexion — interroge TBM tout de suite et affiche le nombre de stations, le prochain passage d'une de vos stations, ce qui a été trouvé près de la maison et, si vous avez saisi des trajets, le prochain départ du premier.
Dépannage
| Message ou symptôme | Que faire |
|---|---|
| « Donnez une adresse à votre maison… » | Paramètres → Maisons : renseignez l'adresse, puis réenregistrez la configuration. |
| Rien dans l'onglet Découverte | Augmentez le rayon de recherche, ou ajoutez une station à la main. |
| « Introuvable dans Stations : … » | Vérifiez le code avec Chercher une station. |
| « Le service TBM ne répond pas » | Panne côté TBM : l'intégration réessaie seule et garde l'annuaire connu. |
| Toujours 999 | Aucun passage dans les 4 heures (nuit, fin de service, sens non desservi ici). |
Données
Données temps réel et annuaire du réseau : TBM / Bordeaux Métropole, jeu Réseau urbain et scolaire TBM, sous Licence Ouverte. L'annuaire des stations et des lignes est relu une fois par jour et gardé dans le conteneur ; les passages sont lus une fois par minute et par station, quel que soit le nombre de lignes suivies.
Trajets : Transitous (service communautaire gratuit, données OpenStreetMap et horaires des réseaux). L'intégration s'identifie auprès de lui, garde les adresses trouvées dans le conteneur et ne recalcule un trajet qu'à l'intervalle réglé.
Paramètres de configuration
Voici les paramètres demandés par TBM dans son écran de configuration dans Gladys.
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| Démarrer en 2 minutes | section | Non | 1. Vérifiez que votre maison a une adresse dans Gladys (Paramètres → Maisons). 2. Enregistrez cette page. 3. Ouvrez l’onglet « Découverte » de cette intégration et cliquez sur « Ajouter » sur les lignes près de chez vous. C’est tout : les prochains passages arrivent dans la minute. Pas de compte, pas de clé : le temps réel TBM est en données ouvertes. |
| Près de chez moi | section | Non | Les lignes des stations les plus proches sont proposées dans l’onglet « Découverte », un appareil par ligne avec ses deux sens. |
| Stations près de chez moi | number | Non | Combien de stations parmi les plus proches sont proposées. 0 désactive la suggestion. |
| Rayon de recherche (m) | number | Non | Seulement les stations à moins de cette distance de la maison, en mètres. |
| Inclure les bus scolaires | boolean | Non | Proposer aussi les lignes scolaires SCODI qui desservent ces stations. |
| Autres stations (facultatif) | section | Non | Pour suivre une station qui n’est pas près de chez vous (travail, école…) : trouvez son code avec le bouton « Chercher une station » en bas de cette page, et collez-le ici. |
| Stations | string | Non | Codes de station, séparés par des virgules. Après @, les lignes à garder (séparées par |), sinon toutes : « THDVA, BQUIOR@2|5 ». |
| Trajets depuis la maison | section | Non | Les trajets optimaux de votre maison vers les destinations de votre choix, en temps réel. Prend en compte les horaires de nuit et les perturbations. Calculés par Transitous, un service communautaire gratuit. |
| Trajets | string | Non | Jusqu’à 5 destinations séparées par des points-virgules, chacune sous la forme « Nom : adresse ». Un appareil par trajet apparaît dans l’onglet Découverte. |
| Avancé | section | Non | Les valeurs par défaut conviennent à presque tout le monde. Une seule requête sert toutes les lignes d’une station. |
| Rafraîchissement (s) | number | Non | Fréquence de lecture des passages, en secondes (une minute minimum). |
| Mise à jour des trajets (s) | number | Non | Fréquence de mise à jour du temps réel des trajets, en secondes (2 minutes minimum). Un nouveau calcul complet n’a lieu qu’au départ du premier trajet proposé, comme le demande Transitous. |
| Passages dans le résumé | number | Non | Nombre de passages par sens listés dans le texte « prochains passages ». |
| Langue des valeurs | select | Non | Langue des noms de fonctionnalités et des textes publiés. |
Comment installer TBM dans Gladys
- Dans Gladys, ouvrez Intégrations : TBM 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/daviddu26/gladys-tbm:0.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/daviddu26/gladys-tbm.
TBM 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
TBM 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 daviddu26, et non par l'équipe cœur de Gladys.
- Parcourir toutes les intégrations externes
- Découvrir les intégrations natives intégrées à Gladys
- Créer et publier votre propre intégration externe
- Code source sur GitHub — source de cette documentation