Intégration domotique Volumio, gratuite et open source

Lecteurs réseau Volumio : lecture, volume, notifications, playlists, webradios.
Présentation
Cette intégration amène vos lecteurs réseau Volumio dans Gladys : un Raspberry Pi sous Volumio branché à un ampli ou à un DAC, un Volumio Primo, Rivo ou Motivo. Chaque lecteur devient un appareil musique de Gladys : lecture, pause, piste précédente et suivante, volume, état de la lecture, et « Diffuser une notification » pour la synthèse vocale et les sons de vos scènes. Un widget du tableau de bord montre ce qui joue, avec la pochette, et des actions de scène jouent une playlist Volumio, une webradio favorite ou n'importe quelle adresse de flux.
Tout reste sur votre réseau local : l'intégration parle à l'API REST de Volumio et écoute les mises à jour en temps réel que Volumio envoie à sa propre interface web. Pas de compte, pas de cloud.
Développée sans le matériel : vos retours sont les bienvenus. Cette intégration a été écrite à partir de la documentation et du code source de Volumio, sans lecteur réel sous la main. Dites-nous comment elle marche chez vous dans les issues.
Cette intégration n'est pas affiliée à Volumio.
Prérequis
- Gladys Assistant 5.2.0 ou plus récent.
- Un lecteur Volumio (Volumio 2 ou 3) sur le même réseau local que Gladys, joignable sur son port 3000 (celui par défaut).
Configuration
- Installez l'intégration depuis Intégrations → Installer depuis GitHub.
- Ouvrez l'onglet Découverte : les lecteurs trouvés y apparaissent. Ajoutez ceux que vous voulez avec Ajouter à Gladys.
- Si aucun lecteur n'apparaît, ouvrez l'onglet Configuration et saisissez l'adresse IP d'un lecteur dans Adresses des lecteurs (affichée dans Volumio, Paramètres, Réseau). Les autres lecteurs sont alors trouvés grâce à lui : les lecteurs Volumio se connaissent entre eux.
Réglages :
| Réglage | Effet |
|---|---|
| Adresses des lecteurs | Adresses IP ou noms d'hôte facultatifs, séparés par des virgules. Le port 3000 est utilisé si aucun n'est indiqué. |
| Mises à jour en temps réel | Activé par défaut : l'intégration écoute les changements que Volumio annonce. Désactivé : elle interroge les lecteurs. |
| Volume des notifications (%) | Volume des notifications diffusées par Gladys. 0 garde le volume actuel. |
| Durée maximale des notifications (s) | Une notification plus longue est arrêtée et la musique reprend (60 s par défaut). |
| Langue des noms de fonctionnalités | Noms donnés aux fonctionnalités des nouveaux appareils, et langue des messages des actions de scène (français par défaut). |
Deux boutons aident : Rechercher les lecteurs relance la recherche et liste chaque lecteur avec son état, et Lister playlists et webradios favorites affiche les noms exacts à saisir dans les actions de scène.
Appareils
Chaque lecteur Volumio est un appareil, nommé comme dans Volumio, avec ces fonctionnalités :
| Fonctionnalité | Type | Effet |
|---|---|---|
| Volume | volume de la musique, 0 à 100 | Lit et règle le volume du lecteur. |
| Lecture | bouton lecture musique | Joue la file d'attente. |
| Pause | bouton pause musique | Met en pause. Une webradio est arrêtée à la place (un flux ne se met pas en pause). |
| Piste précédente | bouton précédent musique | Piste précédente de la file d'attente. |
| Piste suivante | bouton suivant musique | Piste suivante de la file d'attente. |
| État de la lecture | état de la lecture musique | 1 pendant la lecture, 0 en pause ou à l'arrêt. Conservé dans l'historique. |
| Diffuser une notification | diffuser une notification | Joue un son ou un message parlé, puis reprend ce qui jouait. |
Grâce à ces fonctionnalités, le lecteur fonctionne avec la boîte Musique du tableau de bord de Gladys, et avec l'action de scène de Gladys qui prononce un texte sur une enceinte. Une notification mémorise la file d'attente, le morceau, la position, le volume et la répétition, joue le son au volume des notifications, puis remet tout en place.
Les fonctionnalités sont nommées dans la langue choisie dans la configuration, au moment de l'ajout de l'appareil.
Widget du tableau de bord
Le widget Volumio en cours affiche le titre, l'artiste et l'album, la pochette quand Volumio en sert une que Gladys accepte, le lecteur, son état, la source (bibliothèque musicale, webradio, Spotify, AirPlay…), le volume, l'aléatoire et la répétition. Choisissez le lecteur dans les réglages du widget, ou laissez vide pour le premier lecteur ajouté.
Ses boutons :
- Lecture / Pause ;
- Suivant ;
- Volume : un petit formulaire pour saisir le volume et couper ou rétablir le son ;
- Playlist : la liste des playlists Volumio, pour en lancer une. Sans playlist, ou quand Volumio ne pilote pas le volume, un bouton Précédent prend la place libre.
Déclencheur de scène
Un nouveau morceau est joué : un lecteur a commencé un morceau d'un autre titre ou artiste, y compris une nouvelle chanson sur une webradio qui l'annonce. Vous pouvez choisir le lecteur. Variables : titre, artiste, album et source, pour envoyer « En cours de lecture » sur votre téléphone ou l'afficher sur un écran. Les notifications diffusées par Gladys ne le déclenchent jamais.
Actions de scène
| Action | Effet |
|---|---|
| Jouer une playlist Volumio | Joue une playlist enregistrée dans Volumio, par son nom (majuscules et accents indifférents). |
| Jouer une webradio favorite | Joue une radio des favoris de Volumio (Radios favorites ou Mes webradios), par son nom. |
| Jouer une adresse | Joue un flux ou un fichier son par son adresse http(s), au volume choisi, en reprenant la musique ensuite en option. |
| Régler aléatoire et répétition | Active ou désactive l'aléatoire et la répétition de la file d'attente, ou les laisse inchangés. |
| Vider la file d'attente | Vide la file d'attente du lecteur (la musique s'arrête). |
Une webradio trouvée avec l'intégration Radio Browser de Gladys se joue avec Jouer une adresse.
Exemples de scènes
- Réveil : chaque jour de semaine à 7 h, Jouer une playlist Volumio « Réveil » dans la chambre, puis monter le volume par étapes avec la fonctionnalité Volume.
- Sonnette : quand on sonne, Jouer une adresse avec un son de cloche, à 70 %, en cochant « Puis reprendre ce qui jouait » ; ou faire dire à Gladys « Quelqu'un sonne à la porte » sur le lecteur.
- Départ de la maison : quand la dernière personne part, commander la fonctionnalité Pause du lecteur, ou Vider la file d'attente.
- En cours sur la télé : sur Un nouveau morceau est joué, envoyer un message avec le titre et l'artiste.
Temps réel et interrogation
Volumio n'a ni compte ni quota : tout passe par le réseau local. L'intégration écoute le canal socket.io de Volumio (celui de son interface web) et lit le lecteur une fois toutes les 5 minutes par sécurité. Quand ce canal n'est pas disponible, elle lit le lecteur toutes les 10 secondes pendant la lecture et chaque minute sinon. Un lecteur qui ne répond pas est réessayé après 15 secondes, puis chaque minute. Seuls les lecteurs ajoutés à Gladys sont lus. Une valeur inchangée est renvoyée à Gladys toutes les 6 heures.
Dépannage
- Aucun lecteur dans l'onglet Découverte : saisissez l'adresse IP d'un lecteur dans la configuration, puis appuyez sur Rechercher les lecteurs. La découverte automatique (mDNS) de Gladys 5.2 peut ne pas trouver Volumio, qui s'annonce avec des majuscules que le cœur ne reconnaît pas.
- « Salon : ne répond pas » : le lecteur est éteint, ou son adresse a changé. Vérifiez que
http://<adresse>:3000/api/v1/getStates'ouvre dans un navigateur du même réseau. - Une action de scène dit que la playlist est introuvable : appuyez sur Lister playlists et webradios favorites et copiez le nom affiché.
- Le widget n'affiche pas de pochette : Gladys n'accepte que des pochettes de 300 Ko au plus ; les plus grandes ne sont pas affichées.
- Réglez
LOG_LEVEL=debugsur l'intégration pour voir chaque lecture dans ses journaux.
Limites
- Développée sans le matériel : le canal temps réel (socket.io), les notifications et la reprise sont testés contre un lecteur simulé, pas un vrai Volumio.
- Gladys n'a pas de fonctionnalité musique pour la sourdine, l'aléatoire, la répétition ou le titre : ils sont dans le widget et les actions de scène.
- Gladys 5.2 ne transmet pas aux intégrations externes le volume de son action de scène « diffuser une notification » : c'est le volume des notifications de la configuration qui s'applique.
- Après une notification, une file d'attente qui était en pause revient sans jouer, depuis son premier morceau.
- Le son de la notification est joué par Volumio lui-même : il doit pouvoir joindre l'adresse (Gladys Plus pour la synthèse vocale).
- Une file d'un service de streaming (Spotify Connect, AirPlay) ne peut pas reprendre après une notification.
Paramètres de configuration
Voici les paramètres demandés par Volumio dans son écran de configuration dans Gladys.
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| Trouver vos lecteurs | section | Non | Les lecteurs Volumio sont recherchés automatiquement : ouvrez l'onglet Découverte. Si aucun n'apparaît, saisissez ci-dessous l'adresse IP d'un lecteur (affichée dans Volumio, Paramètres, Réseau) : les autres sont trouvés grâce à lui. |
| Adresses des lecteurs | string | Non | Facultatif, séparées par des virgules. Le port 3000 est utilisé si aucun n’est indiqué. |
| Mises à jour en temps réel | boolean | Non | Écouter les changements que Volumio annonce, comme son interface web. Désactivé : les lecteurs sont lus toutes les 10 s pendant la lecture, chaque minute sinon. |
| Volume des notifications (%) | number | Non | Volume des notifications diffusées par Gladys (synthèse vocale, sons), puis le volume revient. 0 : garder le volume actuel. |
| Durée maximale des notifications (s) | number | Non | Une notification plus longue est arrêtée et la musique reprend (un flux ne se termine jamais de lui-même). |
| Langue des noms de fonctionnalités | select | Non | Noms donnés aux fonctionnalités des nouveaux appareils, et langue des messages des actions de scène. |
Comment installer Volumio dans Gladys
- Dans Gladys, ouvrez Intégrations : Volumio 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-volumio: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-volumio.
Volumio nécessite Gladys >=5.2.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
Volumio 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