Intégration Jellyfin & Emby pour Gladys Assistant

Pilotez vos lecteurs Jellyfin et Emby, suivez les lectures et réagissez-y dans vos scènes.
Pilotez les lecteurs de votre serveur Jellyfin ou Emby depuis Gladys, suivez ce qui se regarde dans la maison et déclenchez des scènes quand une lecture démarre, se met en pause ou s'arrête — le classique « lumières tamisées quand le film commence ».
Fonctionne avec Jellyfin 10.9 et suivants (vérifié sur 10.11 et 12.1) et avec Emby (vérifié sur 4.10). L'intégration détecte seule le type de serveur.
Configuration
- Créez une clé d'API pour Gladys sur votre serveur :
- Jellyfin : Tableau de bord > Clés API > +, nommez-la « Gladys » ;
- Emby : Paramètres > Avancé > Clés API > Nouvelle clé d'API.
- Dans l'onglet Configuration de l'intégration, renseignez :
- l'URL du serveur, port inclus (par exemple
http://192.168.1.20:8096). Une adresse https derrière un reverse proxy fonctionne aussi ; vous pouvez coller l'adresse de votre navigateur,/web/...est retiré automatiquement ; - la clé d'API créée à l'étape 1.
- l'URL du serveur, port inclus (par exemple
- Enregistrez, puis cliquez sur Tester la connexion.
- Les appareils apparaissent dans l'onglet Découverte.
Un lecteur (application TV, téléphone, navigateur) n'apparaît que lorsqu'il est connecté au serveur : ouvrez l'application sur la TV, puis cliquez sur Rechercher les lecteurs. Un lecteur ajouté reste dans Gladys même quand il est éteint.
Ce que vous obtenez
Le serveur : nombre de lectures en cours, nombre de lectures transcodées (celles qui chargent le processeur), un résumé « qui regarde quoi, où », et un compteur par bibliothèque (plus les épisodes des séries et les morceaux de musique). Les compteurs se désactivent dans la configuration.
Chaque lecteur : lecture, pause, stop, précédent, suivant, retour arrière, avance rapide, volume, muet, état de lecture, titre en cours, temps restant, et deux indicateurs « pendant l'intro » et « pendant le générique ». Les boutons sont compatibles avec le widget Musique du tableau de bord.
Les indicateurs d'intro et de générique ont besoin que le serveur connaisse ces passages :
- Jellyfin (10.10 et suivants) : installez un fournisseur de segments, par exemple le plugin officiel Chapter Segments Provider (il lit les chapitres nommés « Intro », « Credits »…) ou le plugin Intro Skipper ;
- Emby : la détection des intros et génériques d'Emby.
Sans eux, les deux indicateurs restent à 0.
Scènes
Quatre déclencheurs : Lecture démarrée, Lecture en pause, Lecture
reprise, Lecture arrêtée. Chacun peut être limité à un lecteur et à
des types de média (film, épisode, musique, TV en direct…). Les variables
title, name, series_name, media_type, user et player_name sont
utilisables dans les actions qui suivent.
Exemple : Lecture démarrée, lecteur « TV du salon », type Film → tamiser le salon ; Lecture en pause sur le même lecteur → rallumer.
Deux actions de scène :
- Afficher un message sur un lecteur — par exemple « On sonne à la porte » par-dessus le film ;
- Lire un média sur un lecteur — cherche un titre dans la bibliothèque (film, série, album, artiste, liste de lecture…) et le lance, en lecture aléatoire si besoin. Le titre lu est disponible pour la suite de la scène.
Le lecteur doit être connecté au serveur pour recevoir un message ou une lecture.
Widgets du tableau de bord
- En cours de lecture : qui regarde quoi, où, avec les affiches.
- Lecteur : la lecture en cours en télécommande — la jaquette (ou l'image de fond du film), le titre, l'état, le temps restant et les boutons lecture/pause, stop et suivant. Laissez le réglage « Lecteur » vide pour suivre automatiquement ce qui est en cours de lecture, ou choisissez un lecteur pour le suivre lui seul.
- Derniers ajouts : les affiches des films, séries ou albums ajoutés récemment, les nouveaux épisodes regroupés par série.
Dépannage
- « Le serveur refuse la clé d'API » : la clé a été supprimée ou mal copiée. Créez-en une nouvelle et enregistrez-la. L'intégration cesse volontairement d'interroger le serveur tant que la clé est refusée : un reverse proxy équipé de fail2ban pourrait sinon bannir votre adresse.
- Un bouton ne fait rien : toutes les applications n'acceptent pas le contrôle à distance. Les applications TV et le client web l'acceptent ; certaines applications mobiles non. « Suivant » et « Précédent » sur un épisode lancent l'épisode voisin, ce qui fonctionne même sur les applications qui n'ont pas de file de lecture (Swiftfin).
- Le message ne s'affiche pas : cela dépend de l'application. Jellyfin Web et Jellyfin pour Android TV l'affichent ; Swiftfin (Apple TV, iOS) ne le gère pas encore, et l'application iOS officielle ne l'affiche pas pendant une lecture vidéo.
- Le bouton ne change pas tout de suite d'état : les boutons du widget « Lecteur » affichent l'état attendu dès la commande envoyée, puis l'application le confirme (certaines mettent quelques secondes).
- La mise à jour est lente : l'intégration suit les lectures en temps réel par WebSocket. Si votre reverse proxy ne relaie pas les WebSockets, elle se replie sur une interrogation toutes les 15 secondes.
- Les journaux de l'intégration sont consultables depuis l'interface Gladys.
Paramètres de configuration
Voici les paramètres demandés par Jellyfin & Emby dans son écran de configuration dans Gladys.
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| Connexion à votre serveur multimédia | section | Non | Fonctionne avec Jellyfin (10.9 et suivants) et Emby. Indiquez l'adresse du serveur (par exemple http://192.168.1.20:8096) et une clé d'API créée pour Gladys : sous Jellyfin, Tableau de bord > Clés API ; sous Emby, Paramètres > Avancé > Clés API. L'intégration détecte seule le type de serveur. |
| URL du serveur | string | Oui | Adresse du serveur, port inclus (8096 par défaut). Une adresse https derrière un reverse proxy fonctionne aussi. |
| Clé d'API | secret | Oui | |
| Langue des noms | select | Non | Langue des noms de fonctionnalités et des textes. Les noms sont fixés à la création d'un appareil : pour les renommer après un changement, supprimez puis rajoutez l'appareil. |
| Capteurs de bibliothèques | boolean | Non | Ajoute un capteur de nombre d'éléments par bibliothèque sur l'appareil serveur (plus les épisodes pour les séries et les morceaux pour la musique). |
| Rafraîchissement des bibliothèques (s) | number | Non | Fréquence de rafraîchissement du nombre d'éléments des bibliothèques, en secondes. Les lectures sont suivies en temps réel. |
| Accepter un certificat auto-signé | boolean | Non | Uniquement pour les adresses https : accepte le certificat auto-signé du serveur. Laissez désactivé pour les adresses http. |
Comment installer Jellyfin & Emby dans Gladys
- Dans Gladys, ouvrez Intégrations : Jellyfin & Emby 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-jellyfin:0.2.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-jellyfin.
Jellyfin & Emby 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
Jellyfin & Emby 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 externes
- Découvrir les intégrations natives intégrées à Gladys
- Créer et publier votre propre intégration externe
- Code source sur GitHub — source de cette documentation