One of my new projects is figuring out how to automate my Pioneer VSX-822-K AVR. There have been posts before on how to do this with telnet for higher end AVRs (VSX-1022). But there doesn’t seem to be any documentation on mine.
My plan is to make a PHP web interface for controlling it because:
1. The Pioneer Control App for Android is laggy and crappy
2. I can control it from a web browser as well
The VSX-822-K uses port 8023 for telnet commands. Only some of the commands that worked with the VSX-1022 worked with the 822. Many of the function commands are changed. I went through every possible FN combination below. This information doesn’t seem to be available anywhere else but here.
Function number:
01FN CD
02FN Tuner
04FN DVD
05FN TV
06FN Sat/Cbl
10FN Video H
15FN DVR/BDR H
17FN iPod/USB
25FN BD H
33FN Adapter
38FN Netradio
41FN Pandora
44FN Media Server
45FN Favorites
49FN Game H
TO get the rest of the commands like tuner preset+/-, I installed Shark for Root on Android. This application is like WireShark in that it captures packets to and from the device. I then opened the AVR application and made sure I pressed every button that was available.
But then I remembered that the app downloaded device specific data when I first opened it. I went on a hunt inside ESFileExplorer for the related application files. I found them in /data/data/jp/pioneer.avsoft.android.controlapp
I zipped that up for inspection.
And then I found the jackpot
Every command the AVR uses, implemented in HTML and JS, by japanese programmers at Pioneer Electronics. I can’t blame them for using HTML, It’s easy, but it’s not responsive at all. No wonder the app was laggy.
After sifting through the code, here’s what I got out
?RGD ReceiveGenerationInfo
?RGF ReceiveEnableInputFunctionInfo
?RGC ReceiveNetworkStanbyInfo
?PWR ReceivePowerStatus
Values:
PWR0 Power on
PWR1 Cold standby
PWR2 Network standby
?VOL ReceiveVolumeStatus
?MUT ReceiveMuteStatus
Values:
MUT0 Mute on
MUT1 Mute off
?FN ReceiveInputStatus
?ICA ReceiveiPodFunctionInfo
?GAP Prints OSD info
?GEP ReceiveDisplayInformation
?GDP ReceiveListAndLineInformation
?GCP ReceiveScreenInformation
Function number:
FU: Function up
FD: Functon down
01FN CD
02FN Tuner
04FN DVD
05FN TV
06FN Sat/Cbl
10FN Video H
15FN DVR/BDR H
17FN iPod/USB
25FN BD H
33FN Adapter
38FN Netradio
41FN Pandora
44FN Media Server
45FN Favorites
46FN AirPlay
47FN DMR (doesn't do anything?)
49FN Game H
Power Mode:
PO Power On
PF Power Off
Volume:
VU Volume Up
VD Volume Down
MO Mute On
MF Mute Off
MZ Mute toggle (doesn't work?)
FM Presets:
##PR (30 avail)
Surround Sound:
0100SR Advanced Surround
0005SR Auto/Direct
0010SR ALC/Standard
Buttons:
10PB Play
11PB Pause
12PB Skip Reverse
13PB Skip Forward
20PB Stop
30PB Enter
31PB Return
40PB iPod Control30
Some other things to note:
The AVR only allows one telnet session at a time, otherwise it will refuse the initial connection.
The remote is a huge pain in the ass to use, if you want to change settings you have to go into the internet radio function menu, just to get the 80’s style menu to open.
What’s worse is the menu goes from digital in the CPU, to analog in the DAC (so it can be outputted to composite video), THEN it gets converted back to digital for use in HDMI. It looks really ugly to say the least.