Yamaha Network Receivers


The yamaha platform allows you to control Yamaha Network Receivers from Home Assistant.

Supported devices:

To add a Yamaha Network Receiver to your installation, add the following to your configuration.yaml file:

# Example configuration.yaml entry
media_player:
  - platform: yamaha

You must enable network standby on your receiver, or else startup of Home Assistant will hang if you have your receiver switched off.

Configuration Variables

name string (Optional)

Name of the device. This overrides the default name (often model number) that is returned by the device.

host string (Optional)

IP address or hostname of the device.

source_ignore list (Optional)

List of sources to hide in the front-end.

source_names list (Optional)

Mapping of internal AVR source names to custom ones, allowing one to rename e.g., HDMI1 to ChromeCast.

zone_ignore list (Optional)

List of zones to hide in the front-end.

zone_names list (Optional)

Mapping of zone names to custom ones, allowing one to rename e.g., Main_Zone to Family Room.

Supported operations

  • Media players created by Yamaha support powering on/off, mute, volume control and source selection. Playback controls, for instance play and stop are available for sources that supports it.
  • The play_media service is implemented for NET RADIO source only. The media_id is a > separated string of the menu path on the vtuner service. For instance Bookmarks>Internet>WAMC 90.3 FM. MusicCast devices use the path Radio>Favorites>WAMC 90.3 FM.

Example configuration

A full configuration example will look like the sample below:

# Example configuration.yaml entry
media_player:
  - platform: yamaha
    host: 192.168.0.10
    source_ignore:
      - "AUX"
      - "HDMI6"
    source_names:
      HDMI1: "ChromeCast"
      AV4: "Vinyl"
    zone_ignore:
      - "Zone_2"
    zone_names:
      Main_Zone: "Family Room"

Example play_media script

The play_media function can be used in scripts easily to build media player presets. When done in scripts, the sequence will also allow you to set volume per source.

# Example play_media script
#
# This is for an environment where Zone 2 of the receiver named
# `Living Room Stereo` drives outdoor speakers on the porch.
script:
 rp_porch:
    alias: "Radio Paradise Porch"
    sequence:
      - service: media_player.turn_on
        target:
          entity_id: media_player.living_room_stereo_zone_2
      - service: media_player.volume_set
        target:
          entity_id: media_player.living_room_stereo_zone_2
        data:
          volume_level: 0.48
      - service: media_player.play_media
        target:
          entity_id: media_player.living_room_stereo_zone_2
        data:
          media_content_type: "NET RADIO"
          media_content_id: "Bookmarks>Internet>Radio Paradise"

Service enable_output

Enable or disable an output port (HDMI) on the receiver.

Service data attribute Optional Description
entity_id yes String or list of strings that point at entity_ids of Yamaha receivers.
port no Port to enable or disable, e.g., hdmi1.
enabled no To enable set true, otherwise set to false.

Service menu_cursor

Control the menu cursor.

Service data attribute Optional Description
entity_id yes String or list of strings that point at entity_ids of Yamaha receivers.
cursor no Name of the cursor key to press: up, down, left, right, select, return

Service select_scene

Select a scene on the receiver.

Service data attribute Optional Description
entity_id yes String or list of strings that point at entity_ids of Yamaha receivers.
scene no Scene to select, e.g., BD/DVD Movie Viewing, TV Viewing, NET Audio Listening or Radio Listening.