[Store] Logitech Media Server - Retour d'état

Capteurs et actionneurs HTTP

[Store] Logitech Media Server - Retour d'état

Messagepar xianghua » 10 Août 2015 19:22

Bonjour,

(Edit: Commentaire édité suite à la résolution du problème)

Il est possible de récupérer l'état d'une squeezebox (allumé/éteint/pause ou la musique en cours) sur l'Eedomus.

Avant la version 7.6, Logitech avait inclut la possibilité d'avoir ces informations dans un xml.
Si vous êtes sur Logitech media server 7.7 (Synology) ou 7.9, il suffit de télécharger une ancienne version (la 7.5) ou le répertoire xml est inclut. ici par exemple: http://downloads.slimdevices.com/Squeez ... -7.5.5.tgz
Une fois téléchargé, dézippez le avec 7-zip et récupérer le dossier xml (qui est dans le répertoire HTML)

Copiez le au même endroit sur votre serveur (SSH/FTP/SFTP/SCP/SMB etc..)
Déplacez le dossier xml dans un de vos dossiers puis

Si c'est un Synology, se connecter avec le compte admin (remplacer votredossier)
Code : Tout sélectionner
cp -R /volume1/votredossier/xml /volume1/@appstore/SqueezeCenter/HTML/


Code : Tout sélectionner
chmod 755 -R /volume1/@appstore/SqueezeCenter/HTML/xml/


Si c'est Max2play (En partant du principe que vous avez mit le dossier XML dans le home)
Code : Tout sélectionner
cp -R /home/xml /usr/share/squeezeboxserver/HTML/


Code : Tout sélectionner
chmod 755 -R /usr/share/squeezeboxserver/HTML/xml/


Si vous ne souhaitez pas utiliser le plugin sur le store, il faut faire ceci:

Créer un actionneur http sur l'eedomus:

Image

Image

Au cas ou les images sont supprimées la requête est celle ci:
http://[VAR1]:[VAR2]/xml/status_header.xml?&player=[VAR3]
Le [VAR3] correspond à l'adresse MAC de la Squeezebox
//*[local-name()='playmode'] pour l'état stopped/playing/pause (à mettre dans les valeurs brutes de l'interrupteur http)

Encore merci à hugosc pour l'aide sur le xpath :P
Dernière édition par xianghua le 13 Jan 2018 16:24, édité 23 fois.
xianghua
 
Messages : 302
Inscription : 11 Juil 2015

Re: Capteur Squeezebox, aide sur le xpath

Messagepar Alphonse Magova » 10 Août 2015 22:47

Je te rejoins car on en a déjà discuté sur le forum et je n'ai pas pas réussi à écrire le Xpatch correctement non plus, c'est pas mon fort. :?
EEDOMUS+
Alphonse Magova
 
Messages : 247
Inscription : 13 Déc 2014

Re: Capteur Squeezebox, aide sur le xpath

Messagepar xianghua » 11 Août 2015 07:30

C'est frustrant d'être près du but et de ne pas réussir!

Sinon j'imagine qu'il n'est pas possible de récupérer une valeur dans le status.html ?
xianghua
 
Messages : 302
Inscription : 11 Juil 2015

Re: Capteur Squeezebox, aide sur le xpath

Messagepar Nico33 » 11 Août 2015 08:59

Il faudrait mettre le XML dans le post pour qu'on puisse essayer de trouver le XPATH qui va bien. ;)
Nico33
 
Messages : 1013
Inscription : 14 Juin 2013

Re: Capteur Squeezebox, aide sur le xpath

Messagepar xianghua » 11 Août 2015 20:37

xianghua
 
Messages : 302
Inscription : 11 Juil 2015

Re: Capteur Squeezebox, aide sur le xpath

Messagepar xianghua » 12 Août 2015 14:03

J'ai testé sur ce site le xml http://xmltoolbox.appspot.com/xpath_generator.html
Le chemin est soit disant: /status[@xmlns='http://www.slimdevices.com/slimserver/xml']/player_status/transport/playmode

