Les amplis Yamaha RX-V et RX-A récents disposent du Dolby Atmos et Dolby Audio 5.1 en plus des DTS et autres. C’est merveilleux, mais si vous écoutez des playlists où des morceaux stéréo se mêlent à des morceaux Atmos, vous passez régulièrement d’un son sur 2 enceintes à 5 enceintes ou plus.
Donc soit vous passez tout en All-Ch Stereo. A ce moment, les fichiers stéréo sont lus sur toutes les enceintes, surround y compris, avec une répartition droite/gauche. Les Atmos sont downmixés en stéréo également.
Soit vous vous amusez à changer manuellement vers le mode Straight pour profiter des Atmos en original, et vers All-Ch Stereo pour spatialiser les morceaux stéréo.
Il n’est pas possible de faire autrement car les Yamaha ne proposent pas un mode de basculement automatique et l’API ne fournit aucune info exploitable pour un traitement classique via HA (intégrations YNCA ou Musiccast).
En bidouillant, j’ai réussi à contourner cette limitation, qui évidemment est valable pour les vidéos, streaming, etc.
***
Le concept:
L’ampli produit deux fils d’info, dont un nous est utile, accessibles via son IP. Nous allons récupérer le fil qui nous intéresse, le filtrer et nous en servir pour alimenter un capteur que nous allons créer.
***
Ce qu’il vous faut:
- L’intégration Scrape.
- L’intégration YNCA ou Musiccast, qui contrôlent l’ampli.
***
Méthode:
-
Dans Scrape, remplissez ces champs:
Ecran 1:http://IP_DE_VOTRE_YAMAHA/YamahaExtendedControl/v1/main/getSignalInfo
Les autres champs restent vides.
Ecran 2:
Nom:NOM DE VOTRE CAPTEUR(ici ce sera sensor.yamaha_rx_a2a_signal_audio)
Sélectionner:body
Méthode de valeur:{{ (value | from_json).audio.format | replace(‹ / ›, ‹ / ›) }} -
Créez une automatisation qui va rafraichir ce capteur quand un de vos lecteurs média change d’état ou les métadonnées d’un titre, ou que l’ampli change de source. J’ai
alias: yamaha_rx_a2a_signal_audio_donnees_rafraichir description: Actualise le format audio lors d’un changement de contenu ou de source triggers: trigger: state entity_id: media_player.salon_2 to: playing trigger: state entity_id: media_player.salon_2 attribute: media_title trigger: state entity_id: media_player.rx_a2a_main attribute: source actions: delay: hours: 0 minutes: 0 seconds: 2 milliseconds: 0 action: homeassistant.update_entity target: entity_id: sensor.yamaha_rx_a2a_signal_audio delay: hours: 0 minutes: 0 seconds: 3 milliseconds: 0 action: homeassistant.update_entity target: entity_id: sensor.yamaha_rx_a2a_signal_audio mode: restart -
Si vous voulez, vous pouvez “habiller” le capteur créé en 1 et simplifier le traitement postérieur en créant un second capteur avec ce code dans votre configuration.yaml:
- sensor: - name: "yamaha_rx_a2a_audio_multi_ou_stereo" unique_id: yamaha_rx_a2a_audio_multi_ou_stereo state: > {% set format = states('sensor.yamaha_rx_a2a_signal_audio') %} {% if 'Atmos' in format or 'TrueHD' in format or 'Digital' in format or 'DTS' in format %} audio_multicanal {% else %} audio_stereo {% endif %} attributes: affichage: > {% set format = states('sensor.yamaha_rx_a2a_signal_audio') %} {% if 'Atmos' in format or 'TrueHD' in format or 'Digital' in format or 'DTS' in format %} Multicanal {% else %} Stéréo {% endif %} icon: > {% set format = states('sensor.yamaha_rx_a2a_signal_audio') %} {% if 'Atmos' in format or 'TrueHD' in format %} mdi:dolby {% elif 'Digital' in format or 'DTS' in format %} mdi:surround-sound {% else %} mdi:speaker-stereo {% endif %}-
Créez une automatisation sur base de ce dernier capteur (c’est plus simple car elle dépendra de l’état Stéréo ou Multicanal) pour actionner le DSP du Yamaha avec l’intégration YNCA ou Musiccast. (J’ai également créé un capteur binaire pour me laisser le choix d’un basculement automatique ou manuel - comme avant. Sa trace apparait dans le code ci-dessous)
Par exemple:alias: salon_yamaha_rx_a2a_mode_audio_autoswitch description: Bascule le mode sonore et synchronise le bouton virtuel triggers: entity_id: sensor.yamaha_rx_a2a_audio_multi_ou_stereo trigger: state conditions: condition: device device_id: 6a58ffabbd759341eb7c8ac89b31f874 domain: media_player entity_id: media_player.yamaha_rx_a2a_main type: is_on condition: state entity_id: input_boolean.yamaha_rx_a2a_mode_audio_autoswitch state: « on » actions: choose: conditions: condition: state entity_id: sensor.yamaha_rx_a2a_audio_multi_ou_stereo state: audio_multicanal sequence: action: media_player.select_sound_mode target: device_id: 6a58ffabbd759341eb7c8ac89b31f874 data: sound_mode: Straight action: input_boolean.turn_on target: entity_id: input_boolean.yamaha_rx_a2a_soundmode_straight conditions: condition: state entity_id: sensor.yamaha_rx_a2a_audio_multi_ou_stereo state: audio_stereo sequence: action: media_player.select_sound_mode target: device_id: 6a58ffabbd759341eb7c8ac89b31f874 data: sound_mode: All-Ch Stereo action: input_boolean.turn_off target: entity_id: input_boolean.yamaha_rx_a2a_soundmode_straight data: {} mode: restart -
Sur le Yamaha (pas l’intégration donc), j’ai également aligné “soniquement” le mode All-Ch Stereo sur le Straight.
Réglages > Son > All-Channel Stereo:
Niveau: <0>
Balance av./arr.: +1
Balance gche/dte: 0
Monaural Mix: Désactivé
-

