Aller au contenu principal

Intégration domotique pyLoad, gratuite et open source

Intégration pyLoad pour Gladys Assistant

Suivez et pilotez pyLoad : vitesse, file, place libre, pause, fichiers en échec, liens.

Suivez et pilotez pyLoad depuis Gladys : le gestionnaire de téléchargements libre pour les liens directs et les hébergeurs de fichiers, souvent installé sur un NAS ou un serveur maison (Docker, Unraid, Synology…). L'intégration parle à l'API locale de pyLoad : la vitesse, la file d'attente et la place libre s'affichent sur le tableau de bord, une scène peut mettre les téléchargements en pause pendant une visio, et Gladys peut vous prévenir quand un téléchargement est terminé, quand un fichier échoue ou quand la file est vide.

Testée sur de vrais pyLoad 0.5.0b3.dev96 et dev101, pas encore dans un vrai Gladys : vos retours sont les bienvenus sur GitHub.

Prérequis​

  • Gladys 5.1.0 ou plus récent.
  • pyLoad 0.5 (le paquet pyload-ng, ou l'image Docker linuxserver/pyload-ng), joignable depuis le serveur Gladys (même réseau). L'ancien pyLoad 0.4 n'est pas pris en charge.
  • pyLoad 0.5.0b3.dev101 ou plus récent (2025) : une clé d'API. Créez-la dans pyLoad : Settings → Users, le menu de votre utilisateur, Manage API Keys. Elle commence par pl_.
  • pyLoad 0.5 plus ancien (avant dev101) : le nom d'utilisateur et le mot de passe de l'interface web (pyload / pyload tant que vous ne les avez pas changés).
  • L'utilisateur a besoin des droits pyLoad List (lire la file), Status (pause, place libre) et, pour les actions de scène, Modify (relancer les fichiers en échec) et Add (ajouter des liens). Un administrateur les a tous.

Configuration​

Jusqu'à deux serveurs, chacun avec :

  • Adresse : l'adresse IP ou le nom, avec le port : 192.168.1.10:8000. Sans port, 8000 est ajouté. Écrivez https:// pour le HTTPS, et le chemin si pyLoad est derrière un proxy inverse (https://nas.example.org/pyload). L'adresse copiée depuis le navigateur marche aussi.
  • Clé d'API, ou Nom d'utilisateur et Mot de passe pour les versions plus anciennes.
  • Nom : le nom de l'appareil dans Gladys (vide : pyLoad suivi de l'adresse).

Options :

  • Accepter les certificats auto-signés : pour une adresse https:// avec son propre certificat. À cocher pour vos propres serveurs seulement.
  • Intervalle de rafraîchissement : la fréquence de lecture de pyLoad, 30 secondes par défaut. C'est aussi le délai des déclencheurs.
  • Autoriser l'ajout de liens : permet aux scènes d'ajouter des liens à télécharger (désactivé par défaut : quiconque peut modifier une scène pourrait lancer un téléchargement).
  • Langue des textes des appareils : 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 serveur et dit ce qu'il a trouvé : version, état, file d'attente, fichiers en échec.

Appareils​

Un appareil par serveur, dans l'onglet Découverte. Ses fonctionnalités :

FonctionnalitéCe qu'elle montre
Téléchargements en pauseinterrupteur : allumé, pyLoad est en pause jusqu'à ce que vous l'éteigniez ; éteint, il reprend.
Reconnexion automatiqueinterrupteur : la reconnexion de pyLoad (nouvelle adresse IP par la box) activée ou non.
Vitesse de téléchargementen Mo/s.
Téléchargements actifsles fichiers en cours de téléchargement.
Fichiers en file d'attenteles fichiers de la file non terminés, échecs compris (la « queue » de pyLoad).
Fichiers au totaltous les fichiers de pyLoad, file et collecteur (le « total » de pyLoad).
Fichiers en échecles fichiers qui ont échoué, ou dont le lien est hors ligne.
Espace disque libreen Go, du dossier de téléchargement.
ÉtatTéléchargement, En pause, En attente (fichiers en file, aucun en cours), Inactif, Injoignable.
Dernier téléchargementle nom du dernier paquet terminé.

