Saltar al contenido principal

Integración domótica Menus du Crous, gratuita y de código abierto

Integración Menus du Crous para Gladys Assistant

Menús del día de los restaurantes universitarios y cafeterías del Crous en toda Francia.

El menú del día de los restaurantes universitarios y cafeterías del Crous en Gladys, en toda Francia: abierto hoy o no, el almuerzo y la cena por secciones, los platos vegetarianos que indica el restaurante, un widget con hoy y mañana, una acción de escena que lee el menú, y disparadores para un plato vigilado («¡frites!») o el menú de mañana.

Los menús proceden del flujo público de la aplicación Crous Mobile: sin cuenta ni clave. Esta integración no está afiliada a los Crous ni al CNOUS.

Lo que obtiene​

  • Un dispositivo por restaurante o cafetería que añada, elegido en su Crous regional (26 Crous, de París a La Reunión), los más cercanos primero si indica la posición de su casa.
  • Una función «Abierto hoy» y funciones de texto con el almuerzo, la cena y los platos vegetarianos de hoy, actualizados unos minutos después de medianoche.
  • Un widget del panel con los menús de hoy y de mañana.
  • Una acción de escena «Obtener el menú del Crous» y dos disparadores.

Requisitos​

  • Gladys Assistant 5.3.0 o posterior.
  • Acceso a Internet desde el equipo de Gladys (el flujo está en Internet).

Instalación​

  1. En Gladys, abra Integraciones → Instalar desde GitHub.
  2. Pegue https://github.com/guim31/gladys-crous e instale.
  3. Abra la pestaña Configuración de la integración.

Configuración​

Ajustes​

  • Crous regionales: marque el Crous de su ciudad universitaria (Toulouse Occitanie, Paris, Lyon…).
  • Posición de casa (opcional): latitud y longitud, por ejemplo 43.6045, 1.4440 (un clic derecho en un mapa las da). Los restaurantes se proponen entonces del más cercano al más lejano.
  • Restaurantes propuestos: todos los de los Crous marcados, o solo los que están a menos de 2, 5, 10 o 25 km de casa.
  • Palabras vigiladas: palabras que buscar en los platos, separadas por comas (frites, pizza, couscous: los platos están en francés), para el disparador «Plato vigilado en el menú». No importan los acentos ni las mayúsculas; una palabra coincide con el inicio de una palabra (frite encuentra «Frites», riz no encuentra «Chorizo»).
  • Actualización: frecuencia de lectura de los flujos (cada 3, 6 o 12 horas).
  • Idioma de nombres y mensajes: idioma de los nombres de las funciones, de los estados y de las frases de escena. Los nombres se fijan al añadir el dispositivo.

Añadir restaurantes​

Guarde la configuración: los restaurantes aparecen en la pestaña Descubrir. Añada el suyo a Gladys y cámbiele el nombre a su gusto: el widget y las frases de escena usan ese nombre.

Comprobar​

La acción Estado de la pestaña Configuración muestra, por Crous, los restaurantes encontrados y cuántos tienen menú, la hora de la última lectura, el último día publicado y el último error.

Dispositivos​

FunciónContenido
Abierto hoy1 cuando hay un menú publicado para hoy (almuerzo o cena), 0 si no
Almuerzoel almuerzo de hoy, por secciones («Plat: … · Pâtes / pizzas: …»)
Cenala cena de hoy, para los pocos restaurantes que la sirven
Platos vegetarianoslos platos que el restaurante indica como vegetarianos («Veg …», sección «Plat végétarien»…)

Sin menú, el texto dice por qué: Cerrado (el Crous publica un cierre: vacaciones, festivo), Menú no comunicado (abierto, pero sin menú, o solo con los precios), Sin servicio (nada publicado ese día, o sin cena), Menú aún no publicado (después del último día publicado). Los platos se mantienen como los escriben los restaurantes, en francés. Los desayunos no se muestran.

Widget del panel​

Menús del Crous: una fila por restaurante y día (hoy, mañana), con los primeros platos y una insignia «Vegetariano» cuando se indica un plato vegetariano. Toque una fila para ver el menú completo, almuerzo y cena. Ajustes: restaurantes mostrados (vacío: todos, cuatro con mañana, ocho sin), mostrar mañana, mostrar la cena.

Disparadores de escena​

  • Plato vigilado en el menú: un plato del almuerzo o de la cena de un restaurante vigilado contiene una de las palabras vigiladas, hoy (se envía entre las 7:00 y las 10:00) o mañana (entre las 17:00 y las 22:00). El filtro opcional Palabra compara exactamente: escríbala en minúsculas, como en la configuración.
  • Menú de mañana publicado: un restaurante vigilado tiene menú para mañana, se comprueba entre las 17:00 y las 22:00 (no para un cierre).

