Niles VR-6 Multizone Amp

I am trying to control this model amp with the Roomie Remote via the Niles VR-6 global ir input and the Niles doesn’t respond to any requests. Roomie remote is using the Zone3 IR commands. Verified there is IR activity at the itach ip2ir device and the proper ports are configured in roomie for the corresponding itach. Do the “Niles VR” ir codes support the VR-6?

Neither Google nor we are familiar with a Niles “VR” series, and it’s not on our list.

If you mean the ZR series, we have 18 zones of codes for that.

Sorry, typo. ZR-6. In addition I am connected from the itach to the. ZR6 via 3.5mm cable. Any ideas why no response from the zr6?

We’re just guessing. Perhaps it is not a normal 3.5mm connection. For instance the Xantech devices look like a standard 3.5mm IR connector, but are actually completely different and require special cables. Niles would be a better source of information on what they are expecting and whether they are compatible with Global Caché devices via a normal mono cable or expect something different.

I had a similar issue with an Aton speaker switch. I could not get a direct wired connection between the Aton and Itach to work even with help from Aton. However I was able to plug in an IR receiver to the back of the Aton and got the Itach blaster to control the unit.

Did you ever get the serial cable working? I have a ZR6 and I am communicating serially using Roomie. If you’re still having problems I can pull out my cable and provide a wiring diagram.

I would be interested in learning a bit more about your controlling the ZR6 via the serial connection. I have not ordered the serial interface but I would in a heartbeat if control was improved and the setup not too daunting.

hgmobile, which IR receiver did you use with the Aton unit?

It was a generic I bought from Amazon. 3 wire (stereo plug which I cut off) and it came with a sheet that indicated which wires were ground etc. I don’t see it on Amazon any longer. If I can find the little sheet I will post name.

thank you…some of the IR receivers are outrageously priced so it would be nice to be able to use a generic version.

Hello. Someone has the remotecode.plist for Niles ZR - 6 RS - 232, I appreciate if I can pass the file, or direct me to generate the commands.

Thank you

Life and work got in the way of replying to my post in August.

I built my own ZR6 serial cable using a 3.5mm stereo cable and a female DB9 connector.

The pinout is:

3.5 mm tip to DB9-2
3.5 mm ring to DB9-3
3.5 mm shield to DB9-5

I use the iTach Ethernet to Serial Adapter which has a male DB9. I then use the MacOS tools available through a 3rd party link on the Global Cache site for debugging. The Windows tools provide the same functionality. iTest allows me to connect to the iTach and monitor the transactions between Roomie and the ZR6. I can also manually send ZR6 commands to query status and change settings though iTest. The serial command list is in the ZR6 manual as is the proper serial configuration settings.

At present I have multiple zones controlled via serial commands through Roomie. I also have a Party (ALl Zones) “room” where I can turn on all zones configured in the ZR6 as party zones. I haven’t finished working on all input sources (wiring and programming).

But for example, I use an Airport Express as ZR6 Source 4, and in my rooms I have an iTunes activity that commands the ZR6 to select Source 4 for that zone, and then Roomie displays the iTunes remote, which controls iTunes that is running on a Mac Mini and is streaming to the Airport Express.

One thing I haven’t figured out is how to control volume in this “Room”. That’s because the All Zones command set in the ZR6 is limited to Input selection and Power On/Off. The other zones have full control of volume, keypad entry, etc. I suspect that I need use the volume commands for one of the zones I’ve configured in Party mode in the plist for All Zones “room”. In other words, once I’ve enabled Party Mode, all other commands would be routed to zone 1 (which is in my list of party zones). So my existing RoomCodes.plist will probably evolve to include these additional commands once I have time to work on my audio project.

One thing that Roomie doesn’t currently support is parsing the feedback available via the serial link. The ZR6 supports selecting a zone and then requesting the status for the currently-selected zone, and the response includes multiple fields:

  • selected source (1-6)
  • whether the zone is on or off
  • the zone volume level
  • the mute status
  • bass level
  • treble level

I have another outstanding task to provide this information to Roomie tech support so they can add parsing of this format to Roomie to support volume and mute feedback, for example. So I include it below.

You basically use a command to select the current zone, and then send another command to retrieve its status. The ZR6 responds to every command, so Roomie would have to ignore responses for the majority of serial commands, except for the status request. In addition, the ZR6 outputs status on boot, so Roomie would also have to skip over any strings it doesn’t recognize.

The format from the ZR6 manual is:

  1. Making a zone the active control zone - Select the zone to receive commands

