Ampli Yamaha RX V677Cette page regroupe des info sur mon ampli audio-vidéo (ampli AV) ainsi que la façon de le piloter via le réseau Ethernet/Wifi de mon domicile.

I- L'ampli Yamaha RX-V677

Je possède un ampli Yamaha RX-V677 depuis quelques années maintenant (acheté le 10/06/2015 déjà !!!) et qui me donne entièrement satisfaction. J'avais profité d'une promotion sur un lot complet avec 5 enceintes Focal (2 colonnes Focus 836VW + 2 compactes B8VW + 1 enceinte centrale CC8VW). Il est capable de lire des fichiers .FLAC nativement (ce qui, en partie, avait présidé à son choix).

J'y ai rajouté un module Bluetooth TP-Link HA-100 (avec NFC que je n'ai jamais utilisé...) qui est alimenté par une prise USB de la chaîne (pas besoin de transfo) et qui a une sortie casque sur laquelle un câble RCA (1 fiche blanche et 1 rouge) va sur l'entrée de la chaîne "AUDIO2" : je peux ainsi diffuser de la musique via mon ordiphone (ou ma vieille tablette). L'entrée AUDIO1 est relié au multi lecteur de CD.
Il possède 2 zones de sortie, ce qui m'a permis de sonoriser en 2017 ma salle de bain avec des enceintes encastrables YAMAHA NS-IC800.

Le seul souci a été avec la fonction NET RADIO et le service https://yradio.vtuner.com/  qui est devenu payant (3$ par an) et qui n'est pas pratique à utiliser. Mis à part cette déconvenue (qu'on peut contourner avec le module Bluetooth), cet ampli me donne pleinement satisfaction.