Sauf que j'ai toujours une valeur lue vide :evil:
Dernière édition par xianghua le 23 Déc 2015 08:37, édité 2 fois.
xianghua
 
Messages : 302
Inscription : 11 Juil 2015

Re: Capteur Squeezebox, aide sur le xpath

Messagepar xianghua » 13 Août 2015 19:28

Je vois que nous ne sommes pas nombreux à utiliser des Squeezebox :(
xianghua
 
Messages : 302
Inscription : 11 Juil 2015

Re: Capteur Squeezebox, aide sur le xpath

Messagepar thecrow06 » 14 Août 2015 13:52

j'utilise des squeez et j'aimerai aussi testé l’intégration sur eedomus mais pas évident :(
thecrow06
 
Messages : 39
Inscription : 23 Juin 2015

Re: Capteur Squeezebox, aide sur le xpath

Messagepar eedomusbox » 14 Août 2015 14:08

salut,
sauf erreur, il me semble que tu ne peux utiliser le xpath que via une requette http qui génère une réponse en XML.
Dans ton cas, tu as déjà le XML.
Il faudrait que tu créer un script qui lise ton fichier. En php c'est avec la fonction feof mais apparemment elle n'existe pas sur la box.
Peut être qu'avec la fonction httpQuery() cela peut fonctionner.
Le mieux étant surement de créer un script sur un raspberry ou un serveur a part afin d'utiliser toutes les fonctionnalités de php.
eedomusbox
 
Messages : 538
Inscription : 12 Sep 2014
Localisation : 69

Re: Capteur Squeezebox, aide sur le xpath

Messagepar xianghua » 14 Août 2015 16:53

eedomusbox a écrit:salut,
sauf erreur, il me semble que tu ne peux utiliser le xpath que via une requette http qui génère une réponse en XML.
Dans ton cas, tu as déjà le XML.
Il faudrait que tu créer un script qui lise ton fichier. En php c'est avec la fonction feof mais apparemment elle n'existe pas sur la box.
Peut être qu'avec la fonction httpQuery() cela peut fonctionner.
Le mieux étant surement de créer un script sur un raspberry ou un serveur a part afin d'utiliser toutes les fonctionnalités de php.


Merci beaucoup pour la réponse, je dispose d'un Synology pour stocker le script par contre je suis une quiche en code.... :? (me disait bien que j'aurais du faire dev dans ma vie)
C'est facile à faire?
Suite au script, y'aura un xpath à régler?

Dommage que la team Eedomus n'intègre pas nativement les Squeezebox, elles sont pourtant très souvent utilisées dans la domotique/multiroom
xianghua
 
Messages : 302
Inscription : 11 Juil 2015

Re: Capteur Squeezebox, aide sur le xpath

Messagepar Madoma73 » 14 Août 2015 23:01

Non, il te suffit de mettre cette Url http://192.168.0.5:9002/xml/status.xml dans ton capteur http pour ensuite pouvoir utiliser le xpath.
Pierre
Madoma73
 
Messages : 1435
Inscription : 16 Sep 2012
Localisation : 38

Re: Capteur Squeezebox, aide sur le xpath

Messagepar xianghua » 15 Août 2015 00:07

Madoma73 a écrit:Non, il te suffit de mettre cette Url http://192.168.0.5:9002/xml/status.xml dans ton capteur http pour ensuite pouvoir utiliser le xpath.


Malheureusement ça ne fonctionne pas par cette solution, je n'arrive pas à trouver le bon xpath, peut être que le XML n'arrive pas à être interprété je n'en sais rien.
J'ai beau essayé pleins d'xpath différents (voir plus haut) j'ai toujours valeur lue vide
xianghua
 
Messages : 302
Inscription : 11 Juil 2015

Re: Capteur Squeezebox, aide sur le xpath

Messagepar aurel » 15 Août 2015 05:04

Non pas besoin de repasser par un script pour lire le XML, l'eedomus sait parfaitement lire un XML tout fait, il faut juste trouver le bon chemin xpath. Après si il y a des nœuds qui se nomment pareil sur une meme branche, la il faudra effectivement le passer avec pop pour le reformater
Rendons plus simple notre quotidien avec domo-blog.fr
aurel
 
Messages : 815
Inscription : 07 Août 2012
Localisation : 77

Re: Capteur Squeezebox, aide sur le xpath

Messagepar xianghua » 15 Août 2015 09:43

aurel a écrit:Non pas besoin de repasser par un script pour lire le XML, l'eedomus sait parfaitement lire un XML tout fait, il faut juste trouver le bon chemin xpath.


C'est justement le but de ce sujet, car après avoir essayé toutes les combinaisons possibles j'en arrive toujours au même résultat.
Je pense que si ça avait été possible quelqu'un aurait déjà publié la réponse (soit à ce sujet, soit bien avant)

Si j'ai bien compris le fonctionnement //player_status/transport/playmode aurait du fonctionner ce qui n'est pas le cas :/
Voici le lien du xml https://www.dropbox.com/s/kk635bv950ssu ... s.xml?dl=0
xianghua
 
Messages : 302
Inscription : 11 Juil 2015

Re: Capteur Squeezebox, aide sur le xpath

Messagepar Nico33 » 15 Août 2015 22:01

J'ai fait des essais et je n'y arrive pas.
J'ai l'impression que le fichier XML n'est pas formaté correctement vu le XML error qu'on obtient quand on teste.
Désolé.
Nico33
 
Messages : 1013
Inscription : 14 Juin 2013

Re: Capteur Squeezebox, aide sur le xpath

Messagepar xianghua » 15 Août 2015 22:26

Nico33 a écrit:J'ai fait des essais et je n'y arrive pas.
J'ai l'impression que le fichier XML n'est pas formaté correctement vu le XML error qu'on obtient quand on teste.
Désolé.


Pas de problème, merci de t'être penché sur mon problème déjà :)
Je vais du coup me pencher sur la solution du script php hébergé sur un NAS qui récupère les lignes souhaités du status.html ou status.xml.
Me reste plus qu'à apprendre le php :D

C'est possible de faire des demandes de support de produits à Connected Object?
Dernière édition par xianghua le 19 Août 2015 16:17, édité 1 fois.
xianghua
 
Messages : 302
Inscription : 11 Juil 2015

Re: Capteur Squeezebox, aide sur le xpath

Messagepar thecrow06 » 16 Août 2015 19:36

Je pense que le mieux serait de passé par un plugin dans lms et de crée un actionneur un peut a la methode xbmc

je regarde un peut ce qui est possible de ce coté la
thecrow06
 
Messages : 39
Inscription : 23 Juin 2015

Re: Capteur Squeezebox, aide sur le xpath

Messagepar hugosc » 18 Août 2015 21:18

Pas très élégant, mais semble fonctionner :
//*[local-name()='playmode']
hugosc
 
Messages : 15
Inscription : 19 Sep 2012

Re: Capteur Squeezebox, aide sur le xpath

Messagepar xianghua » 19 Août 2015 05:58

hugosc a écrit:Pas très élégant, mais semble fonctionner :
//*[local-name()='playmode']


Oh énorme merci ça fonctionne !
Du coup c'est //*[local-name()='artist'] pour l'artiste en cours pour ceux qui souhaitent.

C'est pas très élégant car ça recherche dans tout le fichier xml plutôt que uniquement à ligne voulue?
Tant que ça fonctionne, ça me va, merci :)
Problème Squeezebox résolu!
xianghua
 
Messages : 302
Inscription : 11 Juil 2015

Re: Capteur Squeezebox, aide sur le xpath

Messagepar Alphonse Magova » 19 Août 2015 18:05

Super! depuis le temps :D

Merci! Merci!
EEDOMUS+
Alphonse Magova
 
Messages : 247
Inscription : 13 Déc 2014

Suivant

Retour vers Requêtes HTTP

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 3 invité(s)