znc,4,[zone #][cr]

znc, indicates the command type (zone command)
4, indicates an active zone change
[zone #] is the number of the zone to become active (1-18)
[cr] is a carriage return

Command: znc,4,2[cr] (make zone 2 the active zone)

ZR-6 Response: nc,4,2[cr] (confirmation that Zone 2 is now the active zone)
rznc, identifies a response to a zone command
4, identifies an active zone change
2 the number of the current active zone
[cr] carriage return

You then send the request for the status of the zone you just selected:

  1. Request zone status – provides status of all active zone parameters
    Syntax: znc,5,[cr]

znc, indicates the command type (zone command)
5 indicates an active zone status request
[cr] is a carriage return

Command: znc,5,[cr] (request status information for the active zone)

ZR-6 Response: usc,2,2,3,1,14,0,0,0[cr] (status of the active zone)

usc, identifies a response to a status request
2, identifies the response as an answer to a statusrequest
2, is the number of the current active zone for which status is provided
3, number of the currently selected source (1-6) in the active zone
1, On/Off status of the active zone (1=On, 0=Off)
14, active zone volume level (0-99)
0, active zone mute status (1=muted, 0=unmuted)
0, active zone bass level (-7 to +7)
0 active zone treble level (-7 to +7)
[cr] is a carriage return


In the serial protocol, making the zone “Active” doesn’t change inputs. It is just to route the commands that follow to the zone you want to control. So for Roomie to query the status of the current zone for a room, it would send both the znc,4,Z[cr] and the znc,5,[cr] command, where “Z” would be the zone number. I’d then copy this string into each of the 12 sets of serial commands with Z set to 1, 2, 3, … 12. However, until Roomie can parse the response to these commands, I haven’t changed my plist file to include them.

I’m not using the AM/FM tuner in the ZR6 so I have not included any of the tuner commands in the plist. The tuner supports direct frequency entry for AM and FM via special commands. However, the plist does include the key commands for Up/Down and the number pad which allows scrolling through the presets and entering frequencies manually if you select the Tuner as the source for the zone you are in.

Note that the ZR6 documentation does not give any information about retrieving iPod meta data for Source 2 via the serial link. Nor does it support querying the current tuner frequency or preset.

Hope this information is useful. I have a RoomieCodes.plist file with serial commands for the first 12 zones and the All Zones commands. I can send it via email.

to Axolotlimages, I too have a Mac Mini set up with an Airport Express similar to yours. I would much appreciate taking a look at your .plist file if you don’t mind sharing. It would be very helpful to me to see the structure. You can email me at hikingfool (at) Thanks.

I also have iTach Serial - ZR6 working with 6 zones (6 Custom Devices installed) independantly controlled including volume and source selection for each zone, but no feedback yet. I use TS-Pro keypad to monitor what’s being set by the commands. It would be nice to parse ZR6 response codes. Also tested using Airport Express and Airplay through Niles. That works well. I am using AM/FM direct frequency setting command for local stations in my area. Still a work in progress. I hope to continue improving it!

To Axolotlimages, thank you for your attention and support. I’m fairly new to this and I want to ask you please, if you can help me with the “remotecodes.plist” file for the ZR-6. In advance thank you very much.
Best regards.

Alsega7: email me at mfm (at) and I’ll send you the plist file.

Note that this command set was integrated into the 10/27 library update:


I will be setting up a zr6.

Can you access and use the micro and high output IR flashers on the ZR6 with roomie to control devices or do you need the global cache IR repeater?

I am using the ZR6 just as a source/zone switch, with the control of the sources are all done through a Global Cache IR. The ZR6 itself is controlled via a Global Cache serial device, and instead of sending device commands to the ZR6 and having it relay to the source device, Roomie targets the source devices directly. That allows me, for example, to use the Roomie native DirecTV remote to control my DVR via the network, and the ZR6 is just passing the analog auto out for the DVR to whatever zone is selected when I have an activity that has the DirecTV DVR as the source.

I think it would be possible to do everything through the ZR6, but you still need a way to connect Roomie to the ZR6, so that’s either a Global Cache IR or a Global Cache Serial interface. Also, instead of device-specific remotes that Roomie supports, you’d use the ZR6 remote in Roomie. Roomie then would send IR or serial commands to the ZR6, which would then translate them to the device-specific IR commands you have trained into the ZR6 for each of your sources.


I was planning on using the Global Cache Serial IP adapter. I just wasn’t sure if the ZR6 IR outputs would work in place of the GC IR Adapter.

Still waiting for the GC Serial to arrive, so will update with how it works.