Saltar al contenido principal

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

Integración Seafile para Gladys Assistant

Su cuenta de Seafile en Gladys: espacio, cuota, bibliotecas y una escena en cada cambio.

Seafile es un servicio autoalojado de almacenamiento y sincronización de archivos: sus bibliotecas están en su propio servidor y las aplicaciones de escritorio y móviles las mantienen sincronizadas. Esta integración lleva una cuenta de Seafile a Gladys: el espacio usado y la cuota, las bibliotecas, los dispositivos vinculados, y un disparador de escena cuando se modifica una biblioteca (un archivo añadido, modificado o eliminado), con quién la modificó. También avisa cuando la cuota supera un umbral, y un widget del panel muestra la cuota y las últimas bibliotecas modificadas. Para un administrador, un segundo dispositivo sigue todo el servidor.

Probada con un Seafile Server CE 12.0 real (imagen Docker seafileltd/seafile-mc con MariaDB y memcached): una cuenta normal con cuota, un administrador, bibliotecas propias, compartidas y de grupo, archivos subidos, la cuota modificada, un cliente de escritorio vinculado, una contraseña incorrecta. Todavía no probada en un Gladys real: sus comentarios son bienvenidos en las issues.

Lo que necesita​

  • Gladys Assistant 5.1.0 o posterior.
  • Seafile Server (edición Community o Professional, versión 11 o posterior), accesible desde la máquina de Gladys en la dirección de su interfaz web.
  • Una cuenta de Seafile: su correo (o usuario) y su contraseña, o un token de API si la cuenta usa la autenticación en dos pasos. Una cuenta de administrador añade el dispositivo servidor; para el resto basta una cuenta normal.

La integración lee Seafile cada minuto por defecto: cuatro solicitudes ligeras en su propia red (cuenta, bibliotecas, dispositivos vinculados y, para un administrador, las cifras del servidor).

Puesta en marcha​

1. Configurar la integración​

En Gladys, abra Integraciones → Seafile → Configuración y rellene:

  • Dirección de Seafile: la dirección de la interfaz web, como en su navegador, p. ej. http://192.168.1.2:8000 o https://cloud.example.com. También sirve un enlace copiado de la página de una biblioteca.
  • Correo o usuario y Contraseña de la cuenta.
  • Token de API (opcional): en lugar de la contraseña, necesario cuando la autenticación en dos pasos está activa. Para obtener uno, ejecute en cualquier ordenador curl -d username=CORREO -d password=CONTRASEÑA -H "X-SEAFILE-OTP: CODIGO" https://cloud.example.com/api2/auth-token/ (CODIGO es el código actual de su aplicación de autenticación) y copie el token de la respuesta.
  • Intervalo de actualización: de 30 segundos a 15 minutos. También es el retraso del disparador «Se modifica una biblioteca».
  • Umbral de alerta de cuota: de 70 a 95 %.
  • Idioma de los nombres: el idioma de los nombres de las funciones y de los textos enviados por la integración.

Pulse después Probar la conexión: la respuesta da la versión de Seafile, la cuenta, el espacio usado y el número de bibliotecas.

2. Añadir los dispositivos​

Abra la pestaña Descubrir: allí aparece la cuenta y, para un administrador, también el servidor. Añada los que quiera seguir.

Los dispositivos​

La cuenta (Seafile <nombre>):

FunciónSignificado
En línea1 mientras Seafile responde, 0 si no
Cuota usadaporcentaje de la cuota usado (0 sin cuota)
Espacio usadoespacio usado por la cuenta, en MB
Cuotala cuota de la cuenta, en MB (nada sin cuota)
Mis bibliotecasbibliotecas de las que la cuenta es propietaria
Bibliotecas compartidasbibliotecas compartidas con la cuenta, o de sus grupos
Dispositivos vinculadosaplicaciones de escritorio y móviles vinculadas a la cuenta
Última biblioteca modificadanombre de la última biblioteca modificada
Última modificaciónsu día y su hora

El servidor (Servidor Seafile, solo cuentas de administrador):

  • Usuarios
  • Usuarios activos
  • Bibliotecas
  • Archivos
  • Grupos
  • Dispositivos vinculados
  • Dispositivos conectados
  • Almacenamiento usado

El almacenamiento usado está en MB, para todas las bibliotecas del servidor.

La integración lee Seafile con su propio temporizador y solo publica lo que cambia (más un valor sin cambios cada 12 horas, para que Gladys nunca muestre «sin valor reciente»).

Panel​

El widget Almacenamiento Seafile muestra la cuota usada en un indicador (verde, naranja 10 puntos antes del umbral, rojo por encima), el espacio usado, el número de bibliotecas y luego las seis últimas bibliotecas modificadas con su tamaño y su hora. El botón Actualizar vuelve a leer Seafile. Funciona incluso antes de añadir la cuenta a Gladys.

Escenas​

