# Yamaha Receiver Binding This binding connects openHAB with Yamaha Receivers of product line CX-A5000, RX-A860, RX-A30xx, RX-A20xx, RX-A10xx, RX-Vxxx, RX-Z7, DSP-Z7, RX-S600, RX-S601D, HTR-xxxx. If your hardware is on the list but still does not work, please fill a bug report! If your Yamaha receiver is not on the list, it likely is a newer model that supports MusicCast, please try the [MusicCast Binding](https://www.openhab.org/addons/bindings/yamahamusiccast/) instead. ## Supported Things | Thing | Type | Description | |----------|--------|--------------------------| | yamahaAV | Bridge | Yamaha Receiver hardware | | zone | Thing | Zones of your receiver | ## Discovery Just use the auto discovery feature to detect your hardware. Initially a thing for the main zone will be created. This will trigger a zone detection internally and all available additional zones will appear as new things. ## Thing Configuration To manually add a receiver and its zones a `things/yamahareceiver.things` file could look like this: ```java Bridge yamahareceiver:yamahaAV:ReceiverID "Yamaha Receiver Bridge Name" [host="a.b.c.d", refreshInterval=20] { Thing zone ZoneID1 "Main Zone Thing Name" @ "location" [zone="Main_Zone", volumeDbMin=-81, volumeDbMax=12] Thing zone ZoneID2 "Zone 2 Thing Name" @ "location" [zone="Zone_2"] Thing zone ZoneID3 "Zone 3 Thing Name" @ "location" [zone="Zone_3"] Thing zone ZoneID4 "Zone 4 Thing Name" @ "location" [zone="Zone_4"] } ``` Configuration parameters for Bridge `yamahaAV`: | Parameter | Required | Default | Description | |-------------------|----------|--------------------|------------------------------------------------------------------------------------------------------------------------------------------------------| | `host` | yes | N/A | The IP address of the AVR to control | | `port` | no | 80 | The API port of the AVR to control | | `refreshInterval` | no | 60 | Refresh interval in seconds | | `albumUrl` | no | embedded image URL | When the album image is not provided by the Yamaha input source, you can specify the default image URL to apply | | `inputMapping` | no | "" (empty string) | Some Yamaha models return different input values on status update than required in the change input commands. See [below](#input-values) for details | Configruation parameters for Thing `zone`: | Parameter | Required | Default | Description | |------------------------------|----------|---------|----------------------------------------------------------------------------| | `zone` | yes | / | The zone can be Main_Zone, Zone_2, Zone_3, Zone_4 depending on your device | | `volumeRelativeChangeFactor` | no | 2 | Relative volume change in percent | | `volumeDbMin` | no | -80 | Lowest volume in dB | | `volumeDbMax` | no | 12 | Highest volume in dB | ## Channels The implemented channels for the `yamahaAV` bridge are: | Channel | openHAB Type | Comment | |---------------------|--------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | `power` | `Switch` | Switches the AVR ON or OFF. Your receiver has to be in network standby for this to work. | | `party_mode` | `Switch` | Switches the party mode. May not be supported on all models. | | `party_mode_mute` | `Switch` | Switches the mute ON or OFF when in party mode. Write only (state updates are not available). Applicable only when party mode is on. May not be supported on all models. | | `party_mode_volume` | `Dimmer` | Increase or decrease volume when in party mode. Write only (state updates are not available). INCREASE / DECREASE commands only. Applicable only when party mode is on. May not be supported on all models. | The implemented channels for a `zone` thing are grouped in three groups. These are the zones supported: `Main_Zone`, `Zone_2`, `Zone_3`, `Zone_4`. Zone control channels are: | Channel | openHAB Type | Comment | |-----------------------------------------------|--------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | `zone_channels#power` | `Switch` | Switches the zone ON or OFF. Your receiver has to be in network standby for this to work. | | `zone_channels#mute` | `Switch` | Mute or Unmute the receiver. | | `zone_channels#volume` | `Dimmer` | Sets the receivers volume as percentage. | | `zone_channels#volumeDB` | `Number` | Sets the receivers volume in dB. | | `zone_channels#input` | `String` | Sets the input selection, depends on your receiver's real inputs. Examples: HDMI1, HDMI2, AV4, TUNER, NET RADIO, etc. | | `zone_channels#surroundProgram` | `String` | Sets the surround mode. Examples: `2ch Stereo`, `7ch Stereo`, `Hall in Munic`, `Straight`, `Surround Decoder`. | | `zone_channels#scene` | `String` | Sets the scene. Examples: `Scene 1`, `Scene 2`, `Scene 3`, `Scene 4`. Write only (state updates are not available). May not be supported on all models (e.g. RX-V3900). | | `zone_channels#dialogueLevel` | `Number` | Sets the receivers dialogue level. May not be supported on all models. | | `zone_channels#hdmi1Out` | `Number` | Switches the HDMI1 Output ON or OFF (channel in desc.xml is placed in Main_Zone but in fact it is more some kind of system parameter). May not be supported on all models. | | `zone_channels#hdmi2Out` | `Number` | Switches the HDMI2 Output ON or OFF (channel is desc.xml is placed in Main_Zone but in fact it is more some kind of system parameter). May not be supported on all models. | | `playback_channels#preset` | `Number` | Set a preset. Not supported by `Spotify` input. For `NET RADIO` input there is no way to get current preset (tested on RX-S601D, RX-V3900), so the preset is write only. For RX-V3900 the presets are alphanumeric `A1`,`A2`,`B1`,`B2` thus you need to use numbers grater than 100 that represent these presets as follows: 101, 102, 201, 202. | | `playback_channels#playback` | `String` | Set a play mode or get the current play mode. Values supported: `Previous`, `Play`, `Pause`, `Stop`, `Next`. Applies for inputs which support playback (`Spotify`, `SERVER`, `NET RADIO`, `Bluetooth`). Note that some values may not be supported on certain input type and AVR model combination. For `Spotify` and `Bluetooth` all values work, but for `NET RADIO` input only `Play` and `Stop` are supported (tested on RX-S601D). | | `playback_channels#playback_station` | `String` | Get the current played station (radio). Applies to `TUNER` and `NET RADIO` inputs only. | | `playback_channels#playback_artist` | `String` | Get the current played artist. | | `playback_channels#playback_album` | `String` | Get the current played album. | | `playback_channels#playback_song` | `String` | Get the current played song. | | `playback_channels#playback_song_image_url` | `String` | Get the current played song image URL. Applies to `Spotify` and `NET RADIO` inputs only. | | `playback_channels#tuner_band` | `String` | Set the band (FM or DAB) for tuner input when device supports DAB+ (e.g. RX-S601D). Values supported: `FM`, `DAB`. Applies to `TUNER` input only. | | `navigation_channels#navigation_menu` | `String` | Select or display the full or relative path to an item. | | `navigation_channels#navigation_current_item` | `Number` | Get the current item of the current menu. | | `navigation_channels#navigation_total_items` | `Number` | Get the total count items in the current menu. | | `navigation_channels#navigation_level` | `Number` | Get the current menu level. | | `navigation_channels#navigation_updown` | | Move the cursor up or down. | | `navigation_channels#navigation_leftright` | | Move the cursor to the left or right. | | `navigation_channels#navigation_select` | | Select the current item. | | `navigation_channels#navigation_back` | | Navigate to the parent menu. | | `navigation_channels#navigation_backtoroot` | | Navigate back to the root menu. | Navigation is not supported by Spotify input. ## Example ### Basic Setup #### Auto Linking Link the items to the channels of your preferred zone (here `Main_Zone`) in the UI after you have saved your items file. Items: ```java Switch Yamaha_Power "Power [%s]" Dimmer Yamaha_Volume "Volume [%.1f %%]" Switch Yamaha_Mute "Mute [%s]" String Yamaha_Input "Input [%s]"