Saltar al contenido principal

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

Integración Apprise para Gladys Assistant

Mensajes de Gladys y de escenas hacia más de 100 servicios a través de su API Apprise.

Envíe los mensajes de Gladys a Discord, Telegram, Matrix, Slack, ntfy, Pushover, correo electrónico, SMS y más de 100 servicios a través de su propia API Apprise: los mensajes de sus escenas, las respuestas de Gladys y sus mensajes del sistema, además de notificaciones con título y tipo desde sus escenas. Gladys habla con la API Apprise en su red local; Apprise llega después a cada servicio.

Probada con una API Apprise 2.0.1 real (imagen caronc/apprise), con configuraciones guardadas, etiquetas y archivos adjuntos, pero no en una instalación real de Gladys. Si algo no funciona como se describe, indíquelo en el foro de Gladys o en las issues.

Lo que necesita​

  • Gladys Assistant 5.1.0 o posterior.
  • Una API Apprise a la que Gladys pueda llegar en su red, por ejemplo la imagen Docker caronc/apprise (puerto 8000).
  • Los servicios que avisar, escritos como URL de Apprise: tgram://token_del_bot/chat_id para Telegram, discord://webhook_id/webhook_token, mailto://usuario:contraseñ[email protected], ntfy://tema… La lista de servicios y la sintaxis de sus URL están en appriseit.com.

Dos formas de indicar a Gladys adónde enviar:

  1. Una configuración guardada (recomendado): en la página web de la API Apprise, cree una configuración con una clave (por ejemplo apprise) y asigne a cada URL una o varias etiquetas: alice, bob, familia, ops… Gladys solo conoce entonces la clave y las etiquetas, nunca sus contraseñas.
  2. URL de Apprise pegadas en Gladys: se envían con cada notificación. Más sencillo, pero las URL (con sus contraseñas) se guardan en Gladys, ocultas.

Configuración​

Instale la integración desde Integraciones → Instalar desde GitHub con la dirección https://github.com/guim31/gladys-apprise y rellene su pantalla de configuración:

  • Dirección de la API Apprise: la dirección con la que abre la API Apprise, puerto incluido, por ejemplo http://192.168.1.10:8000. Una API servida bajo una ruta detrás de un proxy inverso (https://example.org/apprise) también funciona.
  • Clave de la configuración guardada: apprise por defecto.
  • Etiquetas compartidas: los servicios a los que llegan la acción de escena y la prueba. familia, ops llega a los servicios con familia o ops; familia ops (un espacio) a los que tienen familia y ops; all a todos. Vacío: solo los servicios sin etiqueta.
  • URL de Apprise compartidas (en lugar de una configuración): opcional. Si se indican, la acción de escena y la prueba envían a estas URL e ignoran la clave y las etiquetas.
  • Tipo de notificación predeterminado: Información, Éxito, Aviso o Fallo. Apprise lo transmite a los servicios que lo conocen (color, icono).
  • Dar formato Markdown a los mensajes: activado por defecto. Gladys escribe negritas, listas y enlaces en Markdown; Apprise los convierte para cada servicio.
  • Detrás de un proxy inverso (opcional): la API Apprise no tiene inicio de sesión propio. Si la protege con un proxy inverso, indique el usuario y la contraseña de su autenticación básica, o una cabecera adicional como X-Api-Key: ….
  • Aceptar un certificado autofirmado: solo para una dirección https:// cuyo certificado haya creado usted mismo.
  • Idioma de los textos de la integración: francés por defecto.

Después, cada persona que quiera recibir los mensajes que Gladys le envía abre Mi cuenta (en la página de la integración) y rellena:

  • Sus etiquetas: sus etiquetas en la configuración guardada, por ejemplo alice;
  • o Sus URL de Apprise (en lugar de etiquetas): sus propios servicios, ocultos.

Dejar ambos vacíos significa «no me envíe nada».

Por último, use Enviar una notificación de prueba (o el botón del widget): comprueba la API, indica cuántos servicios y qué etiquetas contiene la configuración y envía una notificación de prueba al destino compartido.

Lo que envía Gladys​

  • Mensajes a una persona: una escena «Enviar un mensaje», las respuestas de Gladys, sus mensajes del sistema. Van a las etiquetas o URL de Mi cuenta de esa persona, con el tipo predeterminado, en Markdown.
  • Imágenes de cámara (acción de escena «Enviar una imagen de cámara»): se envían como archivo adjunto a los servicios que lo aceptan (Telegram, Discord, correo…). Si la API Apprise rechaza los adjuntos (APPRISE_ATTACH_SIZE=0), el texto sale solo con una línea que lo indica.
  • Notificaciones de escena: la acción descrita más abajo.

Panel​

El widget Apprise muestra si la API responde, cuántas notificaciones han salido hoy y cuántas han fallado (con el motivo del último fallo), las últimas notificaciones enviadas por escenas con su tipo y un botón Enviar una prueba. Los mensajes que Gladys envía a una persona se cuentan, pero nunca se muestran: el panel lo comparte todo el hogar.

Escenas​