Mettre pyLoad en pause ne lance plus de nouveau téléchargement : les fichiers déjà en cours se terminent (c'est la pause de pyLoad lui-même). Tailles et vitesses en unités binaires, comme pyLoad les affiche (1 Mo = 1024 × 1024 octets). Seuls les changements sont envoyés à Gladys, et toutes les valeurs à nouveau au bout de 6 heures.

Widget​

Le widget Téléchargements pyLoad affiche la vitesse, la file d'attente et le temps restant de tous les serveurs (ou de celui choisi dans ses réglages), et une ligne par serveur : son état (avec la fin d'une pause minutée), les fichiers en cours avec leur pourcentage, les fichiers en échec, la place libre et le dernier téléchargement. Quatre boutons :

  • Pause : met pyLoad en pause jusqu'à la reprise ;
  • Pause 30 min : le met en pause pour 30 minutes ;
  • Reprendre : le relance ;
  • Relancer les échecs : retente les fichiers en échec.

La coche montre l'état actuel : sur Pause quand tout est en pause, sur Reprendre quand tout tourne.

Déclencheurs de scène​

  • Téléchargement terminé : tous les fichiers d'un paquet sont téléchargés. Filtre : le serveur. Variables : nom du paquet, nombre de fichiers, taille en Mo, nom du serveur.
  • Fichier en échec : un fichier a échoué, ou son lien est hors ligne (lien mort, 404). Filtre : le serveur. Variables : nom du fichier, nom du paquet, la raison donnée par pyLoad, nom du serveur.
  • File d'attente vide : plus rien à télécharger, le dernier fichier de la file s'est terminé ou a échoué. Filtre : le serveur. Variable : nom du serveur.

Chaque paquet et chaque fichier ne déclenche qu'une fois (un fichier relancé qui échoue à nouveau redéclenche). Ce qui s'est passé pendant que l'intégration était arrêtée (une mise à jour, un redémarrage) déclenche à son retour.