Disparadores​

  • Se modifica una biblioteca: se añade, modifica, elimina o renombra un archivo en una biblioteca que ve la cuenta. Filtros: la biblioteca (su nombre exacto) y quién la modificó (el nombre que muestra Seafile), vacíos para todas. Variables: biblioteca, modificada por, propietario, tamaño, tamaño en bytes, y si la biblioteca está compartida con la cuenta. Un evento por biblioteca en cada lectura; una biblioteca creada no se anuncia, su siguiente modificación sí.
  • La cuota supera el umbral: la cuenta supera el umbral de la configuración. Una vez, hasta que el uso vuelva a bajar 5 puntos por debajo. Variables: cuota usada (%), umbral, espacio usado, cuota. Una cuota ya por encima del umbral en la primera lectura, o cuando cambia el umbral, no se anuncia.

Una modificación hecha mientras la integración o Gladys estaban detenidas se anuncia en la lectura siguiente, una vez. No se anuncia nada en la primera lectura.

Acciones​

  • Estado de la cuenta: lee la cuenta (de nuevo si la última lectura tiene más de 15 segundos) y da el espacio usado, la cuota, la cuota usada (-1 sin cuota), las bibliotecas, los dispositivos vinculados, la última biblioteca modificada con su hora, y una frase lista como «Seafile: 4.2 GB usados de 10.0 GB (42 %), 3 bibliotecas, última modificación: Photos el 22/10 08:12.»

Ideas de escenas​

  • Cuando se modifica la biblioteca «Scans», enviarse un mensaje «Nuevo escaneo en Seafile».
  • Cuando la cuota supera el umbral, enviar un mensaje con el espacio usado y la cuota.
  • Cada domingo por la noche, ejecutar «Estado de la cuenta» y enviar su frase.
  • Cuando «En línea» de la cuenta pasa a 0, enviar un mensaje: Seafile está caído.

Solución de problemas​

  • «Seafile no responde»: compruebe la dirección desde la máquina de Gladys (la interfaz web debe abrirse allí) y el cortafuegos.
  • «usuario, contraseña o token rechazados por Seafile»: compruébelos en la interfaz web; un token de API se elimina cuando cambia la contraseña o cuando cierra la sesión en todos los dispositivos. Una contraseña rechazada no se vuelve a probar sola (Seafile podría bloquear la cuenta): corríjala y guarde la configuración o pulse Probar la conexión.
  • «autenticación en dos pasos activa: use un token de API»: cree un token como se indica arriba.
  • «no hay ninguna API de Seafile en esta dirección»: la dirección no es la de la interfaz web de Seafile (el puerto 8082 del servidor de archivos no basta).
  • «la dirección redirige»: introduzca la dirección https://.
  • «certificado rechazado»: el contenedor solo confía en certificados válidos; use uno válido, o la dirección http:// en su red.
  • «Seafile limita las solicitudes»: elija un intervalo más largo.
  • Sin dispositivo servidor: la cuenta no es de administrador. Un ascenso se detecta en menos de una hora.
  • Los registros de la integración (Integraciones → Seafile) dicen más, sin ninguna contraseña ni token.

Límites​

  • Una cuenta por integración. Las bibliotecas son las que ve la cuenta.
  • «Se modifica una biblioteca» dice qué biblioteca y quién, no qué archivo.
  • Una biblioteca modificada varias veces entre dos lecturas da un solo evento; como mucho se anuncian 20 bibliotecas por lectura.
  • Los tamaños están en unidades decimales (1 MB = 1 000 000 bytes), como los muestra Seafile.
  • La contraseña se queda en la configuración de Gladys; solo el token que Seafile da a cambio se guarda, en memoria. No se escribe nada secreto en /data.
  • Desarrollada y probada con un Seafile real en Docker, todavía no en todas las instalaciones: sus comentarios son bienvenidos. Sin relación con Seafile Ltd.

Parámetros de configuración​

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

ParámetroTipoObligatorioDescripción
Su cuenta de SeafilesectionNoIntroduzca la dirección de la interfaz web de Seafile y el usuario y la contraseña de su cuenta, o un token de API si la autenticación en dos pasos está activa. Después añada la cuenta (y el servidor, para un administrador) desde la pestaña Descubrir.
Dirección de SeafilestringSíLa dirección de la interfaz web, como en su navegador.
Correo o usuariostringNoEl que usa para iniciar sesión en Seafile.
ContraseñasecretNo
Token de APIsecretNoOpcional, en lugar de la contraseña: necesario con la autenticación en dos pasos. Vea la guía.
Intervalo de actualizaciónselectNoTambién el retraso de la escena ante una biblioteca modificada.
Umbral de alerta de cuotaselectNoEl disparador de escena se activa cuando la cuenta lo supera.
Idioma de los nombresselectNoNombres de las funciones y textos enviados por la integración.

Cómo instalar Seafile en Gladys​

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

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

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