Serial and IR Status Response Parsing

I have a Niles ZR6 Multizone receiver, and I’m using a Global Cache IP/Serial Adaptor. Control of the Zr6 is working well after I entered the serial commands for all of the zones.

I would like to be able to get some feedback from the receiver for a zone. The receiver has a query command for a given zone that returns multiple status values in one response. For example:

znc,5,[cr] is request status for the active zone
usc,2,2,3,1,14,0,0,0[cr] is the response

usc, identifies a response to a status request
2, identifies the response as an answer to a status request
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

Is there a way to specify in the RoomieCodes.plist a way to parse this response to extract the volume, for example?

To try to understand the query/response processing in Roomie Remote, I’ve compared the Onkyo IP example provided in the Serial/IP kit with the Onkyo binary protocol, and I see that there are dot commands to query mute status, for example (.MUTE STATUS). The binary code listed is he Onkyo code that is sent out for the query (a AMTQSTN command). But there doesn’t appear to be a specification for the pattern that the Onkyo receiver will return for such a query (AMT00 or AMT01). The response is a string of bytes, only two of which represent the mute status as "00"or “01”. How does the Roomie know how to parse this response?

This is essentially the same issue I have in extracting the ZR6 volume field out of the response it gives. I’d like to be able to create .MUTE STATUS and .VOLUME STATUS commands and extract the values from the “znc,5” command.

How did you decide to connect to the Niles ZR6 serially versus through the IR connector? I have a ZR6 and want to set it up to work with Roomie, only not sure which way to proceed (serial to IP or IR to IP)?

I had hoped that I could get more feedback such as zone volume if I connected serially. With IR you don’t have that option. At present Roomie doesn’t appear to offer a way to parse this data to provide it with the volume data in a form it understands. It knows how to parse a specific set of device feedback formats, rather than offering me a way to specify to Roomie how to parse any format (such as the ZR6 zone format).

That’s why I posted the message on the forum, but I’ve never received a response. I haven’t found any documentation on how the feedback commands actually work. But I’m hopeful that with serial, one day I’ll be able to get this information into Roomie.

The main problem I have presently is that each Roomie instance (say on an iPad and an iPhone) has its own “state” information, such as current zone source. So if one user has been in a zone and forgot to turn it off, the Roomie on the device for the next user who comes into the zone doesn’t have any information about the zone status. Ideally, I’d like to be able to query more than just volume, but also current input, and automatically enter that activity on the second user’s Roomie app when they select the zone. Again I don’t see a way of doing that at present.

Roomie comes with the IR commands for all zones, but not serial commands. I can give you my configuration file for serial if that’s the direction you decide to go.

The downside to serial is that you can blast IR to multiple devices with a single iTach, but have only one serial port per iTach. So serial is a much more expensive option if you want bidirectional control and feedback for more than a few devices (devices that don’t support IP-based control).

The latter issue may be resolved by 1.6 which synchronizes activity status between instances of Roomie live. More details on that to come in the next few weeks.

The formatting issue for serial feedback is something support may be able to help you with. We add format specifiers all the time, they’re much simpler and more reliable than trying to build some complex way of encoding that which rarely works. We would recommend sending your RoomieCodes file and a link to the serial format you want to parse to

I posted a follow-up to a ZR6 query on the Devices and Codes forum under the title “Niles VR-6 Multizone Amp”. I discuss my use of the serial interface, and also included the Niles ZR6 zone status query command format in my post there. I will email my current RoomieCodes.plist file to support.