Integración domótica Mobiliteit.lu, gratuita y de código abierto

Autobuses, tranvías y trenes de Luxemburgo (Mobiliteit.lu): salidas en tiempo real, retrasos.
Presentación
Esta integración lleva los autobuses, tranvías y trenes de Luxemburgo a Gladys, a través de Mobiliteit.lu. Da las próximas salidas en tiempo real, con su retraso, en las paradas que elijas (tres en el formulario, hasta 7 más con un botón), filtradas por línea y dirección: autobuses de RGTR, AVL, TICE y CFL, el Luxtram, trenes de CFL. También muestra los avisos de tráfico que la API adjunta a las salidas (obras, desvíos). Cada parada se convierte en un dispositivo para mostrar en un panel y usar en escenas.
Las salidas proceden de la API oficial en tiempo real de la Administration des transports publics (ATP), la de mobiliteit.lu, con licencia CC BY 4.0. Necesita una clave personal, gratuita, que se pide por correo. Los nombres y números de las paradas proceden de la lista abierta de paradas de la ATP (su GTFS en data.public.lu), leída una vez por semana: buscar una parada nunca gasta la clave.
Una clave permite unas 500 peticiones por hora y 5.000 al día. Cada parada seguida es una petición por lectura, cada 2 minutos por defecto. La integración cuenta sus peticiones: con muchas paradas, espacia sola las lecturas (el estado de conexión indica el intervalo usado); de noche, mientras ninguna parada anuncia nada en los próximos 45 minutos, lee cada 10 minutos. Si aun así se alcanza la cuota, espera a la siguiente hora en punto.
Una salida se sigue en tiempo real cuando la API da una hora estimada: entonces se conoce su retraso. Si no, es el horario teórico, marcado «(teórico)». Los trayectos suprimidos se señalan.
Es una integración en la nube: contacta con cdt.hafas.de (el servidor de la API de la ATP) y data.public.lu. Tu clave y los números de tus paradas se envían a la API; nada más sale de tu red.
La integración se escribió a partir del esquema publicado de la API (rest-2.52.xsd) y su documentación; aún no se ha probado con una clave real. Tus comentarios son bienvenidos.
Requisitos
- Gladys Assistant 5.3.0 o posterior.
- Una clave personal de la API: pídela por correo a
[email protected], con unas palabras sobre tu uso (por ejemplo «domótica Gladys Assistant»). La clave se parece axxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
Configuración
| Campo | Qué escribir |
|---|---|
| Clave de acceso | La clave recibida de la ATP. Guardada como secreto, nunca escrita en los registros. |
| Parada 1, 2, 3 | El nombre de la parada («Hamilius», «Luxembourg, Gare Centrale») o su número («200405060»). |
| Línea | Solo esta línea: «16», «T1», «RE 11», o un modo solo: «tram», «train», «bus». Vacío: todas las líneas. |
| Dirección | Solo los destinos que contienen estas palabras: «Kirchberg», «Findel | Kirchberg». Vacío: ambos sentidos. |
| Lectura de las paradas | Cada minuto, 2 minutos (por defecto), 5 minutos o 10 minutos; más largo por sí solo con muchas paradas. |
| Idioma de los textos | Nombres de los dispositivos, resúmenes y salidas de las escenas, e idioma de los avisos de tráfico (FR, DE o EN). |
El botón Buscar una parada da las paradas que contienen unas palabras, con su número («Luxembourg, Gare Centrale [200405060]»). Una parada suele existir dos veces, una para los autobuses y otra para el tranvía («Hamilius (Bus)», «Hamilius-Centre (Tram)»): copia el nombre o el número de la que quieras. Probar la conexión lee la lista de paradas, cada parada de inmediato (una petición por parada) e indica la cuota usada.
Más paradas que las tres del formulario (casa, trabajo, colegio…): Añadir una parada toma los mismos tres campos — parada, línea, dirección — y sigue hasta 7 paradas más. Listar las paradas muestra todas las paradas seguidas, numeradas; Quitar una parada toma ese número (o el nombre). Las paradas añadidas se guardan en la configuración de Gladys y siguen así sus copias de seguridad.
Uso
Dispositivos
En la pestaña Descubrir, crea los dispositivos que quieras, llamados Mobiliteit.lu <parada>: la próxima salida como texto («16 → Kirchberg, Gare routière · 3 min (+2 min de retraso)»), la espera de la próxima salida y de la siguiente (minutos), el retraso de la próxima (minutos, publicado solo cuando se sigue en tiempo real; un autobús adelantado cuenta 0) y el número de avisos de tráfico.
De noche, sin ninguna salida, las esperas conservan su último valor.
Cuota de la clave
Cada lectura de una parada es una petición: 3 paradas leídas cada 2 minutos suman unas 2.200 peticiones al día. Con más paradas, el intervalo crece para que un día de lecturas quede por debajo de 3.600 peticiones, lo que deja sitio a los widgets y a las acciones de escena (un widget o una acción reutiliza una lectura de menos de 2 minutos). El botón Diagnóstico da las peticiones de la última hora y de las últimas 24 horas.
Widgets del panel

