Skip to content

Commit 6d2db1e

Browse files
authored
Merge pull request #20 from mvdwetering/add_zoneb_support
Add ZoneB support
2 parents cf4edd6 + 251ec21 commit 6d2db1e

9 files changed

Lines changed: 877 additions & 20 deletions

File tree

docs/PRACTICALITIES.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,3 +123,38 @@ Some receivers have a single audio input and that input is called AUDIO. Receive
123123
Seen on RX-V475 receiver in [issue #230](https://github.com/mvdwetering/yamaha_ynca/issues/230), but probably also applies to RX-V575/HTR-4066/HTR-5066 as they share the same firmware.
124124

125125
For some reason this input is _not_ reported when requesting the input names with `@SYS:INPNAME=?` (unlike AUDIO1, AUDIO2 inputs). This makes it impossible to automatically detect if the input is supported by the receiver. The receiver does respond with `@RESTRICTED` when requesting `@SYS:INPNAMEAUDIO1=?` or `@SYS:TRIG1INPAUDIO1=?` instead of `@UNDEFINED`. However these responses are currently not really handled by the library and building support for that will be hard as there is not a guarenteed request/response mechanism due to the asynchronous nature of the protocol.
126+
127+
## Zone A/B receivers
128+
129+
(this section is compiled from findings in https://github.com/mvdwetering/yamaha_ynca/issues/320)
130+
131+
There are receivers that have zones indicated as "A/B". These are different from the usual MAIN, ZONE2, ZONE3 and ZONE4 subunits.
132+
133+
There seem to be 2 variations.
134+
135+
### Speakersets
136+
137+
Zone A/B are just "speakersets" where A is the normal set of speakers and B is an additional set. These can be toggled on/off individually. These are part of the MAIN zone.
138+
139+
On the API, these are controlled with these functions `@MAIN:SPEAKERA` and `@MAIN:SPEAKERB`.
140+
141+
e.g. RX-V573
142+
143+
144+
### Subzone
145+
146+
Another variation seen on RX-V583 is a "subzone" called Zone B. In the AV Controller app it is shown similar to Zone 2.
147+
This zone can be powered individually from the MAIN zone, but will always have the same input as the MAIN zone.
148+
149+
Reason for calling it a subzone is that its functions are exposed on the MAIN subunit.
150+
151+
On the API, this subzone is controlled by the following functions. Note that Mute only supports On/Off
152+
```
153+
@MAIN:PWRB
154+
@MAIN:ZONEBAVAIL
155+
@MAIN:ZONEBNAME # Unknown if this can actually be set on the AVR
156+
@MAIN:ZONEBMUTE
157+
@MAIN:ZONEBVOL
158+
```
159+
160+
Note that this variant also has the `@MAIN:SPEAKERA/B` functions. But when controlling the SPEAKERB it will power on/off ZoneB (assumption is that it works the same for SPEAKERA/MAIN zone PWR). So when implementing a client these should probably be hidden/ignored.

docs/all_commands_ever_seen.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,7 @@
224224
@MAIN:MUTE=?
225225
@MAIN:PUREDIRMODE=?
226226
@MAIN:PWR=?
227+
@MAIN:PWRB=?
227228
@MAIN:SCENE10NAME=?
228229
@MAIN:SCENE11NAME=?
229230
@MAIN:SCENE12NAME=?
@@ -240,6 +241,8 @@
240241
@MAIN:SLEEP=?
241242
@MAIN:SOUNDPRG=?
242243
@MAIN:SPBASS=?
244+
@MAIN:SPEAKERA=?
245+
@MAIN:SPEAKERB=?
243246
@MAIN:SPTREBLE=?
244247
@MAIN:STRAIGHT=?
245248
@MAIN:SWFRTRIM=?
@@ -251,6 +254,9 @@
251254
@MAIN:TVAUDIN2=?
252255
@MAIN:VOL=?
253256
@MAIN:YPAOVOL=?
257+
@MAIN:ZONEBAVAIL=?
258+
@MAIN:ZONEBMUTE=?
259+
@MAIN:ZONEBVOL=?
254260
@MAIN:ZONENAME=?
255261

256262
## ZONE2

0 commit comments

Comments
 (0)