Saltar al contenido principal

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

Integración Redmine para Gladys Assistant

Peticiones de Redmine: abiertas, mías, atrasadas; disparadores y peticiones creadas por escenas.

Las peticiones de su Redmine en Gladys: cuántas están abiertas, asignadas a usted, atrasadas, vencen hoy, actualizadas hoy. Una escena reacciona a una petición nueva, a una petición que se le asigna, a una petición que se atrasa o a una petición cerrada, y Gladys puede crear una petición por sí misma cuando detecta algo que hacer: una fuga de agua, un filtro que cambiar, una impresora que ya no responde.

Feedback welcome: sus comentarios son bienvenidos. Esta integración se probó contra un Redmine real (la imagen Docker oficial redmine 6.1, octubre de 2026), todavía no en el día a día de un seguimiento real. Si algo no funciona como se describe, dígalo en el foro de Gladys o en las issues.

Lo que necesita​

  • Gladys Assistant 5.1.0 o posterior.
  • Redmine 4.2 o posterior, autoalojado o alojado (Planio, un servidor suyo en Internet), accesible desde Gladys.
  • Un usuario de Redmine en cuyo nombre Gladys lee y crea las peticiones: el suyo, o uno creado para ella (gladys), miembro de los proyectos que seguir con un rol que pueda ver, crear peticiones y añadir notas (el rol Desarrollador por defecto puede). La integración ve exactamente lo que este usuario ve en Redmine.

Instalación​

En Redmine​

  1. Administración → Configuración → pestaña API: marque Activar servicio web REST y guarde.
  2. Conectado como el usuario de Gladys, abra Mi cuenta y, en la columna derecha, bajo Clave de acceso a la API, haga clic en Mostrar: copie la clave.

En Gladys​

  1. Integraciones → instale Redmine.
  2. En la pantalla Configuración, rellene:
    • Dirección: la dirección de Redmine como en el navegador, p. ej. https://redmine.example.org o http://192.168.1.30:3000 (una carpeta /redmine se conserva, /issues/… o /projects/… se quitan);
    • Clave de API: la clave copiada en el paso 2;
    • Proyectos con su propio dispositivo (opcional): identificadores o nombres de proyectos, separados por comas, p. ej. casa, oficina (10 como máximo);
    • Aceptar certificados autofirmados: para un Redmine en https:// con un certificado autofirmado;
    • Intervalo de actualización: 1, 2, 5 (por defecto) o 10 minutos;
    • Idioma de los nombres de funciones: el idioma de los nombres dados a las funciones de los dispositivos.
  3. Probar la conexión indica el usuario y el número de peticiones abiertas, asignadas a él y atrasadas, y nombra los proyectos no encontrados.
  4. Pestaña Descubrimiento: añada el dispositivo Redmine, y el de cada proyecto seguido (Redmine Casa, por ejemplo).

Dispositivos​

Un dispositivo Redmine para todas las peticiones que ve el usuario, y un dispositivo por proyecto seguido, con cinco contadores actualizados en cada lectura:

FunciónLo que cuenta
Peticiones abiertaspeticiones cuyo estado no es cerrado
Peticiones asignadas a mípeticiones abiertas asignadas al usuario o a uno de sus grupos
Peticiones atrasadaspeticiones abiertas cuya fecha de vencimiento ya pasó
Peticiones que vencen hoypeticiones abiertas que vencen hoy
Peticiones actualizadas hoypeticiones modificadas desde medianoche, abiertas o cerradas

«Hoy» es el día en la zona horaria de Gladys. Una petición sin fecha de vencimiento nunca está atrasada. Los contadores conservan su historial y sirven de condiciones en las escenas («si Peticiones atrasadas es mayor que 0»). Un dispositivo de proyecto solo cuenta las peticiones de ese proyecto, no las de sus subproyectos.

Panel​

El widget Mis peticiones de Redmine muestra tres mosaicos (asignadas a mí, atrasadas, vencen hoy) y las ocho peticiones abiertas más urgentes asignadas al usuario: primero las atrasadas (insignia roja «Atrasada»), luego las que vencen hoy (insignia naranja «Hoy»), luego por fecha de vencimiento. Cada línea indica el proyecto, el estado y la prioridad. Cuando Redmine está en https://, cada petición ofrece un enlace Abrir en Redmine.

Escenas​

Disparadores​

Los cuatro disparadores filtran por Nombre del proyecto, Tipo (el tracker) y Prioridad, escritos como en Redmine (con mayúsculas; vacío: cualquiera).

  • Nueva petición de Redmine: se ha creado una petición en Redmine, por un usuario, por correo o por otra herramienta. Las peticiones creadas por la propia Gladys no disparan nada (sin bucle).
  • Petición de Redmine asignada a mí: una petición abierta está ahora asignada al usuario de la clave (o a uno de sus grupos): creada así, o reasignada.
  • Petición de Redmine atrasada: una petición abierta acaba de superar su fecha de vencimiento. Se comprueba en cada lectura: la primera lectura tras la medianoche lo dispara para las peticiones que vencían el día anterior.
  • Petición de Redmine cerrada: una petición abierta en la lectura anterior tiene ahora un estado cerrado (Cerrada, Rechazada…).

