Le package Squeezebox vous permet de contrôler vos Squeezebox via le Logitech Media Server (lecture, pause, suivant, contrôle du volume …).

Cette documentation a été réalisé avec la version 1.2.1 du package Squeezebox ainsi que la version 2.0 du plugin Constellation pour Logitech Media Server.

Le code source est disponible sur https://github.com/myconstellation/constellation-packages/tree/master/Squeezebox

Installation du package Squeezebox

Depuis le “Online Package Repository” de votre Console Constellation, déployez le package Squeezebox :

clip_image002[4]

Une fois le package télécharger votre repository local, sélectionnez la sentinelle sur laquelle déployer le package.

Pour finir, sur la page de Settings vous devez obligatoirement spécifier l’adresse URL ainsi que le port du Logitech Media Server sans le « http:// » :

clip_image004[4]

Vous pouvez également déployer ce package manuellement dans la configuration de votre Constellation :

Détails du package

Les Settings

Nom Type Détail Description
ServerUrl String Obligatoire Adresse IP du LMS avec le port
ServerUser String Facultatif Pseudo pour se connecter au LMS si défini
ServerPassword String Facultatif Mot de passe pour se connecter au LMS si défini

Les StateObjects

Ce package ne comporte aucuns StateObjects.

Les MessageCallbacks

Le package expose 2 types de MessageCallbacks :

  • SendToServer :

Ces Message Callbacks ne produisent aucunes réponses (saga).

Nom Description
Scan_Cancel Annule le scan de la librairie
Scan_Fast Lance un scan rapide de la librairie
Scan_Full Lance un scan complet de la librairie
  • SendToSqueezebox :

Le champs Squeezebox correspond au nom ou à l’adresse MAC de la squeezebox cible.

Si ce champ est laissé vide, la commande sera lancée sur toutes les squeezebox.

Vous pouvez également indiquer plusieurs squeezebox en les séparant par une virgule, exemple : « SdB,Salon » ou « e4:f4:c6:47:5e:2a,00:15:5d:01:6a:04 »

Ces Message Callbacks ne produisent aucunes réponses (saga).

Nom Champ value Champ squeezebox Description
Add_Album_Id Id de l’album Nom ou adresse MAC de la squeezebox cible Ajoute un album par son id à la fin de la playlist
Add_Artist_Id Id de l’artiste Nom ou adresse MAC de la squeezebox cible Ajoute un artiste par son id à la fin de la playlist
Add_Title_Id Id du titre Nom ou adresse MAC de la squeezebox cible Ajoute un titre par son id à la fin de la playlist
Delete_Album_Id Id de l’album Nom ou adresse MAC de la squeezebox cible Supprime les titres de l’album de la playlist
Delete_Artist_Id Id de l’artiste Nom ou adresse MAC de la squeezebox cible Supprime les titres de l’artiste de la playlist
Delete_Title_Id Id du titre Nom ou adresse MAC de la squeezebox cible Supprime le titre de la playlist
Connect Adresse IP de l’autre serveur LMS Nom ou adresse MAC de la squeezebox sur l’autre serveur LMS Connecte la squeezebox d’un autre serveur à ce serveur
Connect_To Adresse IP de l’autre serveur LMS Nom ou adresse MAC de la squeezebox cible Connecte une squeezebox de ce serveur à un autre serveur
Mute_Off Aucun Nom ou adresse MAC de la squeezebox cible Désactive l’option muet
Mute_On Aucun Nom ou adresse MAC de la squeezebox cible Active l’option muet
Mute_Toggle Aucun Nom ou adresse MAC de la squeezebox cible Active/désactive l’option muet
Next Aucun Nom ou adresse MAC de la squeezebox cible Lance la prochaine musique dans la playlist
Pause Aucun Nom ou adresse MAC de la squeezebox cible Met sur pause la musique
Play Aucun Nom ou adresse MAC de la squeezebox cible Met en lecture la musique
Play_Album Nom de l’album Nom ou adresse MAC de la squeezebox cible Lance un album basé sur son nom

(remplace la playlist en cours)

Play_Album_Id Id de l’album Nom ou adresse MAC de la squeezebox cible Lance un album basé sur son id

(remplace la playlist en cours)

Play_Artist Nom de l’artiste Nom ou adresse MAC de la squeezebox cible Lance un artiste basé sur son nom

(remplace la playlist en cours)

Play_Artist_Id Id de l’artiste Nom ou adresse MAC de la squeezebox cible Lance un artiste basé sur son id

(remplace la playlist en cours)

Play_Index Index du titre dans la playlist Nom ou adresse MAC de la squeezebox cible Lance une musique par sa position dans la playlist
Play_Playlist Nom de la playlist Nom ou adresse MAC de la squeezebox cible Lance une playlist basée sur son nom

(nom de la playlist requis – remplace la playlist en cours)

Play_Playlist_Id Id de la playlist Nom ou adresse MAC de la squeezebox cible Lance une playlist basée sur son id

(remplace la playlist en cours)

Play_Title Nom du titre Nom ou adresse MAC de la squeezebox cible Lance un titre basé sur son nom

(remplace la playlist en cours)

Play_Title_Id Id du titre Nom ou adresse MAC de la squeezebox cible Lance un titre basé sur son id

(remplace la playlist en cours)

Play_Title_Id_Next Id du titre Nom ou adresse MAC de la squeezebox cible Ajoute un titre à la prochaine position de la playlist basé sur son id
Play_Toggle Aucun Nom ou adresse MAC de la squeezebox cible Alterne pause et lecture de la musique
Playlist_Clear Aucun Nom ou adresse MAC de la squeezebox cible Vide la playlist en cours
Power_Off Aucun Nom ou adresse MAC de la squeezebox cible Éteint virtuellement la squeezebox
Power_On Aucun Nom ou adresse MAC de la squeezebox cible Allume virtuellement la squeezebox
Power_Toggle Aucun Nom ou adresse MAC de la squeezebox cible Alterne éteindre/allumer virtuellement la squeezebox
Previous Aucun Nom ou adresse MAC de la squeezebox cible Lance la musique précédente dans la playlist
Random_Album Aucun Nom ou adresse MAC de la squeezebox cible Lance un mix aléatoire par album
Random_Artist Aucun Nom ou adresse MAC de la squeezebox cible Lance un mix aléatoire par artiste
Random_Title Aucun Nom ou adresse MAC de la squeezebox cible Lance un mix aléatoire
Random_Year Aucun Nom ou adresse MAC de la squeezebox cible Lance un mix aléatoire par année
Repeat_Off Aucun Nom ou adresse MAC de la squeezebox cible Désactive la répétition
Repeat_Playlist Aucun Nom ou adresse MAC de la squeezebox cible Active la répétition de la playlist
Repeat_Title Aucun Nom ou adresse MAC de la squeezebox cible Active la répétition du titre en cours
Repeat_Toggle Aucun Nom ou adresse MAC de la squeezebox cible Alterne les modes de répétition
Shuffle_Album Aucun Nom ou adresse MAC de la squeezebox cible Active le mélange par album
Shuffle_Off Aucun Nom ou adresse MAC de la squeezebox cible Désactive le mélange
Shuffle_Title Aucun Nom ou adresse MAC de la squeezebox cible Active le mélange par titre
Shuffle_Toggle Aucun Nom ou adresse MAC de la squeezebox cible Alterne les modes de mélange
Stop Aucun Nom ou adresse MAC de la squeezebox cible Stop la musique en cours de lecture
Sync Nom ou adresse MAC de la squeezebox qui sera synchronisée Nom ou adresse MAC de la squeezebox cible Synchronise une autre squeezebox avec celle-ci
Sync_Off Aucun Nom ou adresse MAC de la squeezebox cible Désynchronise la squeezebox
Sync_To Nom ou adresse MAC de la squeezebox « maître » Nom ou adresse MAC de la squeezebox cible Synchronise cette squeezebox à une autre
Volume Niveau du volume Nom ou adresse MAC de la squeezebox cible Définie le niveau du volume
Volume_Down Aucun Nom ou adresse MAC de la squeezebox cible Baisse le volume de 2%
Volume_Up Aucun Nom ou adresse MAC de la squeezebox cible Augmente le volume de 2%

Le plugin Logitech Media Server (version 2.0)

Installation

Afin d’éviter de questionner le Logitech Media Server toutes les x secondes et pour obtenir les informations le plus rapidement possible, un plugin pour le Logitech Media Server a été développé.

Pour l’installer, il faut rajouter le répertoire http://erwann.laville.free.fr/repo.xml en bas de la page plugins de votre Logitech Media Server.

clip_image006[4]

Une fois validé, un nouveau plugin sera disponible à l’installation. Il faudra le coche, valider et redémarrer pour l’installer.

clip_image008[4]

Une fois installé, vous pourrez indiquer les informations de Constellation dans les paramètres du plugin :

  • L’adresse IP de Constellation sans http:// et sans le port
  • Le port de Constellation (par défaut 8088)
  • La clé API correspondant au package virtuel
  • Le nom de la sentinel dans laquelle sera publiée les informations (par défaut Squeezebox)
  • Le nom du package dans lequel sera publié les informations (par défaut Info)

clip_image010

Une fois tout indiqué, celui-ci va envoyer un message dans les logs de Constellation afin de tester la connexion.

clip_image012

clip_image013[4]

Vous pouvez alors rafraichir cette page de paramètre pour voir le résultat de cette communication (cela peut prendre jusqu’à 5 secondes).

Si le résultat est Ok, vous aurez « Communication Ok » dans la partie résultat.

clip_image015[4]

S’il y a eu un problème de transmission, cette erreur s’affichera.

clip_image017[4]

Vous aurez également en dernier l’url qu’utilisera LMS pour envoyer des informations à Constellation.

À noter qu’à la connexion avec Constellation, LMS réalise une purge de la Sentinel / du Package indiqués dans la configuration.

Voilà la configuration du plugin est terminé. Tous les StateObjects seront envoyés vers la sentinelle et le package indiqués.

Il faut donc les rajouter dans Constellation, par exemple ici :

Les StateObjects

Vous retrouverez autant de StateObject que de lecteurs connectés au LMS ainsi qu’un StateObject indiquant la liste des Squeezebox connectées :

Nom Type Description
Players N/A Liste des lecteurs avec pour chacun le nom et l’adresse MAC.
<< Nom du lecteur >> N/A Informations sur le lecteur (nom, adresse MAC, adresse IP…) ainsi que sur la lecture en cours (titre, album, artiste, volume, pochette…)

clip_image019

clip_image021

Squeezebox : le multiroom connectée dans Constellation
Editer la page sur GitHub
Étiqueté avec :            

Laisser un commentaire