Yamaha Network Receivers: Support Party Mode

Party Mode is currently unsupported.
It’s no different to any other request to the AVR.

Command looks like this:

<YAMAHA_AV cmd=“PUT”><System><Party_Mode><Mode>On</Mode></Party_Mode></System></YAMAHA_AV>

There’s also a “global” (all Zones) Volume control which is currently missing in HA

both of these are needed

You can create your own service that will control this feature (and many others). Example below (+Pure Direct and Enhancer modes) - put your IP address obviously:

shell_command:
  yamaha_pure_direct_on: "curl -X POST 'http://10.144.1.12/YamahaRemoteControl/ctrl' --data-binary  '<?xml version=\"1.0\" encoding=\"utf-8\"?><YAMAHA_AV cmd=\"PUT\"><Main_Zone><Sound_Video><Pure_Direct><Mode>On</Mode></Pure_Direct></Sound_Video></Main_Zone></YAMAHA_AV>'"
  yamaha_pure_direct_off: "curl -X POST 'http://10.144.1.12/YamahaRemoteControl/ctrl' --data-binary  '<?xml version=\"1.0\" encoding=\"utf-8\"?><YAMAHA_AV cmd=\"PUT\"><Main_Zone><Sound_Video><Pure_Direct><Mode>Off</Mode></Pure_Direct></Sound_Video></Main_Zone></YAMAHA_AV>'"
  yamaha_party_mode_on: "curl -X POST 'http://10.144.1.12/YamahaRemoteControl/ctrl' --data-binary  '<?xml version=\"1.0\" encoding=\"utf-8\"?><YAMAHA_AV cmd=\"PUT\"><System><Party_Mode><Mode>On</Mode></Party_Mode></System></YAMAHA_AV>'"
  yamaha_party_mode_off: "curl -X POST 'http://10.144.1.12/YamahaRemoteControl/ctrl' --data-binary  '<?xml version=\"1.0\" encoding=\"utf-8\"?><YAMAHA_AV cmd=\"PUT\"><System><Party_Mode><Mode>Off</Mode></Party_Mode></System></YAMAHA_AV>'"
  yamaha_enhancer_on: "curl -X POST 'http://10.144.1.12/YamahaRemoteControl/ctrl' --data-binary  '<?xml version=\"1.0\" encoding=\"utf-8\"?><YAMAHA_AV cmd=\"PUT\"><Main_Zone><Surround><Program_Sel><Current><Enhancer>On</Enhancer></Current></Program_Sel></Surround></Main_Zone></YAMAHA_AV>'"
  yamaha_enhancer_off: "curl -X POST 'http://10.144.1.12/YamahaRemoteControl/ctrl' --data-binary  '<?xml version=\"1.0\" encoding=\"utf-8\"?><YAMAHA_AV cmd=\"PUT\"><Main_Zone><Surround><Program_Sel><Current><Enhancer>Off</Enhancer></Current></Program_Sel></Surround></Main_Zone></YAMAHA_AV>'"

Documentation of more options is available here:

2 Likes

can you help as I don’t know how to make a service

Take the example from my above post and put it in your configuration.yaml file. Adjust to your Yamaha system’s IP address obviously. Later on, you can call those commands from various places in Lovelace or dashboard etc. You can test it in Developer Tools/Services tab of HA if work ok.

Btw, you can do the same using rest commands so they are executed directly from HA, not via shell curl. My examples below:

rest_command:
  yamaha_pure_direct_on:
    url: 'http://10.144.1.12/YamahaRemoteControl/ctrl'
    method: POST
    payload: '<?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="PUT"><Main_Zone><Sound_Video><Pure_Direct><Mode>On</Mode></Pure_Direct></Sound_Video></Main_Zone></YAMAHA_AV>'
  yamaha_pure_direct_off:
    url: 'http://10.144.1.12/YamahaRemoteControl/ctrl'
    method: POST
    payload: '<?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="PUT"><Main_Zone><Sound_Video><Pure_Direct><Mode>Off</Mode></Pure_Direct></Sound_Video></Main_Zone></YAMAHA_AV>'
  yamaha_party_mode_on:
    url: 'http://10.144.1.12/YamahaRemoteControl/ctrl'
    method: POST
    payload: '<?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="PUT"><System><Party_Mode><Mode>On</Mode></Party_Mode></System></YAMAHA_AV>'
  yamaha_party_mode_off:
    url: 'http://10.144.1.12/YamahaRemoteControl/ctrl'
    method: POST
    payload: '<?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="PUT"><System><Party_Mode><Mode>Off</Mode></Party_Mode></System></YAMAHA_AV>'
  yamaha_enhancer_on:
    url: 'http://10.144.1.12/YamahaRemoteControl/ctrl'
    method: POST
    payload: '<?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="PUT"><Main_Zone><Surround><Program_Sel><Current><Enhancer>On</Enhancer></Current></Program_Sel></Surround></Main_Zone></YAMAHA_AV>'
  yamaha_enhancer_off:
    url: 'http://10.144.1.12/YamahaRemoteControl/ctrl'
    method: POST
    payload: '<?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="PUT"><Main_Zone><Surround><Program_Sel><Current><Enhancer>Off</Enhancer></Current></Program_Sel></Surround></Main_Zone></YAMAHA_AV>'