Integración domótica Transport for London, gratuita y de código abierto

Metro, Overground, DLR, Elizabeth line, tranvía y autobús de Londres: estado y próximas llegadas.
El estado de sus líneas de Londres y las próximas llegadas a sus paradas en Gladys: metro (Tube), London Overground, DLR, Elizabeth line, tranvías y autobuses, en tiempo real.
Los datos proceden de la API Unified de TfL, los datos abiertos de Transport for London: sin cuenta, con una clave gratuita opcional. Powered by TfL Open Data. Esta integración no está afiliada a Transport for London.
Qué obtiene
- Un dispositivo por línea seguida: su estado tal como lo formula TfL («Retrasos leves», «Cierre parcial»…), un nivel de incidencia de 0 a 3, con incidencia sí/no y el motivo indicado por TfL.
- Un dispositivo por parada seguida (una estación de metro, DLR, Overground, Elizabeth line o tranvía, o una parada de autobús), con un filtro opcional de líneas y dirección: minutos hasta la próxima llegada y la siguiente, línea y destino de la próxima, y si una de sus líneas tiene una incidencia.
- Dos widgets: las próximas llegadas de una parada y el estado de sus líneas seguidas.
- Dos disparadores de escena: estado de una línea cambiado (con incidencia, empeora, mejora, vuelta a la normalidad) y hora de salir (1 a 20 minutos antes de una llegada).
- Dos acciones de escena: obtener las próximas llegadas de una parada y obtener el estado de una línea, cada una con una frase lista para enviar por mensaje o a un altavoz.
Requisitos
- Gladys Assistant 5.1.0 o posterior.
- Acceso a Internet desde el equipo de Gladys (la integración llama a
api.tfl.gov.uk). - Opcional: una clave de aplicación de TfL gratuita, en el portal API de TfL (regístrese y suscríbase al producto «500 Requests per min»). Sin ella, la integración usa la cuota anónima, suficiente para algunas líneas y paradas.
Instalación
- En Gladys, abra Integraciones → Instalar desde GitHub.
- Pegue
https://github.com/guim31/gladys-tfle instale. - Abra la pestaña Configuración de la integración para seguir líneas y paradas (más abajo).
Configuración
Ajustes
- Idioma de los textos: idioma de los nombres de funciones (fijados al crear un dispositivo), de los estados y de las frases enviadas a sus escenas. Los motivos de las incidencias siguen en inglés, como los publica TfL.
- Intervalo de actualización: 1 minuto (por defecto) o 2 minutos.
- Clave de aplicación de TfL (opcional): eleva la cuota. Nunca se escribe en los registros.
Seguir una línea
Use Seguir una línea con el nombre de una línea: Victoria, Elizabeth line,
Hammersmith & City, DLR, Tram, una línea Overground (Liberty, Lioness, Mildmay,
Suffragette, Weaver, Windrush) o un número de autobús (73, N29). Abra después la pestaña
Descubrir y cree el dispositivo.
Seguir una parada
- Buscar una parada: escriba un nombre (
Oxford Circus,Brixton). La respuesta muestra las estaciones y paradas de autobús con su identificador entre corchetes, y la dirección de una parada de autobús (→ Herne Hill). - Añadir una parada: escriba el nombre exacto o el identificador. Filtros opcionales:
- Líneas: las líneas que se conservan, separadas por comas (
Victoria, Central). Vacío: todas. - Dirección: una parte del destino o del andén (
Brixton,Southbound).
- Líneas: las líneas que se conservan, separadas por comas (
- Abra la pestaña Descubrir y cree el dispositivo.
Una estación con varias redes (un «hub», como Brixton) se lee a través de sus estaciones de TfL; los trenes de National Rail no tienen llegadas de TfL. La misma parada puede añadirse varias veces con otros filtros: cada combinación de filtros es un dispositivo.
Eliminar, consultar el estado
- Dejar de seguir una línea y Eliminar una parada (con el nombre que aparece en el estado) detienen las lecturas. El dispositivo permanece en Gladys hasta que lo borre.
- Estado muestra las líneas y paradas seguidas, si su dispositivo está creado, la última lectura de TfL y el último error.
Dispositivos
Línea (TfL · Victoria, TfL · Autobús 73):
| Función | Valor |
|---|---|
| Estado | el estado en palabras, «Retrasos leves», «Cierre parcial + …» |
| Nivel de incidencia | 0 servicio normal, 1 leve, 2 grave o parcial, 3 suspendida |
| Incidencia | 1 cuando el nivel es mayor que 0, con historial |
| Motivo | el motivo indicado por TfL (en inglés), o «Ninguna incidencia» |
Parada (TfL · Oxford Circus (Victoria · → Southbound)):
| Función | Valor |
|---|---|
| Próxima llegada | minutos de espera (1440 cuando no se anuncia ninguna llegada) |
| Llegada siguiente | minutos hasta la llegada posterior |
| Línea y destino | «Victoria → Walthamstow Central» |
| Incidencia | 1 cuando una línea de la parada (o de su filtro) tiene una incidencia |
El cierre nocturno del metro («Servicio terminado») no es una incidencia. Unas obras anunciadas para más adelante no son una incidencia hasta que empiezan.
Widgets
- Próximas llegadas: elija una parada. Una fila por llegada («Victoria → Brixton», «07:45 · 3 min · Platform 6»), verde cuando la línea funciona con normalidad, naranja con una incidencia leve, roja con una grave; el motivo de una incidencia arriba.
- Estado de líneas TfL: cada línea seguida con dispositivo creado, la más afectada primero, con los mismos colores y el primer motivo arriba.
Disparadores de escena
- Estado de una línea cambiado: una línea seguida sufre una incidencia, empeora, mejora o vuelve al servicio normal. Filtros: la línea (vacío: todas) y los eventos. Variables: línea, evento, estado, nivel, nivel anterior, motivo.
- Hora de salir: una llegada a una parada seguida está a los minutos elegidos (1 a 20). Una vez
por llegada y umbral. Filtros: parada, línea (tal como la escribe TfL:
Victoria,73), umbral. Variables: parada, línea, destino, andén, minutos, hora prevista.
Nada se dispara en la primera lectura tras un arranque: lo que ya estaba no es una novedad.
Acciones de escena
- Obtener las próximas llegadas: para una parada (y opcionalmente una línea), los minutos hasta la próxima llegada y la siguiente, la línea, el destino, el andén, la hora prevista, si una línea tiene una incidencia (1 o 0) y una frase: «Victoria hacia Brixton en Oxford Circus: en 3 y 7 min».
- Obtener el estado de una línea: el estado, el nivel (0 a 3), su nombre, con incidencia (1 o 0), el motivo y una frase: «Victoria: Retrasos leves. Minor delays due to train cancellations.»
Ejemplos de escenas
- Trayecto de la mañana: a las 7:30 los días laborables, Obtener el estado de una línea para
la Northern line, luego Continuar solo si
disrupted= 1, luego enviar la frase por Telegram. - Hay que salir: disparador Hora de salir en su parada de autobús, umbral de 5 minutos, luego hacer parpadear una luz y decir «Su autobús llega en 5 minutos» en un altavoz.
- Vuelta a la normalidad: disparador Estado de una línea cambiado en la Elizabeth line con el evento «Vuelta a la normalidad», luego enviar un mensaje.
Datos, actualización y cuotas
Cada minuto (o cada dos), la integración lee, solo para los dispositivos creados: una petición de estado para todas las líneas implicadas (líneas seguidas y líneas de las paradas seguidas) y luego una petición de llegadas por punto de parada (una estación es un punto de parada, un hub hasta cuatro). TfL prevé las llegadas unos 30 minutos antes. Hasta 20 líneas y 10 paradas.
TfL pide que se le cite («Powered by TfL Open Data») y limita las peticiones por clave; el uso anónimo está más limitado. Con muchas paradas, añada una clave gratuita. Consulte las condiciones de los datos de transporte de TfL.
Solución de problemas
- «No se puede contactar con TfL (…HTTP 429 (quota))»: demasiadas peticiones con la cuota anónima. Añada una clave gratuita o elija un intervalo de 2 minutos.
- «(app_key refused)»: la clave es incorrecta o no está suscrita a ningún producto en el portal de TfL. Corríjala o vacíe el campo.
- Ninguna llegada: fuera del horario de servicio, o una estación solo de National Rail. Compruebe la parada con Buscar una parada y su identificador.
- La cuenta atrás se queda en 1440: TfL no anuncia ninguna llegada en este momento.
- Más detalles: configure
LOG_LEVEL=debugen el contenedor.
Limitaciones
- Desarrollada fuera de Londres con la API real de TfL, sin uso diario allí: sus comentarios son bienvenidos.
- Los nombres de las funciones se fijan al crear el dispositivo.
- Sin retraso ni cancelación por tren: TfL solo publica horas previstas.
- Los motivos de las incidencias están en inglés, como los publica TfL.
- Los trenes de National Rail de las estaciones compartidas no están cubiertos.
Créditos
Powered by TfL Open Data. Contains OS data © Crown copyright and database rights. Inspirada en la integración de Home Assistant «London Underground» (Apache 2.0) y en las integraciones Entur y TTC para Gladys.
Parámetros de configuración
Estos son los parámetros que Transport for London te pide en su pantalla de configuración en Gladys.
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| Cómo funciona | section | No | Siga líneas y paradas con las acciones de abajo y luego cree sus dispositivos en la pestaña Descubrir. Todo procede de los datos abiertos de TfL: sin cuenta, la clave es opcional. |
| Idioma de los textos | select | No | Idioma de los nombres de funciones, de los estados y de las frases enviadas a sus escenas. Los motivos de las incidencias siguen en inglés, como los escribe TfL. Los nombres se fijan al crear el dispositivo. |
| Intervalo de actualización | select | No | Frecuencia de lectura de TfL para sus dispositivos creados: una petición de estado y una por punto de parada. |
| Clave de aplicación de TfL (opcional) | secret | No | Gratuita en el portal API de TfL: eleva la cuota a 500 peticiones por minuto. Sin ella, la integración funciona con la cuota anónima. |
Cómo instalar Transport for London en Gladys
- En Gladys, abre Integraciones: Transport for London aparece en el catálogo junto a las integraciones nativas, con una insignia de comunidad.
- Haz clic en Instalar. Gladys descarga la imagen Docker (
ghcr.io/guim31/gladys-tfl:1.0.0), la ejecuta en un entorno aislado del núcleo y genera la interfaz de la integración (dispositivos, descubrimiento y configuración). - Abre la pantalla de Configuración de la integración, rellena los parámetros y guarda.
- También puedes instalarla directamente desde la URL de su repositorio: https://github.com/guim31/gladys-tfl.
Transport for London requiere Gladys >=5.1.0. El catálogo de Gladys se actualiza cada hora, así que una nueva versión está disponible como máximo una hora después de publicarse.
¿Todavía no usas Gladys? Es gratuito y de código abierto: sigue la guía de instalación para empezar.
Sobre las integraciones externas
Transport for London es una integración externa: una integración comunitaria empaquetada como contenedor Docker y publicada en GitHub. Gladys la instala con un clic y la ejecuta en un entorno aislado del núcleo. La publica y mantiene guim31, no el equipo principal de Gladys.
- Explorar todas las integraciones, nativas y de la comunidad
- Crear y publicar tu propia integración externa
- Código fuente en GitHub — fuente de esta documentación