Variables transmitidas a las acciones: número de la petición, asunto, proyecto, tipo, estado, prioridad, autor, asignada a, fecha de vencimiento y enlace a la petición. Los nombres son los que muestra Redmine, en su idioma.

Los eventos se detectan en cada lectura: llegan como máximo un intervalo de actualización después de los hechos. En la primera lectura (o tras un cambio de servidor o de usuario), la integración toma nota de lo existente sin disparar nada. Una lectura dispara 30 eventos como máximo (una importación masiva no inunda Gladys).

Acciones​

  • Crear una petición de Redmine: crea una petición en nombre del usuario de la clave, que es su autor. Campos: Proyecto (identificador, nombre o número, obligatorio), Asunto (obligatorio), Descripción (opcional; las variables de escena son bienvenidas), Prioridad (nombre, vacío: la predeterminada), Tipo (nombre, vacío: el primero del proyecto) y Asignármela. Salidas: el número de la petición y su enlace.
  • Añadir una nota a una petición de Redmine: añade una nota a la petición dada por su número (125 o #125), en nombre del usuario de la clave. El número puede venir de un «Crear una petición de Redmine» anterior en la escena, o del disparador. Salidas: el número y el asunto de la petición.

Un proyecto, una prioridad o un tipo se indica por su número o su nombre, sin tener en cuenta mayúsculas ni acentos; un proyecto también por su identificador (casa).

Ideas de escenas​

  • Fuga de agua: el detector de fugas del sótano señala una fuga → Crear una petición de Redmine «Fuga de agua en el sótano» en el proyecto casa, prioridad Urgente, asignada a mí, descripción con la hora; luego un mensaje de Gladys con el enlace a la petición.
  • Resumen de la mañana: cada día laborable a las 8:00, si Peticiones que vencen hoy del dispositivo Redmine es mayor que 0, Gladys anuncia cuántas peticiones vencen hoy.
  • Guardia: Nueva petición de Redmine filtrada por la prioridad Inmediata → un mensaje de Telegram con el asunto, el autor y el enlace; Petición de Redmine atrasada → la lámpara de la oficina se pone roja; Petición de Redmine cerrada → vuelta al blanco.

Solución de problemas​

  • «no hay ninguna API de Redmine en esta dirección»: compruebe la dirección (con la carpeta /redmine si la hay) abriendo …/issues.json en un navegador: Redmine responde en JSON.
  • «la API REST está desactivada»: vea el paso 1 en Redmine. Con la API desactivada, Redmine ignora la clave y solo mostraría los proyectos públicos: la integración lo comprueba primero.
  • «clave de API rechazada»: la clave se ha restablecido desde entonces (Mi cuenta, Restablecer), o el usuario está bloqueado.
  • «al usuario de Redmine le falta un permiso en este proyecto»: su rol en el proyecto no permite crear peticiones o añadir notas.
  • «Proyectos no encontrados» (Probar la conexión): el usuario no es miembro del proyecto, o el identificador está mal escrito.
  • Los contadores se quedan en cero: el usuario no es miembro de ningún proyecto, o su rol no permite ver las peticiones.

Limitaciones​

  • Un Redmine por instalación, 10 proyectos seguidos como máximo.
  • Se detallan las 1000 peticiones abiertas más recientes (atrasadas, que vencen hoy, dispositivos de proyecto); más allá, los contadores «Peticiones abiertas» y «Peticiones asignadas a mí» siguen siendo exactos.
  • Un subproyecto no se cuenta en el dispositivo de su padre: sígalo como proyecto.
  • Una petición creada y cerrada entre dos lecturas dispara «Nueva petición de Redmine» pero no «cerrada».
  • No se leen los campos personalizados, el tiempo dedicado ni las versiones.

Esta integración no está afiliada a Redmine ni a sus autores.

Parámetros de configuración​

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

ParámetroTipoObligatorioDescripción
Su RedminesectionNoRedmine 4.2 o posterior, autoalojado o alojado. En Redmine: active la API REST (Administración, Configuración, API) y copie la clave de API de un usuario (Mi cuenta, Clave de acceso a la API, Mostrar). Consulte la documentación.
DirecciónstringSíDirección de Redmine como en el navegador, con https:// para HTTPS y la carpeta /redmine si la hay.
Clave de APIsecretSíLa clave de API del usuario de Redmine en cuyo nombre actúa Gladys: Mi cuenta, Clave de acceso a la API, Mostrar.
OpcionessectionNo
Proyectos con su propio dispositivostringNoOpcional: identificadores o nombres de proyectos, separados por comas (10 como máximo). Cada uno recibe un dispositivo con sus propios contadores.
Aceptar certificados autofirmadosbooleanNoPara una dirección https:// con certificado autofirmado. Márquelo solo para su propio servidor.
Intervalo de actualizaciónselectNoCon qué frecuencia se lee Redmine: los contadores y los disparadores de escena la siguen.
Idioma de los nombres de funcionesselectNoNombres de las funciones al añadir el dispositivo y textos enviados a las escenas.

Cómo instalar Redmine en Gladys​

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

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

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