diff --git a/source/_integrations/roon.markdown b/source/_integrations/roon.markdown index 2aca290e722..0621bc3f4ab 100644 --- a/source/_integrations/roon.markdown +++ b/source/_integrations/roon.markdown @@ -10,6 +10,7 @@ ha_codeowners: - '@pavoni' ha_domain: roon ha_platforms: + - event - media_player ha_integration_type: integration --- @@ -49,3 +50,71 @@ Transfer playback from one player to another. | ---------------------- | -------- | ----------------------------- | | `entity_id` | yes | id of the source player. | | `transfer_id` | no | id of the destination player. | + +## Roon endpoint volume control via Home Assistant + +For media players that are not fully integrated into roon, it is possible to use Home Assistant to implement a volume control service. This allows the native Roon apps to change the volume of an endpoint via automation in Home Assistant. + +For example if you have an amplifier where the volume can be controlled by Home Assistant (perhaps via an integration, or using an IR Blaster) you can have the roon apps use these to change volume. + +### Configuration in Roon + +The first step is to tell Roon to use Home Assistant to make volume changes. You do this in the roon app. First select the zone you wish to control; click on the cog item to enter Zone Setup, and then select Device Setup. + +![Roon volume options](/images/integrations/roon/roon_volume_options.png) + +One of the options shown is Volume Control. Alongside the normal roon options (such as DSP Volume) you will see a series of options called Home Assistant: *Zone Name*. Choose the option that matches the zone you are configuring. + +The Roon volume control will now show plus and minus buttons rather than a volume control slider. + +### Automation in Home Assistant + +Clicking on the plus and minus buttons in Roon can now trigger an automation in the volume control entity matching the media_player in Home Assistant. + +In this autimation you can use Home Assistant services to provide `volume_up` and `volume_down`. + +Here is an example automation using an IR blaster to control `media_player_study` + +```yaml +alias: Roon Study Volume +description: "" +trigger: + - platform: state + entity_id: + - event.study_roon_volume +action: + - choose: + - conditions: + - condition: state + entity_id: event.study_roon_volume + attribute: event_type + state: volume_up + sequence: + - service: remote.send_command + data: + num_repeats: 1 + delay_secs: 0.4 + hold_secs: 0 + device: amplifier + command: volume_up + target: + entity_id: remote.ir_blaster + - conditions: + - condition: state + entity_id: event.study_roon_volume + attribute: event_type + state: volume_down + sequence: + - service: remote.send_command + data: + num_repeats: 1 + delay_secs: 0.4 + hold_secs: 0 + device: amplifier + command: volume_down + target: + entity_id: remote.ir_blaster +mode: queued + +``` + diff --git a/source/images/integrations/roon/roon_volume_options.png b/source/images/integrations/roon/roon_volume_options.png new file mode 100644 index 00000000000..19acc50d2b4 Binary files /dev/null and b/source/images/integrations/roon/roon_volume_options.png differ