Saltar al contenido principal

Integración domótica RomM, gratuita y de código abierto

Integración RomM para Gladys Assistant

RomM en Gladys: juegos y plataformas de su biblioteca retro, juegos nuevos, escaneos.

Lleve su servidor RomM (el gestor autoalojado de su biblioteca de juegos retro) a Gladys, a través de su red local: los juegos, las plataformas, el tamaño de la biblioteca, los juegos todavía sin metadatos, los últimos juegos añadidos en un panel, escenas que reaccionan cuando llega un juego nuevo o termina un escaneo, y una acción de escena para escanear la biblioteca.

La integración se ha probado con un RomM 5.4.1 real (la imagen Docker oficial, con juegos homebrew), todavía no en una instalación real de Gladys: sus comentarios son bienvenidos en el foro de Gladys o en los issues.

Lo que necesita​

  • Gladys Assistant 5.1.0 o posterior.
  • Un servidor RomM accesible desde Gladys (misma red), en el puerto de su interfaz web (8080 por defecto). RomM 5.4 o posterior para iniciar un escaneo desde Gladys.
  • Una forma de acceder, una de las dos:
    • recomendado, un token de API de cliente: en RomM, abra su perfil y luego Client API tokens, cree un token con los permisos View ROMs, View platforms y, para ver y lanzar los escaneos, Run tasks (cuenta de administrador), y cópielo (empieza por rmm_);
    • o el usuario y la contraseña de un usuario de RomM (un administrador para ver y lanzar los escaneos).

Configuración​

  1. Instale la integración desde el catálogo de Gladys.
  2. En Configuración, introduzca la Dirección de RomM (por ejemplo 192.168.1.2:8080; sin puerto se usa 8080), luego el Token de API de cliente, o el Usuario y la Contraseña.
  3. Guarde y haga clic en Probar la conexión: el mensaje bajo el botón indica la versión de RomM, los juegos y el tamaño de la biblioteca, las plataformas y los juegos sin metadatos.
  4. Abra la pestaña Descubrir: un dispositivo para el servidor. Haga clic en Añadir, elija una habitación y guarde.

Opciones:

  • Intervalo de actualización: de 1 a 10 minutos (2 minutos por defecto). Cada actualización son cinco pequeñas peticiones a la API de RomM.
  • Idioma de los nombres de funciones: los nombres dados a las funciones al añadir el dispositivo (francés por defecto) y las frases de las acciones de escena.

La integración lee RomM. Solo cambia algo cuando usted lo pide: el botón Escanear del widget y la acción de escena Escanear la biblioteca de RomM.

El dispositivo​

Un dispositivo, RomM seguido de la dirección del servidor:

FunciónLo que da
En línea1 cuando RomM responde, 0 si no
Plataformasplataformas con juegos en la biblioteca
Juegosjuegos de la biblioteca
Tamaño de la bibliotecatamaño de los archivos de juegos en disco, en GB
Juegos sin metadatosjuegos que RomM no ha asociado a ninguna fuente de metadatos
Último juego añadidosu nombre y su plataforma, como texto

Las cifras cambian en cada actualización.

Panel​

El widget RomM muestra tres casillas (juegos, plataformas, juegos sin metadatos), el escaneo en curso con su progreso, la lista de los últimos juegos añadidos (nombre, plataforma y fecha) y un botón Escanear que lanza un escaneo rápido (solo juegos nuevos).

Añádalo desde el editor del panel. Ajustes: el número de juegos de la lista (3, 5 u 8), un interruptor para ocultar las casillas y otro para ocultar el botón. Funciona antes incluso de añadir el dispositivo.

Escenas​

Disparadores​

  • Juego añadido en RomM: ha aparecido un nuevo juego en la biblioteca de RomM (tras un escaneo o una subida). Filtro: Plataforma (el nombre de la plataforma, exactamente como lo muestra RomM, por ejemplo Game Boy Advance; vacío: cualquiera). Información transmitida a las acciones: el nombre del juego, su plataforma, su nombre de archivo, el enlace al juego en RomM y el número de juegos de la biblioteca. Mientras RomM sigue buscando los metadatos de un juego, el evento espera su nombre definitivo (30 minutos como máximo).
  • Escaneo de RomM terminado: ha terminado un escaneo de la biblioteca, sea cual sea su origen (Gladys, la interfaz web de RomM, su programación). Información: el tipo de escaneo como lo nombra RomM (Quick Scan…), los juegos nuevos, identificados y escaneados (contados por RomM), los juegos de la biblioteca y la duración en minutos. Requiere una cuenta que vea las tareas (administrador, o token con Run tasks).

