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
  - platform: yamaha

Configuration Variables



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



IP address or hostname of the device.



List of sources to hide in the front-end.



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



List of zones to hide in the front-end.



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

Discovery notes

  • If the discovery integration is enabled, all units on the network will be discovered using UPnP.
  • For receivers that support more than one zone, Home Assistant will add one media player per zone supported by the player, named “$name Zone 2” and “$name Zone 3”.
  • If you specify host manually, you must enable network standby on your receiver, or else startup of Home Assistant will hang if you have your receiver switched off.
  • In some cases, auto-discovery fails due to a known bug in the receiver’s firmware. It is possible to manually specify the receiver’s IP address or via its hostname (if it is discoverable by your DNS) then.

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.

Example configuration

A full configuration example will look like the sample below:

# Example configuration.yaml entry
  - platform: yamaha
      - "AUX"
      - "HDMI6"
      HDMI1: "ChromeCast"
      AV4: "Vinyl"
      - "Zone_2"
      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.
    alias: "Radio Paradise Porch"
      - service: media_player.turn_on
          entity_id: media_player.living_room_stereo_zone_2
      - service: media_player.volume_set
          entity_id: media_player.living_room_stereo_zone_2
          volume_level: 0.48
      - service: media_player.play_media
          entity_id: media_player.living_room_stereo_zone_2
          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.