diff --git a/source/_integrations/heos.markdown b/source/_integrations/heos.markdown index cb12ee09b6a..8fba4803b74 100644 --- a/source/_integrations/heos.markdown +++ b/source/_integrations/heos.markdown @@ -144,6 +144,7 @@ For removing a HEOS player from a group you can use the `media_player.unjoin` se ## Notes - Receivers with multiple zones are represented as a single media player. They will be turned on when playback is started, but cannot be turned off by the integration at this time. +- [Denon AVR](/integrations/denonar/) and HEOS media players can be combined into a [Universal Media Player](/integrations/universal/#denon-avr--heos) ## Troubleshooing diff --git a/source/_integrations/universal.markdown b/source/_integrations/universal.markdown index 5838f0199e3..b2fb1e6959d 100644 --- a/source/_integrations/universal.markdown +++ b/source/_integrations/universal.markdown @@ -327,6 +327,61 @@ media_player: {% endraw %} +### Denon AVR & HEOS + +This media player combines the media players provided by the [Denon AVR](/integrations/denonavr/) and [HEOS](/integrations/heos/) integrations. + +Features: +- Volume control via Denon entity (might be more fine-granular than HEOS volume control) +- ON/OFF button via Denon entity (not provided by HEOS media player) +- Sound mode selector via Denon entity (not provided by HEOS media player) +- Album art & Metadata via HEOS entity (not provided by Denon media player) + +The complete configuration is: + +{% raw %} + +```yaml +media_player: + - platform: universal + name: Denon + unique_id: denon_universal_remote + device_class: receiver + children: + - media_player.denon_avr_x2700h # Denon AVR Integration entity + - media_player.denon_avr_x2700h_heos # Denon HEOS Integration entity + browse_media_entity: media_player.denon_avr_x2700h_heos + commands: + turn_off: + service: media_player.turn_off + data: + entity_id: media_player.denon_avr_x2700h + turn_on: + service: media_player.turn_on + data: + entity_id: media_player.denon_avr_x2700h + volume_up: + service: media_player.volume_up + data: + entity_id: media_player.denon_avr_x2700h + volume_down: + service: media_player.volume_down + data: + entity_id: media_player.denon_avr_x2700h + select_sound_mode: + service: media_player.select_sound_mode + target: + entity_id: media_player.denon_avr_x2700h + data: + sound_mode: "{{ sound_mode }}" + attributes: + sound_mode: media_player.denon_avr_x2700h|sound_mode + sound_mode_raw: media_player.denon_avr_x2700h|sound_mode_raw + sound_mode_list: media_player.denon_avr_x2700h|sound_mode_list +``` + +{% endraw %} + ### Override active children This example shows how you can use `active_child_template`: