====Commander Squeeze Center avec un Zennio z38i==== ===Prérequis=== * La version CVS de linknx (http://linknx.cvs.sourceforge.net/viewvc/linknx/linknx/) * Un Zennio z38i * Un serveur Squeeze Center * Un ou plusieurs Squeeze player ===Interaction entre linknx et Squeeze Center=== Cette première partie va servir à expliquer comment lire/écrire certaines valeurs de Squeeze Center (volume, play, stop,...) depuis/vers des objets (adresses de groupe) linknx. La deuxième partie du document expliquera comment utiliser ces valeurs depuis un z38i. ==Connexion au Squeeze Center== Pour nous connecter au CLI de Squeeze Center (http://wiki.slimdevices.com/index.php/Logitech_Media_Server_CLI), nous allons utiliser les ioports de linknx. Par défaut le CLI est disponible sur le port TCP 9090. Nous déclarons donc notre ioport de la façon suivante: (remplacez 10.0.0.1 par l'adresse IP du serveur où tourne votre serveur Squeeze Center) Lors de la communication via le CLI, les différentes platines sont identifiées via leur adresse MAC, les exemples fournis dans ce tutoriel concerneront la platine ayant l'adresse MAC 00:00:00:00:00:01. ==Retour d'état depuis Squeeze Center== Si votre Squeeze Center est commandé via un autre moyen que linknx (une SqueezeBox Controller par exemple), il peut être intéressant de connaitre les statuts (on/off, volume,...) dans linknx. Pour ce faire, nous pouvons utiliser le CLI qui permet d'afficher en temps réel les évènements qui se produises. Pour activer cette fonctionnalité, nous devons envoyer la commande "listen 1" au CLI au début de la connexion. Nous envoyons cette commande via la rule suivante: ==On/Off== Nous allons définir 2 objets pour la gestion du On/Off, un pour la commande et un pour le retour d'état. Audio SDB On/Off commande Audio SDB On/Off retour La rule suivante sera utilisée pour allumer et éteindre une platine: La rule suivante nous permettra de gérer le retour d'état: ==Gestion du volume== Nous utilisons ici deux objets de type 0-100%: Audio SDB Volume commande Audio SDB Volume status Rule pour la commande: value=obj("audio_sdb_volume_commande"); iosend("squeezebox", "00:00:00:00:00:01 mixer volume " .. value .. "\n"); Pour le retour d'état: A suivre...