Cada evento se anuncia una sola vez, incluso tras un reinicio de la integración. Lo que RomM ya tenía al iniciarse la integración no se anuncia.

Acciones​

  • Escanear la biblioteca de RomM: inicia un escaneo, como el botón Scan de RomM. Opción Qué escanear: Solo juegos nuevos (rápido) (por defecto), Juegos sin metadatos (para reintentar las fuentes de metadatos) o Toda la biblioteca (completo, lento). Requiere RomM 5.4 o posterior y una cuenta de administrador (o un token con Run tasks). Un escaneo ya en curso hace fallar la acción.
  • Leer los últimos juegos de RomM: lee RomM ahora y da una frase para un mensaje o un aviso de voz, como «RomM: 152 juegos en 6 plataformas. Últimos añadidos: Tobu Tobu Girl (Game Boy), …», con las cifras por separado (juegos, plataformas, juegos sin metadatos, nombre y plataforma del último juego añadido). Opción: el número de juegos citados en la frase (3 por defecto).

Ideas de escenas​

  • Cada noche a las 3, escanear la biblioteca de RomM; cuando el escaneo termine con juegos nuevos, enviarse un mensaje «{new_games} juego(s) nuevo(s) en RomM».
  • Cuando se añada un juego en la plataforma Game Boy Advance, avisar a los niños: «Nuevo juego: {name}».
  • El sábado por la mañana, leer los últimos juegos de RomM y anunciar la frase en el altavoz del salón.

Solución de problemas​

  • «RomM no responde»: compruebe la dirección y el puerto (8080), y que Gladys puede acceder al servidor (misma red, cortafuegos).
  • «RomM ha rechazado el acceso»: copie de nuevo el token de API de cliente (un token puede caducar o ser revocado), o compruebe el usuario y la contraseña.
  • «Esta cuenta no puede leer los juegos»: al token le faltan los permisos View ROMs y View platforms: cree uno nuevo con ellos.
  • «Un escaneo requiere una cuenta de administrador»: el usuario no es administrador, o el token no tiene Run tasks. Los juegos se siguen leyendo; Escaneo de RomM terminado no se dispara.
  • «Iniciar un escaneo desde Gladys requiere RomM 5.4 o posterior»: actualice RomM; las versiones anteriores solo lanzan un escaneo desde su interfaz web.
  • «No hay ningún RomM en esta dirección»: otro servicio responde en este puerto.
  • «La dirección redirige»: un proxy inverso envía a una página de acceso o a HTTPS; introduzca la dirección directa de RomM en su red.
  • Más detalles: ponga el LOG_LEVEL de la integración en debug y abra sus registros.

Límites​

  • Las cifras y los eventos son tan recientes como el intervalo de actualización.
  • Solo se comparan los 10 juegos más recientes en cada actualización: más allá de 10 juegos nuevos de golpe (una carpeta entera copiada), los juegos se cuentan, pero no se anuncian todos.
  • Las cifras de Escaneo de RomM terminado son las de RomM, que puede contar menos juegos de los que realmente se han añadido.
  • Sin carátula en el widget: las carátulas de RomM requieren un acceso que el panel no tiene.
  • La integración está escrita para la API de RomM 5 (probada con 5.4.1): una versión futura que la cambie podría requerir una actualización.
  • Sin relación con RomM.

Parámetros de configuración​

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

ParámetroTipoObligatorioDescripción
Servidor RomMsectionNoDirección de RomM y acceso. La integración lee la biblioteca; solo lanza un escaneo cuando usted lo pide.
DirecciónstringNoDirección IP o nombre del servidor, con el puerto de la interfaz web (8080 por defecto).
Token de API de clientesecretNoRecomendado: Perfil → Client API tokens en RomM, con View ROMs, View platforms y Run tasks. Si no, los dos campos de abajo.
UsuariostringNoSolo sin token: un usuario de RomM (administrador para ver y lanzar escaneos).
ContraseñasecretNo
Intervalo de actualizaciónselectNoCon qué frecuencia se lee RomM: juegos nuevos, cifras, escaneos.
Idioma de los nombres de funcionesselectNoNombres de las funciones al añadir el dispositivo y frases de las acciones de escena.

Cómo instalar RomM en Gladys​

  1. En Gladys, abre Integraciones: RomM 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-romm: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-romm.

RomM 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​

RomM 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 🙂