Disparadores​

  • API Apprise sin conexión: la API ha dejado de responder (dos comprobaciones con 30 segundos de diferencia). Variable: el error.
  • API Apprise de nuevo en línea: la API vuelve a responder tras estar sin conexión.
  • Notificación Apprise no enviada: no se ha podido enviar un mensaje. Filtros: el motivo (Apprise inaccesible, revisar la configuración, un servicio ha fallado, notificación rechazada) y el remitente (un mensaje de Gladys, la acción de escena Apprise). Como máximo una vez por motivo cada 15 minutos: una escena que responda con otra notificación no entra en bucle. Variables: motivo, remitente, error.

Acciones​

Enviar una notificación Apprise:

  • Título: opcional.
  • Mensaje: obligatorio; las variables de escena funcionan.
  • Tipo: Predeterminado de la integración, Información, Éxito, Aviso o Fallo.
  • Etiquetas: opcional; sustituye las etiquetas compartidas para esta notificación (solo configuración guardada), por ejemplo ops.

Salidas: Notificación enviada (sí / no) y Error, para continuar la escena de otro modo cuando no ha salido nada.

Ideas de escenas​

  • La lavadora ha terminado: «Enviar una notificación Apprise» a familia, tipo Éxito.
  • Una fuga de agua: tipo Fallo, etiquetas familia, ops, para llegar a la vez al chat familiar y al correo de la persona de guardia.
  • Notificación Apprise no enviada → poner una lámpara en rojo o enviar el mensaje por otra integración.

Solución de problemas​

  • «no hay ninguna API Apprise en esta dirección»: la dirección no lleva a la API Apprise (puerto erróneo o falta la ruta detrás del proxy inverso).
  • «no hay ninguna configuración guardada con esta clave en Apprise»: compruebe la clave en la página web de la API Apprise.
  • «ningún servicio de la configuración tiene estas etiquetas»: las etiquetas de Mi cuenta o las compartidas no coinciden con ninguna URL. Sin etiqueta, solo se llega a las URL sin etiqueta; all llega a todos los servicios.
  • «un servicio no la ha recibido»: Apprise llegó a la API del servicio, que la rechazó o falló (token erróneo, webhook caducado…). Los registros de la API Apprise nombran el servicio. Cuando se avisa a varios servicios, los demás sí la han recibido.
  • «acceso denegado»: el proxy inverso ha rechazado el usuario, la contraseña o la cabecera.
  • Registros detallados: defina la variable de entorno LOG_LEVEL=debug. Los registros nunca muestran una URL de Apprise, una contraseña ni el valor de una cabecera.

Limitaciones​

  • Solo envío: Apprise no devuelve ningún mensaje a Gladys.
  • Gladys espera 5 segundos el envío de un mensaje. Si la API Apprise no responde en los 4 segundos siguientes a recibir toda la solicitud, el mensaje cuenta como enviado: Apprise sigue entregándolo, su resultado no se conoce.
  • La entrega es tan fiable como cada servicio: Apprise indica un fallo, pero no vuelve a intentarlo más tarde.
  • El tipo es una indicación: los servicios sin color ni icono lo ignoran.
  • La notificación de prueba va solo al destino compartido, no a Mi cuenta de cada persona.
  • Sin relación con Apprise ni con su autor.

Parámetros de configuración​

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

ParámetroTipoObligatorioDescripción
Conectar su API ApprisesectionNoApprise envía a Discord, Telegram, Matrix, correo electrónico, SMS y más de 100 servicios. Ejecute la API Apprise (caronc/apprise) y guarde en ella una configuración (su página web, una clave como apprise) con una etiqueta por persona, o pegue URL de Apprise a continuación.
Dirección de la API ApprisestringSíLa dirección con la que abre la API Apprise, puerto incluido.
Clave de la configuración guardadastringNoLa configuración de la API Apprise que contiene sus servicios. Se ignora si se indican URL de Apprise más abajo.
Etiquetas compartidasstringNoServicios a los que llegan la acción de escena y la prueba. «a, b»: a o b; «a b»: a y b; all: todos. Vacío: los servicios sin etiqueta.
URL de Apprise compartidas (en lugar de una configuración)secretNoUna por línea o separadas por comas, p. ej. tgram://token/chat_id. Contienen contraseñas: se guardan ocultas y nunca se registran.
Tipo de notificación predeterminadoselectNoApprise lo transmite a los servicios que lo conocen (color, icono).
Dar formato Markdown a los mensajesbooleanNoGladys escribe negritas, listas y enlaces en Markdown: Apprise los convierte para cada servicio.
Detrás de un proxy inverso (opcional)sectionNoLa API Apprise no tiene inicio de sesión propio. Si la protege con un proxy inverso, indique aquí sus credenciales.
Usuario (autenticación básica)stringNo
Contraseña (autenticación básica)secretNo
Cabecera adicionalsecretNoSe envía con cada solicitud, con la forma Nombre: valor.
Aceptar un certificado autofirmadobooleanNoSolo para una dirección https:// cuyo certificado haya creado usted mismo.
Idioma de los textos de la integraciónselectNoPara las notas añadidas a los mensajes y los errores de la acción de escena.

Cómo instalar Apprise en Gladys​

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

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

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