Saltar al contenido principal

Integración domótica changedetection.io, gratuita y de código abierto

Integración changedetection.io para Gladys Assistant

Sepa en Gladys cuándo cambia una página web vigilada: bajada de precio, vuelta al stock, novedad.

changedetection.io es un servicio libre y autoalojado que vigila páginas web y avisa cuando cambian: una bajada de precio, un producto de nuevo en stock, un mensaje nuevo en un foro, una nueva versión de un programa. Esta integración trae sus vigilancias a Gladys: cada una se convierte en un dispositivo (cambio no visto, error, último cambio, qué ha cambiado, y precio y stock para las páginas de tienda), las escenas pueden reaccionar cuando cambia cualquier página, baja un precio o un producto vuelve a estar en stock, y un widget del panel lista los últimos cambios.

Probada con un changedetection.io 0.60.9 real (Docker); todavía no en todas las instalaciones: sus comentarios son bienvenidos en las issues.

Lo que necesita​

  • Gladys Assistant 5.1.0 o posterior.
  • changedetection.io, accesible desde la máquina de Gladys (en la red local, o en Internet en HTTPS), con su API activada (es el ajuste por defecto).
  • Su clave API.

Es changedetection.io quien vigila, al ritmo fijado para cada vigilancia (cada 3 horas por defecto): Gladys lee sus resultados y nunca descarga las páginas por sí mismo. Las vigilancias se crean y se modifican en changedetection.io.

Puesta en marcha​

1. Copiar la clave API​

En changedetection.io, abra Settings → API. Compruebe que API access está activado y copie la API key.

2. Configurar la integración​

En Gladys, abra la integración y luego su pestaña Configuración:

  • Dirección de changedetection.io: la dirección con la que abre changedetection.io, puerto incluido, por ejemplo http://192.168.1.2:5000. También sirve una dirección copiada del navegador.
  • Clave API: la clave copiada arriba.
  • Intervalo de actualización: con qué frecuencia lee Gladys los resultados (1 minuto por defecto). Una petición por lectura, más algunas tras un cambio.
  • Moneda de los precios: la unidad del precio de las vigilancias «Re-stock & Price detection» (euro por defecto). changedetection.io da el precio sin su moneda.
  • Aceptar certificados autofirmados: solo para una dirección https:// cuyo certificado tampoco reconoce su navegador.
  • Idioma de los nombres: el idioma de los nombres de las funciones, de las fechas y de los mensajes de error (francés por defecto).

Guarde y haga clic en Probar la conexión: muestra la versión de changedetection.io, el número de vigilancias, las que tienen error y los cambios no vistos.

3. Añadir las vigilancias​

La pestaña Descubrir lista un dispositivo changedetection.io y un dispositivo por vigilancia. Añada las que quiera ver en Gladys. Los disparadores de escena valen para todas las vigilancias, añadidas o no.

Los dispositivos​

Cada vigilancia tiene:

  • Cambio no visto: encendido mientras un cambio no se ha visto (en changedetection.io, o con la acción «Marcar como visto»).
  • Con error: encendido mientras la última comprobación de la página haya fallado.
  • Mensaje de error: el motivo del último fallo, «Ninguno» si no lo hay.
  • Último cambio: la fecha y la hora del último cambio.
  • Qué ha cambiado: un breve extracto del último cambio visto por la integración, las líneas añadidas (o las quitadas, marcadas con «−»).
  • Solo en una vigilancia de tipo «Re-stock & Price detection»: Precio y En stock.

El dispositivo changedetection.io cuenta las Vigilancias, las Vigilancias con error y los Cambios no vistos.

Panel​

El widget Últimos cambios muestra el número de cambios no vistos y de vigilancias con error, y después los ocho últimos cambios, del más reciente al más antiguo: título, qué ha cambiado, fecha y una insignia «Nuevo» o «Error». Al tocar un cambio se abre su detalle con un enlace a la página. Dos botones:

  • Comprobar: changedetection.io comprueba de inmediato todas las páginas.
  • Marcar visto: ningún cambio cuenta ya como nuevo (pide confirmación).

En sus ajustes, Vigilancias lo limita a los dispositivos elegidos (solo se pueden elegir los dispositivos añadidos a Gladys).

Escenas​

Disparadores​

Valen para todas las vigilancias, añadidas a Gladys o no. Deje Vigilancias vacío para reaccionar a cualquiera, o elija algunas.

  • Una página ha cambiado: changedetection.io ha detectado un cambio. Variables: título de la vigilancia, dirección de la página, qué ha cambiado (una línea, 200 caracteres como máximo), etiquetas.
  • Un precio ha bajado: el precio de una vigilancia «Re-stock & Price detection» ha bajado. Variables: título, dirección, precio, precio anterior, etiquetas.
  • De nuevo en stock: una vigilancia «Re-stock & Price detection» ha pasado de agotado a en stock. Variables: título, dirección, precio, etiquetas.
  • Una vigilancia falla: la comprobación de una página ha empezado a fallar (página desaparecida, error del servidor, filtro no encontrado…). Una vez, hasta que vuelva a funcionar. Variables: título, dirección, mensaje de error, etiquetas.

