Contrôler son ampli Home Cinema Pioneer par requête http
Les amplis Home-cinema Pioneer se connectent à votre réseau local par câble ethernet ou réseau Wifi. Ils peuvent être pilotés à distance par une box domotique ou autre dispositif. Historiquement ce pilotage s’effectuait par connection telnet. Ce type de connection demande côté contrôleur un client telnet qui n’est pas forcément disponible.
Une autre méthode de contrôle moins documentée passe par des requètes http. Cette méthode peut ne pas s’appliquer à tous les modèles, en particulier les plus anciens. Je vais maintenir une liste de compatibilité si vous m’indiquez le résultat de vos essais.
Compatibilité
Modèle | Vérifié le | Requête http |
---|---|---|
Pioneer SC-LX59 | 01 nov. 2016 | Compatible |
Pour vérifier la compatibilité de votre ampli :
- Déterminer l’adresse IP de votre amplificateur Home Cinéma.
Dans le cas du modèle SC-LX59, l’adresse apparaît sur la TV ou l’afficheur de l’amplificateur en appuyant sur la touche STATUS de la télécommande
- Dans un navigateur internet ouvrez la page à l’adresse suivante : http://Adresse_IP_ampli/StatusHandler.asp
Vous devriez avoir une réponse du type :
{"Z":[{"MZ":{"P":1,"V":117,"M":0,"F":25}},{"Z2":{"P":0,"V": 21,"M":0,"F": 6}},{"Z3":{"P":0,"V": 21,"M":0,"F": 6}},{"HZ":{"P":0,"V": 21,"M":0,"F":25}}],"DSP":2,"L":"0881","A": 3,"HOA":1,"LC":"STS" ,"MA":0,"MS":"0000000","MC":0,"HP":0,"HM":0 ,"DLBES":1,"DLBSR":1,"MN":"SC-LX59/SYXJ8"}
- Une réponse de ce type devrait confirmer la compatibilité de votre amplificateur aux requêtes http ( j’attend vos confirmations sur d’autres modèles )
Vous pouvez continuer votre lecture 🙂
Format des requêtes
Requête demande de statut
C’est la requête que nous venons de voir renvoyant le status de l’appareil.
Format : http://Adresse_IP_ampli/StatusHandler.asp
Exemple : http://192.168.0.201/StatusHandler.asp
Il n’y a pas d’argument en entrée. La réponse est au format JSON. Si l’on détaille quelques peu son contenu on y retrouve :
- Un status sur les différentes zones audio de l’ampli, le bloc « Z » contenant
- La zone Principale « MZ »
- La zone secondaire « Z2 » si disponible
- et les zones audio suivantes en fonction des capacités de votre amplificateur
- Les données présentées pour chacune des zones sont identiques :
- « P » : Zone allumée (1) ou éteinte (0)
- « V » : volume défini suivant fichier excel en provenance de Pioneer
- « M » : Mute activée (1) ou pas (0)
- « F » : Entrée sélectionnée suivant fichier excel en provenance de Pioneer
- Je n’ai pour le moment pas cherché à savoir ce que signifiaient les valeurs suivantes, mais leur signification doit apparaître dans le fichier excel
Requête de contrôle de l’amplificateur
Cette requête permet de modifier les paramètres de l’amplificateur (volume, entrée, …)
Format : http://Adresse_IP_ampli/EventHandler.asp?WebToHostItem=
Exemple : http://192.168.0.201/EventHandler.asp?WebToHostItem=PF
Il y a un argument à rajouter derrière le « = » qui est la commande à envoyer. Pas de retour particulier à cette commande sauf le code de status http standard réponse à la requête.
Les codes à utiliser sont strictement identiques à ceux qu’on peut envoyer par telnet. Tous ces codes sont présentés exhaustivement dans le fichier excel fourni par Pioneer .
Mise en place de périphériques de contrôle sur eedomus
Je souhaite avoir accès à seulement trois paramètres : Power, Volume, sélection d’entrée. J’ai donc créé trois périphériques http actionneur sous eedomus pour chacun des trois paramètres.
L’article L’opérateur Free propose les alertes SMS gratuites présente la procédure de création de tels actionneurs.
Les valeurs à définir pour chacun des périphériques sont décrites ci-dessous.
Contrôle Power ON/OFF
La requête de mise à jour doit contenir les valeurs suivantes :
- Requête de mise à jour =
http://Adresse_IP_ampli/StatusHandler.asp
- Chemin XPATH (pour zone audio principale) =
(//MZ/P) * 100
- N’oubliez pas de cocher l’option « Convertir le JSON en XML »
Les valeurs de l’actionneur sont les suivantes :
- OFF =
http://Adresse_IP_Ampli/EventHandler.asp?WebToHostItem=PF
- ON =
http://Adresse_IP_Ampli/EventHandler.asp?WebToHostItem=PO
Sélection d’entrée
La requête de mise à jour doit contenir les valeurs suivantes :
- Requête de mise à jour =
http://Adresse_IP_ampli/StatusHandler.asp
- Chemin XPATH (pour zone audio principale) =
//MZ/F
Les valeurs de l’actionneur sont nombreuses, elles sont toutes listées dans le fichier excel . Voici un extrait de celles qui me sont utiles :
- Entrée HDMI1 =
http://Adresse_IP_Ampli/EventHandler.asp?WebToHostItem=19FN
- Entrée HDMI2 =
http://Adresse_IP_Ampli/EventHandler.asp?WebToHostItem=20FN
- Entrée HDMI3 =
http://Adresse_IP_Ampli/EventHandler.asp?WebToHostItem=21FN
- Entrée HDMI4 =
http://Adresse_IP_Ampli/EventHandler.asp?WebToHostItem=22FN
- Entrée HDMI5 =
http://Adresse_IP_Ampli/EventHandler.asp?WebToHostItem=23FN
- Entrée HDMI6 =
http://Adresse_IP_Ampli/EventHandler.asp?WebToHostItem=24FN
- Entrée Bluray =
http://Adresse_IP_Ampli/EventHandler.asp?WebToHostItem=25FN
Réglage du volume
Je contrôle le volume par pas de 5dB. Un réglage plus fin peut être possible, le pas de l’amplificateur étant de 0,5dB. Le changement de pas implique de rajouter des valeurs intermédiaires et d’adapter la façon d’arrondir la requête de mise à jour (exemple pour un pas de 2,5dB, elle est modifiée en ... div 5)) * 5 ...
).
La plage de réglage de volume s’étend de -80 dB (valeur 1) à +12dB (valeur 185). L’incrément de 1 de la valeur représente l’augmentation de volume de 0,5dB.
La requête de mise à jour doit contenir les valeurs suivantes :
- Requête de mise à jour =
http://Adresse_IP_ampli/StatusHandler.asp
- Chemin XPATH (pour zone audio principale) =
(round((//MZ/V - 1) div 10)) * 10 + 1
Voici le début de la liste des valeurs d’action pour les volumes :
- Volume -80dB =
http://Adresse_IP_Ampli/EventHandler.asp?WebToHostItem=001VL
- Volume -75dB =
http://Adresse_IP_Ampli/EventHandler.asp?WebToHostItem=011VL
- Volumen -70dB =
http://Adresse_IP_Ampli/EventHandler.asp?WebToHostItem=021VL
- Volume -65dB =
http://Adresse_IP_Ampli/EventHandler.asp?WebToHostItem=031VL
- Volume -60dB =
http://Adresse_IP_Ampli/EventHandler.asp?WebToHostItem=041VL
- …
Witam .
Wszystko działa bardzo prawidłowo, mam jednak problem z wybudzeniem amplitunera VSX924 ze standby.
próbowałem wysłać komendę dwukrotnie, ale nic nie przynosi skutku.
Jeśli zna Pan rozwiązanie proszę o podpowiedź.
Drugie moje pytanie dotyczy odczytu wartości poziomu dźwięku danej strefy. Mogę odczytać status urządzenia , ale jeśli chciałbym wyświetlić coś na przykład tworząc aplikację na tablet to nie wiem jak to wyciągnąć .
Pozdrawiam
Marek Dyk
In English :
Everything works very well, but I have a problem with waking the VSX924 from standby.
i tried to send the command twice but nothing works.
If you know the solution, please give me a hint.
My second question concerns the reading of the sound level of a given zone. I can read the status of the device, but if I would like to display something, for example by creating an application for a tablet, I don’t know how to get it.
Regards
Marek Dyk
To be honest with you I don’t remember having used wake up command. In my setup we power on manually amplifier which implies powering up other elements.
Regarding how to use it to display on a tablet, it depends on the skills you have, do you know how to program ? In my case I have an entire smarthome system , all smarthome systems are able to do http request and read back the value, also they have capacity to have funny display of values. Here is some example of free smarthome software to be installed on a server or a raspberry pi (for instance ) : jeedom, home assistant, domotics, … You can also buy a smarthome controller which will have such capacity. I used to use Eedomus controller.
Another way to do is to use Tasker which is an android application. It’s also able to do http request, and you can setup a display panel to show those values. However, this it a bit difficult to correctly set a panel because it has to be done directly on a smartphone or tablet with touchscreen.