Control your Pioneer home theater amplifier using http requests

pioneer_widgets_eedomus2Pioneer home-theater amplifiers can connect to your LAN using ethernet cable or wifi network. They can be remotely controlled by your main smart home controller or other kind of devices. In old days this control was done through a telnet connection. It means the controller can act as a telnet guest and this isn’t everytime possible.

There’s another method, less documented, which uses http requests. This method may not work with all Pionee references, particularly the old one. I will try to maintain a compatibility list if you provide your test results

Compatibility

Model Verified http requests
Pioneer SC-LX59 01 nov. 2016  Compatible

To verify compatibility :

  • Define IP address used by your home theater amplifier.
    For the SC-LX59 model, IP address is displayed on screen and on amplifier display when pressing STATUS key on the remote.
    pioneer_remote_info
  • In a web browser, open the webpage at address : http://amplifier_IP_Address/StatusHandler.asp
    You should have this kind of answer :
    {"Z":[{"MZ":{"P":1,"V":117,"M":0,"F":25}},{"Z2":{"P":0,"V": 21,"M":0,"F": 6}},{"Z3":{"P":0,"V": 21,"M":0,"F": 6}},{"HZ":{"P":0,"V": 21,"M":0,"F":25}}],"DSP":2,"L":"0881","A": 3,"HOA":1,"LC":"STS" ,"MA":0,"MS":"0000000","MC":0,"HP":0,"HM":0 ,"DLBES":1,"DLBSR":1,"MN":"SC-LX59/SYXJ8"}
  • If you have this kind of answer, it should confirm the compatibility of your amplifier with http requests ( I’m waiting you confirm for other models)
    You can then continue to read the post  🙂

Requests format

Status request

This is the one we’ve just seen which answer is device status.

Format : http://amplifier_IP_Address/StatusHandler.asp
Example :
http://192.168.0.201/StatusHandler.asp

There’s no input argument.  Output is in JSON format. If we look in details about answer contents, we can find those information :

  • A status for each of the different audi zones of amplifier, the “Z” bloc containing
    • The main zone “MZ”
    • The secondary zone “Z2” if available
    • and the following audio zone depending of your amplifier options
  • Information about those zones are the same for all  :
    • “P” : Powered ON (1) or Powered OFF (0)
    • “V” : volume defined with the values in this excel file from Pioneer
    • “M” : Mute ON (1) or Mute OFF (0)
    • “F” : Selected input defined with the values in this excel file from Pioneer
  • I haven’t took time to understand the following values, but their meaning should all appear in the same excel sheet

Amplifier control request

This request changes a parameter of the amplifier (volume, input, …)

Format : http://amplifier_IP_Address/EventHandler.asp?WebToHostItem=
Example :
http://192.168.0.201/EventHandler.asp?WebToHostItem=PF

There’s an input argument following the “=” which is the command to be sent. No particular output from this request apart the standard http status feedback.

Codes to be used are strictly equivalent to those sent through telnet. Those codes are exhaustively listed in the excel file from Pioneerzip .

Setting a new peripheral in eedomus to control amplifier

I need to control only three parameters : Power, Volume, input selection. I’ve then added three new http control peripherals for eedomus controller for each parameter
The post Mobile operator Free propose free SMS is indicating the way to create those peripherals.

Values to be defined for each peripherals are described below.

Power ON/OFF control