Un cambio ocurrido durante un reinicio de Gladys o de la integración se anuncia igualmente, una vez. En la primerísima lectura no se anuncia nada.

Para reaccionar bajo un umbral de precio, use la función Precio del dispositivo en una escena de Gladys («el precio baja de 100»): los disparadores de escena de las integraciones solo comparan la igualdad.

Acciones​

  • Comprobar una página ahora: changedetection.io comprueba de inmediato la página elegida (todas las páginas si el campo está vacío o si se elige el dispositivo changedetection.io). El resultado se lee 20 segundos después y activa los disparadores de arriba. Resultado: el número de páginas en cola.
  • Marcar como visto: el cambio de la vigilancia elegida deja de contar como nuevo (todos los no vistos si está vacío). Resultado: el número de vigilancias marcadas.

Ideas de escenas​

  • Alerta de precio: disparador «Un precio ha bajado» en el molinillo de café → enviar un mensaje «💶 … ahora a … (antes …)» con «Título de la vigilancia», «Precio» y «Precio anterior».
  • De nuevo en stock: disparador «De nuevo en stock» → enviar un mensaje con el título y la dirección, y poner una luz en verde.
  • Noticias del ayuntamiento: disparador «Una página ha cambiado» en la página del ayuntamiento → enviar «📰 …: …» con «Título de la vigilancia» y «Qué ha cambiado», y luego «Marcar como visto».
  • Antes de salir: cada sábado a las 9:00 → «Comprobar una página ahora» en el horario del mercado.

Solución de problemas​

  • «Clave API rechazada»: copie de nuevo la clave desde Settings → API; una clave regenerada en changedetection.io invalida la anterior.
  • «Se necesita una clave API»: changedetection.io pide una clave y no hay ninguna configurada.
  • «changedetection.io no responde»: compruebe la dirección y el puerto (5000 por defecto) desde la máquina de Gladys. localhost es el propio contenedor de la integración: use la dirección IP de la máquina en la que funciona changedetection.io.
  • «Certificado rechazado»: el certificado HTTPS es autofirmado o ha caducado; marque «Aceptar certificados autofirmados», o use la dirección http:// en la red local.
  • «No hay ninguna API de changedetection.io en esta dirección»: la dirección lleva a otro servicio, o a un changedetection.io demasiado antiguo para tener su API REST: actualícelo.
  • No hay precio en una página de tienda: la vigilancia debe ser del tipo «Re-stock & Price detection» en changedetection.io, y la página debe publicar su precio (la mayoría de las tiendas lo hacen). El precio y el stock aparecen una vez elegido el tipo; haga clic en «Buscar» en la pestaña Descubrir y luego en «Actualizar» en el dispositivo.
  • «Qué ha cambiado» está vacío: se rellena con el primer cambio visto por la integración.

Límites​

  • changedetection.io comprueba las páginas a su propio ritmo; Gladys lee los resultados al intervalo de actualización, así que un evento llega como mucho con ese retraso.
  • El extracto muestra las líneas añadidas o quitadas, no los cambios dentro de una línea, y se corta a 200 caracteres.
  • changedetection.io no da la moneda del precio: la unidad viene de la configuración, la misma para todas las vigilancias.
  • Las vigilancias en pausa siguen en la lista (la API no dice cuáles lo están).
  • Las vigilancias se crean, se modifican y se borran en changedetection.io; Gladys solo puede comprobarlas de inmediato y marcarlas como vistas.

Parámetros de configuración​

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

ParámetroTipoObligatorioDescripción
Su changedetection.iosectionNoEn changedetection.io, abra Settings → API, copie la clave API y péguela abajo con la dirección de changedetection.io. Después, añada las vigilancias que quiera seguir desde la pestaña Descubrir: los disparadores de escena valen para todas, añadidas o no.
Dirección de changedetection.iostringNoLa dirección con la que abre changedetection.io, puerto incluido (5000 por defecto).
Clave APIsecretNoSettings → API en changedetection.io. Déjela vacía solo si la API no pide clave allí.
OpcionessectionNochangedetection.io comprueba cada página a su propio ritmo (cada 3 horas por defecto): Gladys lee sus resultados, sin comprobar las páginas.
Intervalo de actualizaciónselectNoCon qué frecuencia se leen los resultados de changedetection.io.
Moneda de los preciosselectNoUnidad del precio de las vigilancias «Re-stock & Price detection», fijada al añadir un dispositivo.
Aceptar certificados autofirmadosbooleanNoSolo para una dirección https:// cuyo certificado tampoco reconoce su navegador.
Idioma de los nombresselectNoIdioma de los nombres de las funciones (fijados al añadir un dispositivo), de las fechas y de los mensajes de error.

Cómo instalar changedetection.io en Gladys​

  1. En Gladys, abre Integraciones: changedetection.io 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-changedetection:1.0.1), 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-changedetection.

changedetection.io 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​

changedetection.io 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 🙂