Universal Media Player refuses to adopt attributes from child entity

Hey everyone,
My Denon AVR is connected through two integrations on HA, with different attributes, so i am trying to combine them into a fully functional one, that incorporates parts of the two parent (or children) entities.

Source_list works great and adopts instantly if i switch the source (from one media player to the other)

Unfortunately, i cannot force the new media player to adopt the sound_mode_list.

I have also tried manually entering the sources (commented out below), it breaks the entity.

I have added comments below on the code on what works and what doesnt and have also pasted the attr list of the new player.

Any ideas?

as a sanity-check, the media player does provide the sound_mode_list:

  - platform: universal
    name: Denon Uni
    unique_id: denon_uni
    device_class: receiver
    attributes:
      source: media_player.denon|source #works_OK!
      source_list: media_player.denon|source_list #works_OK!
      state: media_player.denon_avr_x2600h_2 #works_OK!
      sound_mode: media_player.denon_avr_x2600h_2|sound_mode #works_OK!
      sound_mode_raw: media_player.denon_avr_x2600h_2|sound_mode_raw #does not work but i dont need it
      sound_mode_list: media_player.denon_avr_x2600h_2|sound_mode_list # this refuses to get adopted and is my issue.
      # sound_mode_list:
      #   - MUSIC
      #   - MOVIE
      #   - GAME
      #   - AUTO
      #   - STANDARD
      #   - VIRTUAL
      #   - MATRIX
      #   - ROCK ARENA
      #   - JAZZ CLUB
      #   - VIDEO GAME
      #   - MONO MOVIE
      #   - DIRECT
      #   - PURE DIRECT
      #   - DOLBY DIGITAL
      #   - DTS SURROUND
      #   - AURO3D
      #   - MCH STEREO
      #   - STEREO
      #   - ALL ZONE STEREO
    children:
      - media_player.denon_avr_x2600h_2
      - media_player.denon
    commands:
      turn_on:
        service: media_player.turn_on
        target:
          entity_id: media_player.denon_avr_x2600h_2
      turn_off:
        service: media_player.turn_off
        target:
          entity_id: media_player.denon_avr_x2600h_2

here is the attributes list of the new unified media player:

is_volume_muted: false
source: HEOS Music
sound_mode: MCH STEREO
device_class: receiver
friendly_name: Denon Uni
supported_features: 3080125
source_list: Skai FM, Alpha 98,9 98.9 (Greek Music), Pepper 96.6 (Easy Listening), 87.7 | En Lefko (House), Best 92.6 FM | (Adult Hits), NRG 95 95.0 (Adult Hits), Music 89.2 | (Top 40 & Pop Music), Love 97,5, Galaxy FM 92.0 (Greek Music), 92.9 Kiss | (Top 40 & Pop Music), Athens Deejay FM 95.2 (Adult Hits), Radio Sfera 102.2 (Top 40 & Pop Music), Lampsi 92.3 | (Greek Music), Rythmos, Chromecast, DVD, Blu-ray, XBOX, AUX1, AUX2, Media Player, CD, Tuner, TV Audio, Phono
group_members: null
volume_level: 0.19
media_content_id: 2068574838
media_content_type: music
media_title: Me Ta Matia Na To Les
media_artist: Giorgos Mazonakis
media_album_name: Me Lene Giorgo / Part One (1993-2002)
shuffle: false
repeat: off
active_child: media_player.denon
entity_picture: http://10.0.110.3:8015/local-server/albumart/61913df7197bba293a1f8c7107382999
media_duration: 0
1 Like

Having had a similar issue a few months ago, I was instructed to use both source and source_list to make it work for me … just tried it with sound_mode and _list and this works too. tbh I am not 100% sure why both are needed.

media_player:
  - platform: universal
    name: Denon Living Room
    device_class: receiver
    unique_id: living_room_universal
    children:
      - media_player.denon_avc_x3800h
      - media_player.wiim
      - media_player.samsung
    active_child_template: >
      {% if is_state_attr('media_player.denon_avc_x3800h', 'source', 'Tuner') %}
        media_player.wiim
      {% elif is_state_attr('media_player.denon_avc_x3800h', 'source', 'TV Audio') -%}
        media_player.samsung
      {% else %}
        media_player.denon_avc_x3800h
      {% endif %}
    commands:
      volume_set:
        action: media_player.volume_set
        target:
          entity_id: media_player.denon_avc_x3800h
        data:
          volume_level: "{{ volume_level }}"
      select_source:
        action: media_player.select_source
        target:
          entity_id: media_player.denon_avc_x3800h
        data:
          source: "{{ source }}"          
      select_sound_mode:
        action: media_player.select_sound_mode
        target:
          entity_id: media_player.denon_avc_x3800h
        data:
          sound_mode: "{{ sound_mode }}"
    attributes:
      volume_level: media_player.denon_avc_x3800h|volume_level
      source: media_player.denon_avc_x3800h|source
      source_list: media_player.denon_avc_x3800h|source_list
      sound_mode: media_player.denon_avc_x3800h|sound_mode
      sound_mode_list: media_player.denon_avc_x3800h|sound_mode_list

Unless I missunderstood your suggestion, that’s how I have it. Right?

edit:
setting sourcelist and source to the same entity (denon_avr_x2600h_2) seems to fix it, and sound mode appears in the media_player’s attributes. Radio stations missing from the list - only default, non-heos inputs are available but ok.

Does not appear on the more-info pop up window… but that’s another problem i guess.

You donot have the commands in your yaml above so that will not allow you to select them in a card. Did not check all details and just providing something that works with me