Saltar al contenido principal

Integración domótica SABnzbd / NZBGet, gratuita y de código abierto

Integración SABnzbd / NZBGet para Gladys Assistant

SABnzbd y NZBGet: velocidad, cola, pausa desde el panel, escenas al terminar o fallar descargas.

Siga y controle sus descargas de Usenet desde Gladys: SABnzbd y NZBGet, los dos clientes de descarga que funcionan en la mayoría de los servidores domésticos (Docker, Unraid, Synology, Proxmox…). La integración habla con la API local del cliente: la velocidad, la cola y el tiempo restante aparecen en el panel, una escena puede pausar las descargas durante una videollamada y limitar la velocidad por la noche, y Gladys puede avisarle cuando una descarga ha terminado o ha fallado.

Probada con instalaciones reales de SABnzbd (4.2 y 5.1) y NZBGet (21 y 26), aún no en un Gladys real: sus comentarios son bienvenidos en GitHub.

Requisitos​

  • Gladys 5.1.0 o posterior.
  • SABnzbd 3 o posterior, o NZBGet 21 o posterior, accesible desde el servidor Gladys (misma red).
  • Para SABnzbd: su clave de API (Config → General → Security → API Key). La clave NZB, justo debajo, no basta: solo sirve para añadir tareas.
  • Para NZBGet: el nombre de usuario y la contraseña de control (Settings → Security → ControlUsername y ControlPassword, nzbget / tegbzn6789 mientras no los cambie).

Configuración​

Hasta dos clientes, cada uno con:

  • Programa: SABnzbd o NZBGet.
  • Dirección: la dirección IP o el nombre, con el puerto: 192.168.1.10:8080 (SABnzbd) o 192.168.1.10:6789 (NZBGet). Sin puerto, se añade el puerto por defecto del programa. Escriba https:// para HTTPS, y la ruta si el cliente está detrás de un proxy inverso (https://nas.example.org/sabnzbd).
  • Clave de API (SABnzbd), o Nombre de usuario (NZBGet) y Contraseña (NZBGet).
  • Nombre: el nombre del dispositivo en Gladys (vacío: el programa seguido de la dirección).
  • Velocidad de la línea (Mbit/s): su velocidad de descarga, necesaria para limitar la velocidad en porcentaje con NZBGet, y con SABnzbd cuando su «Maximum line speed» (Config → General) no está definido. 0: desconocida.

Opciones:

  • Aceptar certificados autofirmados: para las direcciones https:// con el certificado que genera SABnzbd. Márquelo solo para sus propios servidores.
  • Intervalo de actualización: con qué frecuencia se leen los clientes, 30 segundos por defecto.
  • Idioma de los nombres de funciones: los nombres de las funciones al añadir un dispositivo, y los textos de estado (francés por defecto).

El botón Probar la conexión lee cada cliente e indica lo que ha encontrado: versión, estado, cola, errores recientes.

Dispositivos​

Un dispositivo por cliente, en la pestaña Descubrimiento. Sus funciones:

FunciónLo que muestra
Descargas en pausainterruptor: encendido pausa las descargas hasta que lo apague, apagado las reanuda.
Límite de velocidadcontrol deslizante, la parte de la línea en %, 100 = sin límite. Moverlo limita la velocidad.
Velocidad de descargaen MB/s.
Tareas en la colalas tareas en espera o en curso (sin el posprocesado).
Pendiente de descargaren GB.
Tiempo restanteen minutos a la velocidad actual, 0 cuando no se descarga nada.
Espacio libre en discoen GB, de las carpetas de descarga (la menor entre la carpeta temporal y la final).
EstadoDescargando, En pausa, Posprocesado, En espera, Inactivo o Inaccesible.
Última descargael nombre de la última descarga completada.
Errores (24 h)los errores y avisos que el cliente ha indicado en las últimas 24 horas.

Tamaños y velocidades están en unidades binarias, como las muestran los clientes (1 MB = 1024 × 1024 bytes). Solo se envían a Gladys los cambios, y cada valor de nuevo tras 6 horas.

Widget​

El widget Descargas Usenet muestra la velocidad, la cola y el tiempo restante de todos los clientes (o del elegido en su configuración), una línea por cliente (estado, fin de una pausa temporizada, límite, espacio libre, última descarga, errores), y tres botones:

  • Pausa: pausa las descargas hasta que las reanude;
  • Pausa 30 min: las pausa durante 30 minutos;
  • Reanudar: las reanuda.

La marca de verificación muestra el estado actual: en Pausa cuando todo está en pausa, en Reanudar cuando todo se descarga.

Disparadores de escena​

  • Descarga completada: una tarea ha terminado su descarga y posprocesado con éxito. Filtros: el cliente, la categoría (tal como está escrita en el cliente, tv, Movies…). Variables: nombre, categoría, tamaño en MB, nombre del cliente.
  • Descarga fallida: una tarea ha fallado (artículos ausentes, reparación o extracción imposible). Mismos filtros; variables: nombre, categoría, motivo indicado por el cliente, nombre del cliente.

Cada tarea dispara una sola vez. Las tareas terminadas mientras la integración estaba detenida (una actualización, un reinicio) disparan al reiniciarse, si tienen menos de una hora.