Ambos transmiten el nombre del restaurante, la fecha y el menú; el primero también la comida, la palabra y el plato encontrado. Cada evento se envía una vez por restaurante, día, comida y palabra, aunque la integración se reinicie dentro de la franja.

Acción de escena​

Obtener el menú del Crous responde con una frase lista para un mensaje o un altavoz: «Resto U' Arsenal, hoy. Almuerzo: Plat: Steak de poulet…». Campos: el restaurante (vacío: todos los restaurantes vigilados), el día (vacío: hoy) y la comida (vacío: almuerzo, y cena si se sirve). Salidas: la frase y has_menu (1 cuando hay un menú publicado), para un paso «Continuar solo si».

Ejemplos de escenas​

  • A las 11:00 entre semana: «Obtener el menú del Crous» para el almuerzo y enviar la frase a su teléfono.
  • «Plato vigilado en el menú», día hoy, palabra frites: una notificación.
  • «Menú de mañana publicado»: un mensaje con el menú de mañana.

Datos y actualización​

El flujo es el de la aplicación Crous Mobile, http://webservices-v2.crous-mobile.fr/feed/<crous>/externe/, un archivo por Crous regional (de 8 KB a 3 MB para París). Solo se sirve en HTTP simple (datos públicos, no se envía nada). Una petición por Crous en cada actualización, condicional: un archivo sin cambios no se vuelve a descargar. Los menús se publican de unos días a unas semanas de antelación según el restaurante. Los estados de hoy se recalculan cada 10 minutos: el nuevo día aparece en los diez minutos siguientes a medianoche (hora de París).

Solución de problemas​

  • Mi restaurante no está en Descubrir: marque su Crous y guarde; con una posición, amplíe la distancia.
  • «Sin servicio» o «Menú aún no publicado»: el restaurante no ha publicado nada para ese día; muchos publican solo con pocos días de antelación, algunos nunca. La acción Estado muestra el último día publicado.
  • Un disparador no se envía: compruebe las franjas, el filtro de palabra en minúsculas y que el restaurante esté añadido a Gladys.
  • Registros: docker logs del contenedor de la integración, LOG_LEVEL=debug para cada lectura.

Limitaciones​

  • Los menús son tan completos como lo que publica cada restaurante: algunos no publican nada, otros solo sus precios.
  • Los platos vegetarianos son los que indica el restaurante; uno no indicado no se detecta. Sin alérgenos: el flujo no los da.
  • El flujo no está documentado: el Crous puede cambiarlo sin aviso.
  • Desarrollada sin estudiar allí: sus comentarios son bienvenidos.

Créditos​

Datos: los Crous y el CNOUS, a través del flujo de Crous Mobile. Integración de guim31, Apache 2.0.

Parámetros de configuración​

Estos son los parámetros que Menus du Crous te pide en su pantalla de configuración en Gladys.

ParámetroTipoObligatorioDescripción
FuncionamientosectionNoMarque su Crous regional y guarde: sus restaurantes aparecen en la pestaña Descubrir. Añada el suyo a Gladys. Sin cuenta ni clave.
Crous regionalesmulti_selectNoEl Crous de su ciudad universitaria.
Posición de casastringNoLatitud, longitud: los restaurantes más cercanos primero en Descubrir.
Restaurantes propuestosselectNoAlrededor de la posición de casa, si está indicada.
Palabras vigiladasstringNoSeparadas por comas, para el disparador «Plato vigilado en el menú».
ActualizaciónselectNo
Idioma de nombres y mensajesselectNoLos nombres de las funciones se fijan al añadir el dispositivo.

Cómo instalar Menus du Crous en Gladys​

  1. En Gladys, abre Integraciones: Menus du Crous aparece en el catálogo junto a las integraciones nativas, con una insignia de comunidad.
  2. Haz clic en Instalar. Gladys descarga la imagen Docker (ghcr.io/guim31/gladys-crous: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).
  3. Abre la pantalla de Configuración de la integración, rellena los parámetros y guarda.
  4. También puedes instalarla directamente desde la URL de su repositorio: https://github.com/guim31/gladys-crous.

Menus du Crous 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​

Menus du Crous 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.

Suscríbete a la newsletter de Gladys Assistant

Unos pocos correos al mes sobre nuevas versiones y novedades del proyecto. Enviados por Pierre-Gilles Leymarie, fundador del proyecto. Puedes darte de baja cuando quieras 🙂