- Salidas: las próximas salidas de una parada, en compacto. Una fila por línea y destino, con sus próximas salidas seguidas («3 · 18 min»). Un retraso de 5 minutos o más, o un trayecto suprimido, pone la fila en naranja. El ajuste Trayectos mostrados fija el número de filas. Elige una parada seguida, o escribe cualquier parada (y una línea) en los ajustes del widget: esa parada cuesta una petición más en cada actualización, como mucho cada 2 minutos. Con Varias paradas, un widget muestra varios dispositivos de parada.
- Avisos de tráfico: los mensajes sobre las salidas de tus paradas, con las líneas afectadas y su periodo. Toca una tarjeta para ver el texto completo.
Escenas
Disparadores, una vez por cambio (la primera lectura solo sirve de referencia):
- Mobiliteit.lu: salida en breve: una salida en una parada seguida sale dentro de 2, 3, 5, 10, 15 o 20 minutos, contados según su estimación en tiempo real.
- Mobiliteit.lu: salida con retraso: el retraso de una salida de la próxima hora alcanza 3, 5, 10 o 15 minutos.
- Mobiliteit.lu: salida suprimida: un trayecto de la próxima hora en una parada seguida queda suprimido.
- Mobiliteit.lu: nuevo aviso de tráfico: un nuevo mensaje sobre las salidas de una parada seguida.
Cada uno da una frase lista, {{triggerEvent.data.summary}}, y sus valores (línea, destino, hora prevista y estimada, retraso, título, texto, inicio y fin…). La acción Mobiliteit.lu: próximas salidas devuelve el mismo tipo de valores, para poner en un mensaje o comprobar en una condición.
Ejemplos:
- Cuando el 16 hacia Kirchberg sale de Hamilius dentro de 5 minutos → poner la lámpara de la entrada en verde.
- Cuando tu tren lleva 10 minutos de retraso o se suprime → enviar el resumen a tu teléfono antes de salir.
- Cada día laborable a las 7:30 → leer las próximas salidas de tu parada y que el altavoz de la cocina las anuncie.
Transporte
Solo nube: los datos vienen de internet. Solo las paradas que sigues se piden a la API, una a una.
Solución de problemas
- «Escribe la clave de acceso»: falta la clave; pídela a
[email protected]y pégala en la configuración. - «La API rechaza la clave de acceso»: compruébala (sin espacios antes o después); la integración no vuelve a pedir nada hasta que se guarde la configuración.
- «La cuota de la clave de acceso está agotada»: la API respondió que se alcanzó la cuota; las lecturas se reanudan a la siguiente hora en punto. Sigue menos paradas o elige un intervalo más largo.
- «Desconocido o ambiguo»: usa Buscar una parada y copia el nombre exacto o el número.
- «(teórico)» tras una salida: la API no sigue ese vehículo en tiempo real; la hora es la del horario.
- Ninguna salida: de noche la red duerme; las paradas se leen cada 10 minutos.
- Para informar de un problema: pulsa Diagnóstico y copia las líneas que empiezan por «Mobiliteit.lu diagnostic» de la pestaña Registros (la clave no figura en ellas) en una issue de GitHub o una respuesta en el foro, con las versiones de Gladys y de la integración.
Parámetros de configuración
Estos son los parámetros que Mobiliteit.lu te pide en su pantalla de configuración en Gladys.
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| Clave de la API de Mobiliteit.lu | section | No | Las salidas proceden de la API oficial en tiempo real de la Administration des transports publics (ATP), la de mobiliteit.lu: autobuses (RGTR, AVL, TICE, CFL), el Luxtram y los trenes, en tiempo real. La API necesita una clave personal y gratuita: pídela por correo a [email protected] (unas palabras sobre tu uso, por ejemplo «domótica Gladys Assistant»). Una clave permite unas 500 peticiones por hora y 5.000 al día: la integración cuenta sus peticiones y se queda por debajo. |
| Clave de acceso | secret | Sí | La clave recibida de la ATP (accessId), del tipo xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. |
| Parada 1 | section | No | La parada donde tomas el autobús, el tranvía o el tren: sus próximas salidas se leen en tiempo real, con su retraso. Escribe su nombre («Hamilius», «Luxembourg, Gare Centrale») o su número («200405060»): el botón «Buscar una parada» los da. La línea solo conserva sus salidas («16», «T1», «RE 11»). La dirección solo conserva los destinos que contienen estas palabras («Kirchberg», «Findel | Kirchberg»). |
| Parada | string | No | |
| Línea | string | No | Vacío para todas las líneas. |
| Dirección | string | No | Palabras del destino. Vacío para ambos sentidos. |
| Parada 2 | section | No | |
| Parada | string | No | |
| Línea | string | No | Vacío para todas las líneas. |
| Dirección | string | No | Palabras del destino. Vacío para ambos sentidos. |
| Parada 3 | section | No | Más paradas (casa, trabajo, colegio…): el botón «Añadir una parada», bajo el formulario, sigue hasta 7 más, «Listar las paradas» las muestra todas, numeradas, y «Quitar una parada» deja de seguir una. Cada parada es una petición por lectura: con muchas paradas, las lecturas se espacian para no superar la cuota de la clave. |
| Parada | string | No | |
| Línea | string | No | Vacío para todas las líneas. |
| Dirección | string | No | Palabras del destino. Vacío para ambos sentidos. |
| Opciones | section | No | |
| Lectura de las paradas | select | No | Con qué frecuencia se leen las salidas de las paradas: una petición de la clave por parada seguida. Con muchas paradas, las lecturas se espacian solas para no superar la cuota (el estado de conexión indica el intervalo usado). Mientras ninguna parada anuncia nada en los próximos 45 minutos (de noche), cada 10 minutos. |
| Idioma de los textos | select | No | Nombres de los dispositivos, resúmenes y salidas de las escenas, e idioma pedido a la API para los avisos de tráfico (francés, alemán o inglés). Automático: el idioma de tu panel, en cuanto se haya mostrado un widget de Mobiliteit.lu. Los nombres de paradas quedan como los escribe la ATP. |
Cómo instalar Mobiliteit.lu en Gladys
- En Gladys, abre Integraciones: Mobiliteit.lu 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/william-de71/gladys-mobiliteit-lu:0.1.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/William-De71/gladys-mobiliteit-lu.
Mobiliteit.lu requiere Gladys >=5.3.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
Mobiliteit.lu 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 William-De71, 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