No hay disparador de «poco espacio en disco»: la función Espacio libre en disco es un valor, y el disparador de dispositivo de Gladys ya lo compara con un umbral («Espacio libre en disco inferior a 20 GB»).

Acciones de escena​

  • Pausar las descargas: un cliente o todos, durante unos minutos (0: hasta reanudar). Salidas: número de clientes en pausa, duración.
  • Reanudar las descargas: un cliente o todos.
  • Limitar la velocidad de descarga: una parte de la línea en %, 100 para quitar el límite. Requiere la velocidad de la línea (ver Configuración).

Ejemplos de escenas​

  • Videollamada: cuando empieza el evento de calendario «Reunión», Pausar las descargas durante 60 minutos.
  • Noche: a las 19 h, Limitar la velocidad de descarga al 30 %; a las 23 h, vuelta al 100 %.
  • Notificación: con Descarga completada y la categoría tv, enviar «{{triggerEvent.data.name}} está lista para ver» a la familia.
  • Problema: con Descarga fallida, enviar el nombre y el motivo al administrador.
  • Disco: cuando Espacio libre en disco baja de 20 GB, pausar y enviar un mensaje.

Solución de problemas​

  • «no responde»: compruebe la dirección y el puerto, y que el servidor Gladys alcanza el cliente (cortafuegos, red Docker).
  • «clave de API o contraseña rechazada»: corrija la clave o la contraseña y guarde. La integración no vuelve a intentarlo sola: cada clave rechazada añade un aviso en SABnzbd.
  • «certificado rechazado»: marque «Aceptar certificados autofirmados», o use http://.
  • «no hay SABnzbd ni NZBGet en esta dirección»: programa equivocado o puerto equivocado.
  • «la dirección redirige»: introduzca la dirección https://.
  • Un límite en % rechazado: indique la Velocidad de la línea (Mbit/s), o defina «Maximum line speed» en SABnzbd.
  • Más detalles: los registros de la integración, con LOG_LEVEL=debug para cada lectura.

Limitaciones​

  • Cada actualización lee la cola: cada 30 segundos por defecto, unas pocas peticiones pequeñas. NZBGet envía todo su historial de una vez: solo se vuelve a leer cuando algo ha cambiado, como mucho cada 15 minutos en otro caso.
  • NZBGet reanuda una pausa temporizada con hasta unos 25 segundos de retraso (comprueba su temporizador periódicamente).
  • Sin gestión de tareas: la integración no añade, quita ni reordena descargas, y no borra nada.
  • Los «Errores (24 h)» de NZBGet cuentan los mensajes desde que la integración lee su registro (los 100 últimos al arrancar).
  • Sin relación con SABnzbd ni NZBGet.

Parámetros de configuración​

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

ParámetroTipoObligatorioDescripción
Su cliente de descargasectionNoSABnzbd 3 o posterior, o NZBGet 21 o posterior, en su red. SABnzbd necesita su clave de API, NZBGet su nombre de usuario y contraseña de control. Hasta dos clientes.
ProgramaselectNo
DirecciónstringSíDirección IP o nombre, con :puerto (SABnzbd 8080, NZBGet 6789 por defecto) y https:// para HTTPS.
Clave de API (SABnzbd)secretNoSABnzbd: Config, General, Security, API Key (no la clave NZB).
Nombre de usuario (NZBGet)stringNoNZBGet: Settings, Security, ControlUsername (nzbget por defecto).
Contraseña (NZBGet)secretNoNZBGet: Settings, Security, ControlPassword.
NombrestringNoNombre del dispositivo en Gladys. Vacío: el programa seguido de la dirección.
Velocidad de la línea (Mbit/s)numberNoSu velocidad de descarga, para los límites en %. Innecesario para SABnzbd si su Maximum line speed está definido. 0: desconocida.
Segundo cliente (opcional)sectionNoLos mismos campos, para otro SABnzbd o NZBGet de su red.
ProgramaselectNo
DirecciónstringNoDirección IP o nombre, con :puerto (SABnzbd 8080, NZBGet 6789 por defecto) y https:// para HTTPS.
Clave de API (SABnzbd)secretNoSABnzbd: Config, General, Security, API Key (no la clave NZB).
Nombre de usuario (NZBGet)stringNoNZBGet: Settings, Security, ControlUsername (nzbget por defecto).
Contraseña (NZBGet)secretNoNZBGet: Settings, Security, ControlPassword.
NombrestringNoNombre del dispositivo en Gladys. Vacío: el programa seguido de la dirección.
Velocidad de la línea (Mbit/s)numberNoSu velocidad de descarga, para los límites en %. Innecesario para SABnzbd si su Maximum line speed está definido. 0: desconocida.
OpcionessectionNo
Aceptar certificados autofirmadosbooleanNoPara direcciones https://: SABnzbd genera un certificado autofirmado. Márquelo solo para sus propios servidores.
Intervalo de actualizaciónselectNoCon qué frecuencia se leen los clientes.
Idioma de los nombres de funcionesselectNoNombres de las funciones al añadir un dispositivo y textos de estado.

Cómo instalar SABnzbd / NZBGet en Gladys​

  1. En Gladys, abre Integraciones: SABnzbd / NZBGet 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-usenet: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-usenet.

SABnzbd / NZBGet 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​

SABnzbd / NZBGet 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 🙂