Value update request should contain those parameters :

  • pioneer_power_requestUpdate request = http://amplifier_IP_Address/StatusHandler.asp
  • XPATH path (for the main audio zone) = (//MZ/P) * 100
  • Don’t forget to select option “Convert JSON to XML”

Action values are those one :

  • OFF = http://amplifier_IP_Address/EventHandler.asp?WebToHostItem=PF
  • ON = http://amplifier_IP_Address/EventHandler.asp?WebToHostItem=POpioneer_power_value

Input selection

Value update request should contain those parameters :

  • pioneer_input_requestUpdate request = http://amplifier_IP_Address/StatusHandler.asp
  • XPATH path (for main audio zone) = //MZ/F

There are lots of action values, they’re all listed in this excel sheet . Here is an extract for the most useful :

  • HDMI1 input = http://amplifier_IP_Address/EventHandler.asp?WebToHostItem=19FN
  • HDMI2 input = http://amplifier_IP_Address/EventHandler.asp?WebToHostItem=20FN
  • HDMI3 input = http://amplifier_IP_Address/EventHandler.asp?WebToHostItem=21FN
  • HDMI4 input = http://amplifier_IP_Address/EventHandler.asp?WebToHostItem=22FN
  • HDMI5 input = http://amplifier_IP_Address/EventHandler.asp?WebToHostItem=23FN
  • HDMI6 input = http://amplifier_IP_Address/EventHandler.asp?WebToHostItem=24FN
  • Bluray input = http://amplifier_IP_Address/EventHandler.asp?WebToHostItem=25FN

pioneer_input_value

Volume control

I control volume using 5dB steps. A finest tunig is possible, amplifier steps being 0.5dB. If increasing the number of steps, you should add the missing control values and adapt the rounding done with the update request (for instance using a 2.5dB step , request rounding should be modified to ... div 5)) * 5 ... ).
The volume range’s from -80 dB (value is 1) to +12dB (value is 185). An increment of 1 of the value means a 0.5dB increase in volume.

Value update request should contain those values :

  • Update request = http://amplifier_IP_Address/StatusHandler.asp
  • XPATH path (for the main audio zone) = (round((//MZ/V - 1) div 10)) * 10 + 1pioneer_volume_request

Here is the beginning of actions for the volume control :

  • Volume -80dB = http://amplifier_IP_Address/EventHandler.asp?WebToHostItem=001VL
  • Volume -75dB = http://amplifier_IP_Address/EventHandler.asp?WebToHostItem=011VL
  • Volumen -70dB = http://amplifier_IP_Address/EventHandler.asp?WebToHostItem=021VL
  • Volume -65dB = http://amplifier_IP_Address/EventHandler.asp?WebToHostItem=031VL
  • Volume -60dB = http://amplifier_IP_Address/EventHandler.asp?WebToHostItem=041VL
  • pioneer_volume_value

Vincent Recipon

Propriétaire de ce blog. Owner of this blog.

You may also like...

4 Responses

  1. Marek says:

    Witam .
    Wszystko działa bardzo prawidłowo, mam jednak problem z wybudzeniem amplitunera VSX924 ze standby.
    próbowałem wysłać komendę dwukrotnie, ale nic nie przynosi skutku.
    Jeśli zna Pan rozwiązanie proszę o podpowiedź.
    Drugie moje pytanie dotyczy odczytu wartości poziomu dźwięku danej strefy. Mogę odczytać status urządzenia , ale jeśli chciałbym wyświetlić coś na przykład tworząc aplikację na tablet to nie wiem jak to wyciągnąć .
    Pozdrawiam
    Marek Dyk

    • In English :
      Everything works very well, but I have a problem with waking the VSX924 from standby.
      i tried to send the command twice but nothing works.
      If you know the solution, please give me a hint.
      My second question concerns the reading of the sound level of a given zone. I can read the status of the device, but if I would like to display something, for example by creating an application for a tablet, I don’t know how to get it.
      Regards
      Marek Dyk

    • To be honest with you I don’t remember having used wake up command. In my setup we power on manually amplifier which implies powering up other elements.
      Regarding how to use it to display on a tablet, it depends on the skills you have, do you know how to program ? In my case I have an entire smarthome system , all smarthome systems are able to do http request and read back the value, also they have capacity to have funny display of values. Here is some example of free smarthome software to be installed on a server or a raspberry pi (for instance ) : jeedom, home assistant, domotics, … You can also buy a smarthome controller which will have such capacity. I used to use Eedomus controller.
      Another way to do is to use Tasker which is an android application. It’s also able to do http request, and you can setup a display panel to show those values. However, this it a bit difficult to correctly set a panel because it has to be done directly on a smartphone or tablet with touchscreen.

  1. Tuesday April 18th, 2017

    […] la différence des commandes http présentées dans ce article, c’est l’interface Telnet de l’ampli Pioneer qui est utilisée ici pour le […]

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.