Intégration domotique PeerTube, gratuite et open source

PeerTube dans Gladys : nouvelles vidéos et directs de vos chaînes, chiffres de l'instance.
PeerTube est la plateforme vidéo libre et fédérée développée par Framasoft. Cette intégration suit une instance (la vôtre, ou n'importe quelle instance publique) et les chaînes de votre choix dans Gladys : les nouvelles vidéos, les directs en cours, les chiffres de l'instance et, avec votre compte, vos notifications non lues. Elle ne fait que lire : elle ne publie, ne commente et ne modifie jamais rien sur PeerTube.
Testée pour de vrai contre PeerTube 7.3.0 (en Docker, avec un compte, une chaîne, des envois de vidéos et un direct RTMP) et contre framatube.org (PeerTube 8.3.1).
Ce qu'il faut
- Gladys Assistant 5.1.0 ou plus récent.
- L'adresse d'une instance PeerTube : la vôtre sur votre réseau
(
http://192.168.1.20:9000), ou une instance publique (https://framatube.org). - Les identifiants des chaînes à suivre. L'identifiant est la fin de l'adresse
de la page de la chaîne :
https://framatube.org/c/joinpeertubedonnejoinpeertube. Une chaîne d'une autre instance s'écritnom@hôte([email protected]) : l'instance configurée doit la connaître (fédération), ce qui est toujours le cas d'une chaîne qu'elle suit ou que l'un de ses utilisateurs suit. - Facultatif : l'identifiant et le mot de passe de votre compte sur cette instance.
Configuration
- Dans Gladys, ouvrez Intégrations, installez PeerTube, puis ouvrez son onglet Configuration.
- Adresse de l'instance : l'adresse du site PeerTube, comme dans votre
navigateur. Une adresse nue est comprise :
framatube.org(HTTPS),192.168.1.20:9000(HTTP sur votre réseau). - Chaînes à suivre : les identifiants, séparés par des virgules (20 au plus). L'adresse de la page d'une chaîne est acceptée aussi.
- Compte (facultatif) : votre Identifiant et votre Mot de passe. Laissez-les vides pour ne lire que les pages publiques.
- Intervalle de rafraîchissement : 1, 2 (par défaut), 5 ou 10 minutes. Chaque lecture fait deux requêtes légères par chaîne, et une ou deux pour le compte. Un direct est vu au plus avec ce retard.
- Langue des noms : la langue des noms des fonctionnalités (fixés à l'ajout d'un appareil), des dates et de la phrase de l'action de scène.
- Enregistrez, puis utilisez Tester la connexion : la réponse donne le nom et la version de l'instance, les chaînes trouvées et le compte.
- Ouvrez l'onglet Découverte et ajoutez les appareils voulus.
Les appareils
Tous les appareils sont en lecture seule. Gladys ne les interroge jamais : l'intégration lit PeerTube avec son propre minuteur, à l'intervalle choisi.
L'instance
PeerTube suivi du nom de l'instance :
- En ligne : l'instance répond.
- Vidéos locales : les vidéos publiées sur l'instance elle-même.
- Vues des vidéos locales : leurs vues, toutes ensemble.
- Utilisateurs : les comptes de l'instance.
- Instances suivies : les autres instances qu'elle suit.
PeerTube recalcule ces chiffres toutes les quelques minutes : ils avancent par paliers.
Les chaînes
Un appareil par chaîne, nommé comme la chaîne :
- Direct en cours : la chaîne est en direct en ce moment.
- Spectateurs du direct : les spectateurs de son direct (0 sans direct).
- Dernière vidéo : le titre de sa dernière vidéo.
- Dernière vidéo publiée le : sa date et son heure.
- Abonnés : les abonnés de la chaîne.
- Vidéos : ses vidéos (hors directs en cours).
Le compte
Avec un compte, PeerTube suivi de votre identifiant (nom@hôte) :
- Notifications non lues : ce qu'affiche la cloche de PeerTube (nouveaux commentaires, nouveaux abonnés, vidéos de vos abonnements, etc.).
- Abonnés : les abonnés de toutes vos chaînes ensemble.
Tableau de bord
Le widget Vidéos PeerTube affiche, de haut en bas : vos notifications non lues (avec un compte), une ligne par direct en cours (chaîne, titre, spectateurs), puis les six dernières vidéos des chaînes suivies en grille d'affiches (miniature, titre, chaîne, date). Touchez une vidéo pour ouvrir son détail ; sur une instance en HTTPS, un lien Regarder l'ouvre sur PeerTube. Les miniatures sont servies par l'intégration : votre navigateur ne charge jamais rien depuis l'instance.
Scènes
Déclencheurs
- Nouvelle vidéo PeerTube : une chaîne suivie a publié une nouvelle vidéo. Filtre : la chaîne (vide : n'importe laquelle). Variables : la chaîne, son identifiant, le titre, l'adresse de la vidéo, sa durée (minutes) et sa date de publication.
- Direct PeerTube commencé : une chaîne suivie est en direct. Filtre : la chaîne. Variables : la chaîne, son identifiant, le titre et l'adresse du direct.
- Direct PeerTube terminé : un direct d'une chaîne suivie est fini. Filtre : la chaîne. Variables : la chaîne, son identifiant, le titre, l'adresse, la durée (minutes, comptée depuis la première lecture qui l'a vu) et le pic de spectateurs.
Rien n'est annoncé pour ce qui existait déjà : la première lecture d'une chaîne apprend seulement ses vidéos, et ce qui a été vu est gardé d'un redémarrage à l'autre.
Actions
- Lire les dernières vidéos PeerTube : lit PeerTube maintenant et donne une phrase pour un message ou une annonce vocale (« PeerTube : en direct : … ; dernières vidéos : … »), pour toutes les chaînes ou pour une seule, avec 1, 3 ou 5 vidéos citées. Sorties : la phrase, si un direct est en cours, le titre du direct, le titre, la chaîne et l'adresse de la dernière vidéo.
Idées de scènes
- Nouvelle vidéo PeerTube sur votre chaîne préférée → envoyez-vous un
message avec
{{triggerEvent.data.title}}et{{triggerEvent.data.url}}. - Direct PeerTube commencé → baissez les lumières du salon et annoncez « Le direct de {{triggerEvent.data.channel_name}} a commencé » sur l'enceinte.
- Chaque soir à 19 h → Lire les dernières vidéos PeerTube, puis envoyez la phrase par message.
- Notifications non lues supérieur à 0 → passez une lampe en bleu.
Dépannage
- PeerTube ne répond pas : vérifiez l'adresse et le port (9000 pour une installation Docker simple, aucun derrière un proxy inverse). Le conteneur de l'intégration doit joindre cette adresse.
- Aucun PeerTube à cette adresse : l'adresse est celle du site, pas d'une page intégrée ni d'un stockage objet.
- Chaîne … introuvable : vérifiez l'identifiant sur la page de la chaîne.
Une chaîne distante doit être connue de l'instance : ouvrez sa page une fois
depuis l'instance (recherche
nom@hôte), ou abonnez-vous-y. - L'instance limite les requêtes : choisissez un intervalle plus long ou moins de chaînes. Les instances publiques limitent l'API par adresse.
- Connexion refusée : vérifiez l'identifiant et le mot de passe dans l'interface web de la même instance. Les comptes à double authentification, et les connexions par OpenID Connect ou SAML, ne sont pas pris en charge : laissez le compte vide et utilisez la partie publique.
- Pour tout le reste, réglez
LOG_LEVEL=debuget ouvrez un ticket : https://github.com/guim31/gladys-peertube/issues
Limites
- Lecture seule : ni envoi, ni commentaire, ni abonnement depuis Gladys.
- Un direct est vu à la lecture suivante, et sa durée part de là. Un direct qui s'arrête et reprend entre deux lectures n'est pas vu comme terminé.
- 5 nouvelles vidéos d'une chaîne au plus sont annoncées par lecture (les plus récentes) : un plus gros lot publié d'un coup est compté, pas tout annoncé.
- La miniature et le lien d'une vidéo viennent de l'instance configurée : une chaîne distante apparaît comme cette instance la connaît.
- Pas de webhook : le bac à sable de Gladys n'a pas de port entrant, PeerTube est donc lu périodiquement.
- Sans lien avec Framasoft ni avec le projet PeerTube.
Paramètres de configuration
Voici les paramètres demandés par PeerTube dans son écran de configuration dans Gladys.
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| Votre PeerTube | section | Non | Saisissez l'adresse d'une instance PeerTube (la vôtre, ou une instance publique) et les chaînes à suivre. Ajoutez ensuite les appareils depuis l'onglet Découverte. Le compte est facultatif. |
| Adresse de l'instance | string | Oui | L'adresse du site PeerTube, comme dans votre navigateur (https://… pour une instance publique, http://IP:9000 sur votre réseau). |
| Chaînes à suivre | string | Non | Identifiants des chaînes, séparés par des virgules (20 au plus) : nom pour une chaîne de l'instance, nom@hôte pour une autre, ou l'adresse de sa page. |
| Compte (facultatif) | section | Non | Votre compte sur cette instance ajoute un appareil avec vos notifications non lues et les abonnés de vos chaînes. Laissez vide pour ne lire que les pages publiques. |
| Identifiant | string | Non | L'identifiant (ou l'e-mail) de connexion. Les comptes à double authentification ou à connexion externe (OpenID, SAML) ne sont pas pris en charge. |
| Mot de passe | secret | Non | Le mot de passe de ce compte. Il n'est envoyé qu'à l'instance, pour obtenir un jeton de session. |
| Options | section | Non | |
| Intervalle de rafraîchissement | select | Non | À quelle fréquence PeerTube est lu : deux requêtes légères par chaîne à chaque fois. Un direct est vu au plus avec ce retard. |
| Langue des noms | select | Non | Langue des noms des fonctionnalités (fixés à l'ajout de l'appareil), des dates et des résultats de scène. |
Comment installer PeerTube dans Gladys
- Dans Gladys, ouvrez Intégrations : PeerTube 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-peertube: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). - 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-peertube.
PeerTube 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
PeerTube 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