Pas de déclencheur « disque presque plein » : 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 serveur ou tous, pour un nombre de minutes (0 : jusqu'à la reprise). L'intégration relance pyLoad à la fin (pyLoad n'a pas de pause minutée). Sorties : nombre de serveurs mis en pause, durée.
  • Reprendre les téléchargements : un serveur ou tous.
  • Relancer les fichiers en échec : retente les fichiers en échec, sur un serveur ou sur tous.
  • Ajouter des liens à télécharger : des liens http(s) ou ftp, séparés par des espaces (50 au plus), en un paquet, sur le serveur choisi (vide : le premier). Le nom du paquet est facultatif (vide : le nom du premier fichier). Seulement si Autoriser l'ajout de liens est coché. Sortie : le numéro du paquet.

L'intégration ne supprime jamais de fichier ni de paquet, et ne redémarre jamais pyLoad.

Exemples de scènes​

  • Visio : quand l'événement « Réunion » de l'agenda commence, Mettre les téléchargements en pause pour 60 minutes.
  • Nuit : à 1 h, Reprendre les téléchargements ; à 8 h, Mettre les téléchargements en pause jusqu'à la reprise.
  • Notification : sur Téléchargement terminé, envoyer « {{triggerEvent.data.name}} est téléchargé » sur votre téléphone.
  • Problème : sur Fichier en échec, envoyer le nom du fichier et la raison ; puis Relancer les fichiers en échec une heure plus tard.
  • Énergie : sur File d'attente vide, couper la prise du NAS quelques minutes après.

Dépannage​

  • « ne répond pas » : vérifiez l'adresse et le port (8000), et que le serveur Gladys peut joindre pyLoad (pare-feu, réseau Docker).
  • « connexion refusée » : pyLoad 0.5.0b3.dev101 et plus récents n'acceptent qu'une clé d'API ; les versions plus anciennes un nom d'utilisateur et un mot de passe. Corrigez, puis enregistrez. L'intégration ne réessaie pas d'elle-même : chaque connexion refusée écrit une erreur dans le journal de pyLoad.
  • « il manque un droit à l'utilisateur pyLoad » : donnez à l'utilisateur les droits listés dans les prérequis.
  • « pas de pyLoad 0.5 à cette adresse » : mauvais port, ou un pyLoad 0.4.
  • « certificat refusé » : cochez « Accepter les certificats auto-signés », ou passez en http://.
  • « trop de requêtes » : pyLoad répond à 100 appels d'API par minute et par adresse au plus ; un rafraîchissement en coûte 3 ou 4. Choisissez un intervalle plus long si d'autres outils lisent aussi pyLoad.
  • Un lien ajouté par une scène qui échoue aussitôt avec « Refusing to download from Server-Side host » : pyLoad refuse les adresses de votre propre réseau (une protection de pyLoad).
  • Plus de détails : les logs de l'intégration, avec LOG_LEVEL=debug pour chaque lecture.

Limites​

  • Chaque rafraîchissement lit toute la file de pyLoad (chaque fichier) : toutes les 30 secondes par défaut.
  • La pause de pyLoad laisse se terminer les fichiers déjà en cours.
  • L'interrupteur Reconnexion automatique montre l'option de pyLoad dans sa plage horaire : en dehors de la plage réglée dans pyLoad, il apparaît éteint.
  • Une pause minutée repose sur l'intégration : si elle est arrêtée à la fin de la pause, pyLoad reprend dès son redémarrage.
  • Sans lien avec l'équipe de pyLoad.

Paramètres de configuration​

Voici les paramètres demandés par pyLoad dans son écran de configuration dans Gladys.

ParamètreTypeObligatoireDescription
Votre pyLoadsectionNonpyLoad (pyload-ng 0.5) sur votre réseau : une clé d'API, ou un nom d'utilisateur et un mot de passe pour les versions antérieures à 0.5.0b3.dev101. Jusqu'à deux serveurs. Ne supprime jamais de fichier.
AdressestringOuiAdresse IP ou nom, avec :port (8000 par défaut). https:// pour le HTTPS.
Clé d'APIsecretNonpyLoad 0.5.0b3.dev101 ou plus récent : Settings, Users, Manage API Keys (pl_…).
Nom d'utilisateurstringNonpyLoad plus ancien (avant dev101), sans clé d'API : l'identifiant de l'interface web.
Mot de passesecretNonAvec le nom d'utilisateur seulement.
NomstringNonNom de l'appareil dans Gladys. Vide : pyLoad suivi de l'adresse.
Deuxième serveur (facultatif)sectionNonLes mêmes champs, pour un autre pyLoad.
AdressestringNonAdresse IP ou nom, avec :port (8000 par défaut). https:// pour le HTTPS.
Clé d'APIsecretNonpyLoad 0.5.0b3.dev101 ou plus récent : Settings, Users, Manage API Keys (pl_…).
Nom d'utilisateurstringNonpyLoad plus ancien (avant dev101), sans clé d'API : l'identifiant de l'interface web.
Mot de passesecretNonAvec le nom d'utilisateur seulement.
NomstringNonNom de l'appareil dans Gladys. Vide : pyLoad suivi de l'adresse.
OptionssectionNon
Accepter les certificats auto-signésbooleanNonPour un pyLoad servi en HTTPS avec son propre certificat (fréquent sur un NAS).
Intervalle de rafraîchissementselectNonFréquence de lecture de pyLoad : c'est aussi le délai des déclencheurs.
Autoriser l'ajout de liensbooleanNonPermet aux scènes d'ajouter des liens à télécharger. Désactivé par défaut : quiconque peut modifier une scène pourrait lancer un téléchargement.
Langue des noms de fonctionnalitésselectNonNoms donnés aux fonctionnalités à l'ajout d'un appareil, et textes d'état.

Comment installer pyLoad dans Gladys​

  1. Dans Gladys, ouvrez Intégrations : pyLoad apparaît dans le catalogue, aux côtés des intégrations natives, avec un badge communautaire.
  2. Cliquez sur Installer. Gladys télécharge l'image Docker (ghcr.io/guim31/gladys-pyload:1.0.0), 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).
  3. Ouvrez l'écran Configuration de l'intégration, remplissez les paramètres, puis enregistrez.
  4. Vous pouvez aussi l'installer directement depuis l'URL de son dépôt : https://github.com/guim31/gladys-pyload.

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

pyLoad 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.

Inscrivez-vous à la newsletter Gladys Assistant

Quelques emails par mois sur les nouveautés et l'actualité du projet. Envoyés par Pierre-Gilles Leymarie, le fondateur du projet. Désinscription possible à tout moment 🙂