Important : ce modèle d'ampli n'est pas MusicCast contrairement aux modèles plus récents à partir des séries RX-V...79. Le successeur de mon modèle, le RX-V679 est sorti en 2015 (d'où la promo sur mon ampli...). On verra que ça a une forte incidence sur le pilotage à distance (plus compliqué mais pas moins fonctionnel).

 

II- Pilotage à distance

A- Via l'application pour ordiphone AV Controller

Il s'agit de l'application fournit par Yamaha et consultable ici : https://fr.yamaha.com/fr/products/audio_visual/apps/av_controller/index.html. Franchement, elle est assez pratique à utiliser et remplace avantageusement la télécommande aux très nombreux boutons moins intuitive. C'est mon mode principal d'utilisation (en dehors des automatismes que je décris plus bas).

B- Les différentes API proposées par Yamaha pour piloter ses ampli

J'ai essayer de piloter cet ampli via des automatisations, ce qui m'a obligé à faire des recherches sur les commandes Internet via l'API. Il s'est avéré que Yamaha ne simplifie pas tellement la tâche car il existe 2 systèmes de pilotages différents selon les modèles :

 Voici ci-dessous des liens vers des pages intéressantes permettant de comprendre la distinction :

C- Via le serveur domotique Home Assistant

Cet ampli est pilotable dans Home Assistant comme je le relate dans cette page : [Home Assistant] Quelques réglages utiles.
Par contre, l'intégration Yamaha qui existe pour Home Assistant ne fonctionne pas avec mon modèle d'ampli (qui je le rappelle n'est pas MusicCast).

 

D- Pilotage via des lignes de commandes dans un terminal ou VSCodium

On peut envoyer des commandes "HTTP Request" via un terminal ou dans VSCodium (à condition d'avoir installer l'extension Rest Client et de travailler avec un fichier avec l'extension .http).

Exemple de commande pour allumer l'ampli ayant l'adresse IP 192.168.1.50 avec la commande curl :

curl -X POST http://192.168.1.50/YamahaRemoteControl/ctrl -d '{"post_data":"<YAMAHA_AV cmd="PUT"><System><Power_Control><Power>On</Power></Power_Control></System></YAMAHA_AV>"}'
 
E- Utilisation de l'application Postman
Postman permet de tester des API en envoyant des requêtes. Je ne connaissais pas du tout cet outil mail il m'a permis en tatônnant de savoir comment fonctionnait l'API xml de Yamaha.
Site : https://www.postman.com/ (il est nécessaire de s'enregistrer pour l'utiliser...)
Voici par exemple, un essai réussi envoyant une requête POST dans Postman pour allumer l'ampli :
 
F- Utilisation de l'application Automate dans Android
Automate est une application permettant d'automatiser des actions pour son téléphone sous Android : c'est de la programmation par blocs qui ressemble à Node-Red pour ceux et celles qui connaissent.
Site officiel : https://llamalab.com/automate/
La version gratuite est limitée à 30 blocs travaillant simultanément, sans publicité ou autre désagrément, ce qui est largement suffisant pour découvrir la puissance de cette application. Je vous conseille, comme moi, de soutenir ses développeur⋅euses en payant les 3,90€ demandés 😉 pour lever cette limitation, somme très raisonnable au demeurant.
Il faut dire qu'il faut prendre le temps de rentrer dans cette application mais avec le cas de mon ampli très particulier, je me suis rendu compte de sa puissance. Et puis rien de mieux qu'un projet bien concret pour se familiariser avec l'outil.
 
Mon besoinLorsque je me trouve dans la salle de bain ou le salon, lancer automatiquement la musique (Radio Paradise, DS Audio de mon NAS Synology, Application radio France Inter, ...) diffusée de mon ordiphone par bluetooth vers mon ampli, en appuyant sur une seule icône de mon ordiphone.
J'avais bien un scénario dans Home Assistant mais ce scénario était incomplet : allumage/extinction de l'ampli en zone2 (salle de bain) ou principale (salon). Il restait donc encore à connecter le bluetooth du téléphone sur le récepteur TP-Link de l'ampli et à lancer l'application audio du téléphone : ce qui est fastidieux. Ça serait tellement mieux si on n'avait qu'à appuyer sur un bouton.
Pré-réglage : par défaut, l'input de ma "Zone 2" est sur l'entrée qui correspond à celle de l'adaptateur bluetooth de l'ampli (entrée AUDIO 2 que j'ai nommée "Bluetooth"). On pourrait tout à fait prévoir ce réglage dans le flow ci-dessous mais dans mon cas c'est inutile car je ne modifie pas l'entrée de cette zone.
Edit : j'ai rajouté la brique permettant de sélectionner l'entrée AUDIO2 avec la 7e brique BIS qui n'est pas sur la capture d'écran du flow ci-dessous.
 
 Voici ci-contre mon "Flow" Automate intitulé "Radio Parad. SdB", obtenu non sans mal 😉 :
 
  • Brique "Flow beginning" : il s'agit de la 1ère brique. En cliquant dessus pour la paramétrer, on a accès à l'action intitulée en bleu "INSTALL HOME SCREEN SHORTCUT" permettant de déposer une icône de raccourci sur son écran d'accueil de l'ordiphone.
  • 2e brique : "Bluetooth enabled?" qui vérifie si le bluetooth est activé ou non sur son téléphone avec option "Proceed" fixée à "Immediately".
  • 3e brique reliée au NO de la brique précédente : "Bluetooth set state" réglée sur 'On".
  • 4e brique relié au YES de la 2e brique : "Bluetooth device connected" qui vérifie si un adaptateur bluetooth est connecté, avec option "Proceed" fixée à "Immediately" et l'appareil (choisit via le lien bleu "PICK DEVICE") réglé sur mon adaptateur bluetooth "TP-Link_Music".
  • 5e brique reliée au NO de la brique précedente : "Bluetooth device connect" qui connecte l'ordiphone à mon adaptateur bluetooth "TP-Link_Music" (en le sélectionnant comme précédemment).
  • 6e brique reliée aux YES des briques 4 et 5 : "Notification show" avec "Proceed" réglé sur "Immediately" (sinon il faut cliquer sur la notification pour que se poursuive l'action") et avec un message a affiché. Cette brique n'est pas tellement utile car la notification est trop rapide (invisible). Il faudrait trouver un timer...
  • 7e brique reliée au YES de la brique précédente : "HTTP request". C'est elle qui allume l'ampli et c'est celle qui m'a pris le plus de temps à paramétrer car le code xml avec les instructions à réaliser est de forme particulière (voir ici : https://gist.github.com/albulescu/544f7464724d2fe08de668ff7102d302).
    Voici ses arguments :
    Request url -> http://192.168.1.50/YamahaRemoteControl/ctrl
    Request method -> POST
    Request content type -> XML
    Request content body ->
    { "type": "string", "default": "<?xml version=\"1.0\" encoding=\"utf-8\"?><YAMAHA_AV cmd=\"PUT\"><Zone_2><Power_Control><Power>On</power></Power_Control></Zone_2></YAMAHA_AV>" }

  • Variante pour la 7e brique en passant par un fichier xml au lieu de compléter le champ "Request content body" :
    Request content body -> laisser vide
    Request content path -> Download/Power_On.xml (il s'agit du chemin vers le fichier .xml pour la commande à effectuer).
    Voici le contenu du fichier "Power_On.xml" :

<?xml version="1.0" encoding="utf-8"?>
<YAMAHA_AV cmd="PUT">
     <System>
         <Power_Control>
             <Power>On</Power>
         </Power_Control>
     </System>
</YAMAHA_AV>

  • 7e brique BIS (non présente dans le schéma ci-contre) pour sélectionner l'entrée AUDIO2 (sur laquelle est branché le module Bluetooth TP_Link_Music) pour la zone 2, du type "HTTP request". Contenu du champ "Request content body" :
    {"type": "string", "default": "<?xml version=\"1.0\" encoding=\"utf-8\"?><YAMAHA_AV cmd="\PUT\"><Zone_2><Input><Input_Sel>AUDIO2</Input_Sel></Zone_2></YAMAHA_AV>"}

  • 8e brique reliée au OK de la brique précédente : "App start" où on choisit dans le champ "Package", l'application audio que l'on souhaite utiliser. Pour Radio Paradise, il s'agit du package "com.eartflare.android.radioparadisewidget.gpv2" (qu'on retrouve avec RP dans la barre de recherche). J'ai coché dans les paramètres "Audio Settings" la case "Auto play on launch" permettant de lancer la lecture dès l'ouverture de l'application, ce qui fait gagner un clic.

Ce flow est téléchargeable au bas de cette page.

 

G- Liste des principales commandes de l'API xml

Pour avoir des l'API xml de Yamaha, voir cette page : https://github.com/flhoest/Yamaha/blob/main/yamFramework.php d'où sont tirés les exemples ci-dessous (à tester) :
Si l'on veut agir sur la zone principale, on utilisera la balise <Main_Zone>. Si l'on veut agir sur la zone 2, on remplacera avec la balise <Zone_2>.

Allumer toutes les zones (principale + zone 2) :
<yamaha_av cmd="\PUT\"><system><power_control><power>On</power></power_control></system></yamaha_av>

Allumer dans la zone principale (main_zone) :
<yamaha_av cmd="\PUT\"><main_zone><power_control><power>On</power></power_control></main_zone></yamaha_av>

Éteindre dans la zone principale (main_zone) :
<yamaha_av cmd="\PUT\"><main_zone><power_control><power>Standby</power></power_control></main_zone></yamaha_av>

Mettre en sourdine la zone principale :
<yamaha_av cmd="\PUT\"><main_zone><volume><mute>On/Off</mute></volume></main_zone></yamaha_av>

Augmenter le volume dans la zone principale :
<yamaha_av cmd="\PUT\"><main_zone><volume><lvl><val>Up 5 dB</val><exp></exp><unit></unit></lvl></volume></main_zone></yamaha_av>

Diminuer le volume dans la zone principale :
<yamaha_av cmd="\PUT\"><main_zone><volume><lvl><val>Down 5 dB</val><exp></exp><unit></unit></lvl></volume></main_zone></yamaha_av>

Sélectionner l'entrée AV5 :
<yamaha_av cmd="\PUT\"><main_zone><input><input_sel>AV5</input_sel></input></main_zone></yamaha_av>

Sélectionner l'entrée AUDIO2 :
<yamaha_av cmd="\PUT\"><main_zone><input><input_sel>AUDIO2</input_sel></input></main_zone></yamaha_av>

Sélectionner l'entrée HDMI1 :
<yamaha_av cmd="\PUT\"><main_zone><input><input_sel>HDMI1</input_sel></input></main_zone></yamaha_av>

Obtenir le status de la zone principale :
<yamaha_av cmd="\GET\"><main_zone><basic_status>GetParam</basic_status></main_zone></yamaha_av>

Régler le volume à 45 :
<yamaha_av cmd="\PUT\"><main_zone><volume><lvl><val>-450</val><exp>1</exp><unit>dB</unit></lvl></volume></main_zone></yamaha_av>

Régler le volume à une valeur précise :
<yamaha_av cmd="\PUT\"><main_zone><volume><lvl><val>!!VALUE!!</val><exp>1</exp><unit>dB</unit></lvl></volume></main_zone></yamaha_av>

 

Lien vers toutes les commandes API xml sous forme de tableur : http://www.awe-europe.com/documents/Control%20Docs/Yamaha/RX_73%20Spec_UK_Ireland.zip (sous Excel et avec des macros, GRRR...).

Pièces jointes
Flow pour appli Automate [869O]
Téléchargé Il y a 2 semaines. par Webmestre