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.