Open diplix opened 7 years ago
of course changing zone discovery to Title_1
doesn’t help at all, since, i guess, addressing Zone B
doesn’t really work. however yamaha themselfes figured out a way of displaying both zones and also addressing them separatly. this is a screenshot from the MusicCast app, that correctly identifies both zones of the RX V581 and let’s me turn off and on both separatly, while rxv displays both with exactly the same attributes.
i worked around the issue with two home assistant command line switches.
- platform: command_line
switches:
yamaha_zone_1_power:
command_on: 'curl -d "<YAMAHA_AV cmd=\"PUT\"><Main_Zone><Power_Control><Power>On</Power></Power_Control></Main_Zone></YAMAHA_AV>" http://192.168.1.73/YamahaRemoteControl/ctrl'
command_off: 'curl -d "<YAMAHA_AV cmd=\"PUT\"><Main_Zone><Power_Control><Power>Standby</Power></Power_Control></Main_Zone></YAMAHA_AV>" http://192.168.1.73/YamahaRemoteControl/ctrl'
command_state: 'curl -d "<YAMAHA_AV cmd=\"GET\"><Main_Zone><Basic_Status>GetParam</Basic_Status></Main_Zone></YAMAHA_AV>" http://192.168.1.73/YamahaRemoteControl/ctrl | xmllint --format --noent --xpath "//Power/text()" -'
value_template: '{{ value == "On" }}'
friendly_name: Yamaha Zone 1
yamaha_zone_2_power:
command_on: 'curl -d "<YAMAHA_AV cmd=\"PUT\"><Main_Zone><Power_Control><Zone_B_Power>On</Zone_B_Power></Power_Control></Main_Zone></YAMAHA_AV>" http://192.168.1.73/YamahaRemoteControl/ctrl'
command_off: 'curl -d "<YAMAHA_AV cmd=\"PUT\"><Main_Zone><Power_Control><Zone_B_Power>Standby</Zone_B_Power></Power_Control></Main_Zone></YAMAHA_AV>" http://192.168.1.73/YamahaRemoteControl/ctrl'
command_state: 'curl -d "<YAMAHA_AV cmd=\"GET\"><Main_Zone><Basic_Status>GetParam</Basic_Status></Main_Zone></YAMAHA_AV>" http://192.168.1.73/YamahaRemoteControl/ctrl | xmllint --format --noent --xpath "//Zone_B_Power_Info/text()" -'
value_template: '{{ value == "On" }}'
friendly_name: Yamaha Zone 2
the rx v581 seems to have a strange naming pattern for it’s zone b:
<Menu Func="Unit" Title_1="System" YNC_Tag="System">
...<Menu Func="Subunit" Title_1="Main Zone" YNC_Tag="Main_Zone">
…<Menu Func="Subunit" Title_1="Zone B" YNC_Tag="Main_Zone">
basically the
YNC_Tag
that is used byrxv
to determine zones is the same for the main zone and zone b, they can only be identified byTitle_1
. for zone discovery to work for the rx v581 there’s probably adjustments to be made. i’d be glad to test those changes, if someone with better programing skills then myself would be willing to implement thise changes.this is how the receiver describes itself: rx v581 desc.xml