Intégration domotique SABnzbd / NZBGet, gratuite et open source

SABnzbd et NZBGet : vitesse, file, pause depuis le tableau de bord, scènes de fin de téléchargement.
Suivez et pilotez vos téléchargements Usenet depuis Gladys : SABnzbd et NZBGet, les deux clients de téléchargement qui tournent sur la plupart des serveurs domestiques (Docker, Unraid, Synology, Proxmox…). L'intégration parle à l'API locale du client : la vitesse, la file d'attente et le temps restant s'affichent sur le tableau de bord, une scène peut mettre les téléchargements en pause pendant une visio et limiter la vitesse le soir, et Gladys peut vous prévenir quand un téléchargement est terminé ou en échec.
Testée avec de vrais SABnzbd (4.2 et 5.1) et NZBGet (21 et 26), pas encore dans un vrai Gladys : vos retours sont les bienvenus sur GitHub.
Prérequis
- Gladys 5.1.0 ou plus récent.
- SABnzbd 3 ou plus récent, ou NZBGet 21 ou plus récent, joignable depuis le serveur Gladys (même réseau).
- Pour SABnzbd : sa clé d'API (Config → General → Security → API Key). La clé NZB, juste en dessous, ne suffit pas : elle ne sert qu'à ajouter des tâches.
- Pour NZBGet : le nom d'utilisateur et le mot de passe de contrôle (Settings → Security →
ControlUsername et ControlPassword,
nzbget/tegbzn6789tant que vous ne les changez pas).
Configuration
Jusqu'à deux clients, chacun avec :
- Logiciel : SABnzbd ou NZBGet.
- Adresse : l'adresse IP ou le nom, avec le port :
192.168.1.10:8080(SABnzbd) ou192.168.1.10:6789(NZBGet). Sans port, le port par défaut du logiciel est ajouté. Écrivezhttps://pour le HTTPS, et le chemin si le client est derrière un proxy inverse (https://nas.example.org/sabnzbd). - Clé d'API (SABnzbd), ou Nom d'utilisateur (NZBGet) et Mot de passe (NZBGet).
- Nom : le nom de l'appareil dans Gladys (vide : le logiciel suivi de l'adresse).
- Débit de la ligne (Mbit/s) : votre débit descendant, nécessaire pour limiter la vitesse en pourcentage avec NZBGet, et avec SABnzbd quand son « Maximum line speed » (Config → General) n'est pas réglé. 0 : inconnu.
Options :
- Accepter les certificats auto-signés : pour les adresses en
https://avec le certificat que génère SABnzbd. À cocher pour vos propres serveurs seulement. - Intervalle de rafraîchissement : fréquence de lecture des clients, 30 secondes par défaut.
- Langue des noms de fonctionnalités : les noms donnés aux fonctionnalités à l'ajout d'un appareil, et les textes d'état (français par défaut).
Le bouton Tester la connexion lit chaque client et indique ce qu'il a trouvé : version, état, file d'attente, erreurs récentes.
Appareils
Un appareil par client, dans l'onglet Découverte. Ses fonctionnalités :
| Fonctionnalité | Ce qu'elle montre |
|---|---|
| Téléchargements en pause | interrupteur : allumé, il met les téléchargements en pause jusqu'à ce que vous l'éteigniez ; éteint, il les reprend. |
| Limite de vitesse | curseur, la part de la ligne en %, 100 = sans limite. Le déplacer limite la vitesse. |
| Vitesse de téléchargement | en Mo/s. |
| Tâches en file d'attente | les tâches en attente ou en cours (post-traitement exclu). |
| Reste à télécharger | en Go. |
| Temps restant | en minutes à la vitesse actuelle, 0 quand rien ne se télécharge. |
| Espace disque libre | en Go, des dossiers de téléchargement (le plus petit des dossiers temporaire et final). |
| État | Téléchargement, En pause, Post-traitement, En attente, Inactif ou Injoignable. |
| Dernier téléchargement | le nom du dernier téléchargement terminé. |
| Erreurs (24 h) | les erreurs et avertissements signalés par le client sur les dernières 24 heures. |
Tailles et vitesses sont en unités binaires, comme les clients les affichent (1 Mo = 1024 × 1024 octets). Seuls les changements sont envoyés à Gladys, et chaque valeur de nouveau après 6 heures.
Widget
Le widget Téléchargements Usenet montre la vitesse, la file d'attente et le temps restant de tous les clients (ou de celui choisi dans ses réglages), une ligne par client (état, fin d'une pause minutée, limite de vitesse, espace libre, dernier téléchargement, erreurs), et trois boutons :
- Pause : met les téléchargements en pause jusqu'à leur reprise ;
- Pause 30 min : les met en pause pour 30 minutes ;
- Reprendre : les reprend.
La coche montre l'état actuel : sur Pause quand tout est en pause, sur Reprendre quand tout se télécharge.
Déclencheurs de scène
- Téléchargement terminé : une tâche a fini son téléchargement et son post-traitement avec
succès. Filtres : le client, la catégorie (telle qu'écrite dans le client,
tv,Movies…). Variables : nom, catégorie, taille en Mo, nom du client. - Téléchargement en échec : une tâche a échoué (articles manquants, réparation ou extraction impossible). Mêmes filtres ; variables : nom, catégorie, raison donnée par le client, nom du client.
Chaque tâche déclenche une seule fois. Les tâches terminées pendant que l'intégration était arrêtée (une mise à jour, un redémarrage) déclenchent à son redémarrage, si elles ont moins d'une heure.
Il n'y a pas de déclencheur « espace disque faible » : la fonctionnalité Espace disque libre est une valeur, et le déclencheur d'appareil de Gladys la compare déjà à un seuil (« Espace disque libre inférieur à 20 Go »).
Actions de scène
- Mettre les téléchargements en pause : un client ou tous, pour un nombre de minutes (0 : jusqu'à la reprise). Sorties : nombre de clients mis en pause, durée.
- Reprendre les téléchargements : un client ou tous.
- Limiter la vitesse de téléchargement : une part de la ligne en %, 100 pour lever la limite. Demande le débit de la ligne (voir Configuration).
Exemples de scènes
- Visio : quand l'événement d'agenda « Réunion » commence, Mettre les téléchargements en pause pour 60 minutes.
- Soirée : à 19 h, Limiter la vitesse de téléchargement à 30 % ; à 23 h, retour à 100 %.
- Notification : sur Téléchargement terminé avec la catégorie
tv, envoyer « {{triggerEvent.data.name}} est prêt à regarder » à la famille. - Problème : sur Téléchargement en échec, envoyer le nom et la raison à l'administrateur.
- Disque : quand Espace disque libre passe sous 20 Go, mettre en pause et envoyer un message.
Dépannage
- « ne répond pas » : vérifiez l'adresse et le port, et que le serveur Gladys peut joindre le client (pare-feu, réseau Docker).
- « clé d'API ou mot de passe refusé » : corrigez la clé ou le mot de passe, puis enregistrez. L'intégration ne réessaie pas d'elle-même : chaque clé refusée ajoute un avertissement dans SABnzbd.
- « certificat refusé » : cochez « Accepter les certificats auto-signés », ou utilisez
http://. - « pas de SABnzbd ni de NZBGet à cette adresse » : mauvais logiciel choisi, ou mauvais port.
- « l'adresse redirige » : saisissez l'adresse en
https://. - Une limite en % refusée : indiquez le Débit de la ligne (Mbit/s), ou réglez « Maximum line speed » dans SABnzbd.
- Plus de détails : les logs de l'intégration, avec
LOG_LEVEL=debugpour chaque lecture.
Limites
- Chaque rafraîchissement lit la file d'attente : toutes les 30 secondes par défaut, quelques petites requêtes. NZBGet envoie tout son historique d'un coup : il n'est relu que quand quelque chose a changé, au plus toutes les 15 minutes sinon.
- NZBGet reprend une pause minutée avec jusqu'à 25 secondes de retard environ (il vérifie son minuteur périodiquement).
- Pas de gestion des tâches : l'intégration n'ajoute, ne retire ni ne réordonne aucun téléchargement, et ne supprime rien.
- Les « Erreurs (24 h) » de NZBGet comptent les messages depuis que l'intégration lit son journal (les 100 derniers au démarrage).
- Sans lien avec SABnzbd ni NZBGet.
Paramètres de configuration
Voici les paramètres demandés par SABnzbd / NZBGet dans son écran de configuration dans Gladys.
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| Votre client de téléchargement | section | Non | SABnzbd 3 ou plus récent, ou NZBGet 21 ou plus récent, sur votre réseau. SABnzbd demande sa clé d’API, NZBGet son nom d’utilisateur et son mot de passe de contrôle. Jusqu’à deux clients. |
| Logiciel | select | Non | |
| Adresse | string | Oui | Adresse IP ou nom, avec :port (SABnzbd 8080, NZBGet 6789 par défaut) et https:// pour le HTTPS. |
| Clé d'API (SABnzbd) | secret | Non | SABnzbd : Config, General, Security, API Key (pas la clé NZB). |
| Nom d'utilisateur (NZBGet) | string | Non | NZBGet : Settings, Security, ControlUsername (nzbget par défaut). |
| Mot de passe (NZBGet) | secret | Non | NZBGet : Settings, Security, ControlPassword. |
| Nom | string | Non | Nom de l'appareil dans Gladys. Vide : le logiciel suivi de l'adresse. |
| Débit de la ligne (Mbit/s) | number | Non | Votre débit descendant, pour les limites en %. Inutile pour SABnzbd si son Maximum line speed est réglé. 0 : inconnu. |
| Deuxième client (facultatif) | section | Non | Les mêmes champs, pour un autre SABnzbd ou NZBGet de votre réseau. |
| Logiciel | select | Non | |
| Adresse | string | Non | Adresse IP ou nom, avec :port (SABnzbd 8080, NZBGet 6789 par défaut) et https:// pour le HTTPS. |
| Clé d'API (SABnzbd) | secret | Non | SABnzbd : Config, General, Security, API Key (pas la clé NZB). |
| Nom d'utilisateur (NZBGet) | string | Non | NZBGet : Settings, Security, ControlUsername (nzbget par défaut). |
| Mot de passe (NZBGet) | secret | Non | NZBGet : Settings, Security, ControlPassword. |
| Nom | string | Non | Nom de l'appareil dans Gladys. Vide : le logiciel suivi de l'adresse. |
| Débit de la ligne (Mbit/s) | number | Non | Votre débit descendant, pour les limites en %. Inutile pour SABnzbd si son Maximum line speed est réglé. 0 : inconnu. |
| Options | section | Non | |
| Accepter les certificats auto-signés | boolean | Non | Pour les adresses en https:// : SABnzbd génère un certificat auto-signé. À cocher pour vos propres serveurs seulement. |
| Intervalle de rafraîchissement | select | Non | Fréquence de lecture des clients. |
| Langue des noms de fonctionnalités | select | Non | Noms donnés aux fonctionnalités à l'ajout d'un appareil, et textes d'état. |
Comment installer SABnzbd / NZBGet dans Gladys
- Dans Gladys, ouvrez Intégrations : SABnzbd / NZBGet apparaît dans le catalogue, aux côtés des intégrations natives, avec un badge communautaire.
- Cliquez sur Installer. Gladys télécharge l'image Docker (
ghcr.io/guim31/gladys-usenet:1.0.1), la démarre dans un bac à sable isolé du cœur, et génère l'interface de l'intégration (appareils, découverte et configuration). - Ouvrez l'écran Configuration de l'intégration, remplissez les paramètres, puis enregistrez.
- Vous pouvez aussi l'installer directement depuis l'URL de son dépôt : https://github.com/guim31/gladys-usenet.
SABnzbd / NZBGet nécessite Gladys >=5.1.0. Le catalogue dans Gladys se rafraîchit toutes les heures : une nouvelle version est donc disponible au plus tard une heure après sa sortie.
Vous n'utilisez pas encore Gladys ? C'est gratuit et open source : suivez le guide d'installation pour démarrer.
À propos des intégrations externes
SABnzbd / NZBGet est une intégration externe : une intégration communautaire empaquetée dans un conteneur Docker et publiée sur GitHub, que Gladys installe en un clic et exécute dans un bac à sable isolé de son cœur. Elle est publiée et maintenue par guim31, et non par l'équipe cœur de Gladys.
- Parcourir toutes les intégrations, natives et communautaires
- Créer et publier votre propre intégration externe
- Code source sur GitHub — source de cette documentation