Integración externa - Transporte público (GTFS)

¡Hola a todos!

Después de Tisséo para Toulouse, varias personas tienen redes que no tienen su integración dedicada. En lugar de hacer una por ciudad, aquí tenéis Transports en commun (GTFS) : los próximos pasajes en vuestras paradas y las interrupciones para cualquier red publicada en transport.data.gouv.fr. TER y TGV SNCF, Naolib, STAR, TaM, M, Ilévia, Stan… alrededor de 490 redes, de las cuales 220 con tiempo real. Todo proviene de los datos abiertos: sin cuenta y sin clave.

Qué hace

  • La red se elige desde Gladys : búsqueda en el catálogo nacional, o dirección de un archivo GTFS para una red que no esté allí. Hasta 3 redes.
  • Un dispositivo por parada (máximo 20): para cada línea y dirección, los minutos antes del próximo pasaje y el siguiente, los tres próximos pasajes en texto, y la información de tráfico. Se utiliza el tiempo real cuando la red lo publica; un horario teórico se marca con « ≈ ».
  • Un widget « Próximos pasajes », un disparador « Interrupción en una línea seguida » y una acción que prepara una frase lista para enviar.

La parte divertida

A las 7:45 en semana → la frase de los próximos pasajes en mi parada en Telegram
Interrupción en mi línea TER → mensaje en el teléfono antes de salir
Autobús a menos de 4 minutos → la luz de la entrada parpadea

Instalación

Gladys 5.1 mínimo.

Llega a la tienda en el próximo paso del indexador. Mientras tanto: Integraciones → Instalar desde GitHub, con la dirección GitHub - guim31/gladys-gtfs: Next departures and disruptions for any French public transport network (GTFS / GTFS-RT from transport.data.gouv.fr) in Gladys Assistant · GitHub

  1. En Configuración : busca tu red, añádela, luego busca y añade tus paradas (por nombre o alrededor de la casa).
  2. Crea los dispositivos desde la pestaña Descubrimiento, luego añade el widget.

Para Toulouse, Lyon, Île-de-France y Burdeos, las integraciones dedicadas (Tisséo, TCL, IDFM, TBM) siguen siendo más completas: la documentación las menciona. Île-de-France es de hecho demasiado grande para esta.

Pequeñas reservas honestas: el tiempo real depende de lo que publique cada red, y puede pesar mucho (hasta unos 100 MB por hora y por red con una actualización por minuto; de noche, una lectura cada 15 minutos). Se ha probado con los datos reales (SNCF en la estación de Nantes, Naolib, Aix-Marseille) en las condiciones de la caja de arena de Gladys, con un pico de 138 MB de memoria, pero aún no en una instancia real.

Codificado con la ayuda de Claude Code, a partir del código de mi integración Tisséo. Proyecto independiente, no afiliado a transport.data.gouv.fr ni a las redes.

Depósito: GitHub - guim31/gladys-gtfs: Next departures and disruptions for any French public transport network (GTFS / GTFS-RT from transport.data.gouv.fr) in Gladys Assistant · GitHub

Decidme en qué red lo probáis :slight_smile:

Hola @guim31 pequeño bribón :joy:

¿Qué tal a nivel mundial? :

Mi prueba de carga de hoy… y como he cogido cariño a Toulouse estos últimos días, he ido a probar en: 64 Boulevard Pierre Semard Toulouse, mejor conocido como Matabiau.

Y aquí el mismo resultado para la estación central de Heidelberg:

Todo incluido, autobuses urbanos (BUS), líneas de autobuses interurbanos (COACH), tranvías urbanos (TRAM), trenes interurbanos (FERN), trenes de cercanías (S-BAHN).

También se muestran los ferris (FÄHRE), aquí el ejemplo de la Elbphilharmonie en Hamburgo:

y después de que alguien me haya hecho notar que también podría haber teleféricos o similares:

Aquí la ciudad de Heidelberg con un funicular/teleférico (FUNICULAR):

¿Y qué tal con nuestros amigos norteamericanos, aquí Quebec en Canadá:

1.) Solo se necesita acceso a Internet

2.) No se requieren descargas

3.) Actualización controlable

4.) Radio de acción controlable

5.) Ubicación mediante geodatos, previsto: indicación de la ciudad

Si todo va bien, hoy habré terminado con las pruebas y luego, como principiante absoluto en GitHub, me pondré a leer un poco sobre la creación de una integración externa o simplemente entregaré el proyecto a alguien que lo domine…

Saludos

Tom

Descubro que los datos en tiempo real de la red Ginko de Besançon están en esta plataforma de datos abiertos. Voy a probar tu integración, y si funciona, ¡será otro bricolaje de node-red que podré eliminar!

Entonces, en realidad, la integración encuentra bien la red Ginko de Besançon, pero solo son los horarios teóricos, en formato GTFS.
Los horarios en tiempo real están mencionados en el sitio transport.data.gouv.fr, pero en un formato SIRI. El detalle explica que se hace a través de una API que requiere una clave.

En el sitio, hay esto:

Y el detalle de la interfaz SIRI está aquí: Jeu de données ouvert SIRI - API SIRI pour Réseau urbain Ginko - CU Grand Besançon Métropole

Tengo una clave así, es como hago funcionar mi bricolaje de node-red.
¿Crees, @guim31, que podrías completar tu integración con este formato?

@StephaneB bien vu, y sí, es factible. He mirado: Ginko no está solo en este caso, una veintena de redes publican su tiempo en tiempo real únicamente en SIRI en transport.data.gouv.fr (Estrasburgo, los Países del Loira, Idelis, TUB…). Me pongo a ello: un campo opcional para la clave de la red, e integración buscará los pasajes en SIRI cuando no haya GTFS-RT. Tus paradas siguen siendo las mismas, nada que recrear. Te aviso en cuanto esté listo, y tu bricolaje Node-RED será la prueba perfecta ^^

@ruegerth bonita prueba de carga :smiley: ¿Por qué fuente pasas para tener Alemania, Hamburgo y Quebec sin descargar nada? Si es una API mundial abierta, me interesa, ya sea para completar esta o para tu integración.

@StephaneB está en línea: la 1.1.0 lee el tiempo real SIRI y SIRI Lite de las redes que no tienen GTFS-RT, incluido Ginko.

Para activarlo: en la configuración de la integración, campo « Claves de API SIRI », añade una línea Ginko = tu-clave. La clave nunca sale en los registros. Tus paradas siguen siendo las mismas: los pasajes seguidos se muestran sin el « ≈ » cuando son en tiempo real, y las interrupciones de Ginko alimentan la información de tráfico y el disparador.

He podido probarlo desde mi casa contra los servidores reales: el de Ginko responde bien, pero sin ninguna parada cuando no se tiene una clave, por lo que serás tú quien haga la primera prueba real ^^ Si la integración te indica una parada desconocida o una clave rechazada, avísame.

De paso, también funciona para una quincena de otras redes en el mismo caso: los Países del Loira (Aléop y las redes urbanas del agregado), Saint-Brieuc (TUB), varias redes de Nueva Aquitania (Tanlib, Calibus, R’Bus, TuT…), Estrasburgo con una clave CTS… Pequeña reserva: la plataforma Okina, detrás de muchas de estas redes, solo acepta una solicitud cada 30 segundos aproximadamente. Por lo tanto, es mejor seguir una o dos paradas, no diez.

@Guim31 : Mira aquí :joy:

Saludos

Para todos:

Besancon me da:

Nota: ya estoy trabajando en el objeto Object. Se utilizaron los siguientes ajustes:

47.242222°, 6.021389°

Saludos

Tom