While the receiver has a web interface called "Pioneer Web Control System" I wanted a way to control this receiver via script. The web interface has support for
- Powering the receiver on/off
- Changing the Volume including mute
- Changing the Input (Zones 1-3)
- Changing the "Listening Mode"
The iControlAV uses SSDP query to find the receiver. Which runs NU-OS 1.13. You can Browse to http://<Receiver IP>/BasicDevice.xml to get the info on your device.
My receiver has port 23 (telnet) open along with 80 and 8102 (referenced in BasicDevice.xml)
Basic process:
- Send command as ASCII on telnet (23) or TCP/8102 (see your BasicDevice.xml)
- Commands that check status or query the device begin with a ?
- Commands that perform a command sometimes have parameters (input number) at begining, some at end
- You can monitor the telnet window to see the "response" for each command sent. This includes commands sent through IR remote or from the device its self.
| ?P | Is Device powered ON?
| ||||||
| PF | Power Device OFF | ||||||
| PO | Power Device ON | ||||||
| ?M | Is Zone MAIN muted
| ||||||
| MO | Mute MAIN zone | ||||||
| MF | unMute MAIN zone | ||||||
| ?V | Get Current Volume level
| ||||||
| XXXVL | Set Volume Level to XXX (000 - 200) | ||||||
| 001VL | Set Volume Level to -80.0db | ||||||
| 081VL | Set Volume Level to -40.0db | ||||||
| ?RGC | Get inputs on device (i think)
| ||||||
| ?RGBxx | Get inputs Name (related to above command), available inputs will change based on model
| ||||||
| ?F | Get current input (use ?RGB to get name)
| ||||||
| XXFN | Set current input (XX = Input number)
| ||||||
| ?BP | *UNKNOWN*
| ||||||
| ?AP | *UNKNOWN*
|
Turn on device, set input to HDMI1 (19 in my case), and volume to -40db
PO
19FN
081VL
(Update: 7/17/2011)
I was able to find a doc that has all the commands (better than what I was able to determine).
http://dl.dropbox.com/u/3275573/2010%20USA%20AVR%20RS-232C%20%26%20IP%20Commands%20for%20CI.pdf