Pioneer vsx 921 / media player - 2nd Zone concept?

Hi,

I’m owning a Pioneer VSX 921 that I kind of hate from the beginning - the frontend / usability is so 80th. However, it does what it should to most of the time. I was amazed how easy the integration via the “platform: pioneer” module was.

However, I’ve an additional set of speakers attached to the ‘2nd zone’ of the pioneer - those go into bathroom / kitchen. Via standard python I developed a ‘watchdog’ that does a couple of things:

  • If the input is switched, apply default profile & volume (e.g. Sat shall have lower volume than Tuner. Sat is 5:1 - Tuner + Chromecast are stereo)
  • If input of zone 1 is switched, apply same input to zone 2

That works reasonably well, but I think the messy telnet interface doesn’t work to good with dual scripts constantly connecting. So i was wondering of moving the logic to HomeAssistant.

Question:

  • 2nd zone - that would be a mediaplayer attribute, right? I didn’t see such a concept yet, right?
    https://www.home-assistant.io/components/media_player/
  • I’ve a lot of inputs on ‘hidden’ - so on the HW jog wheel they are skipped. They still turn up in homeassistant:pioneer. Is such a concept available?

Cheers,
Alex

Hi Alex,
I have the same receiver and would like really much to integrate it into HA. Did you manage to integrate it with the 2nd zone?

Best regards,
Charles

1 Like

From a usability / IT perspective the receiver is not worth its money. Unfortunatly that might be an industry issue, when looking for an alternate solution briefly it seems to be state of the art.

Yes, I have a solution that works for my specific scenario. I’m not sure I’ll get together all details ad hoc.

  1. I have replaced the following file with a customized version:

    /usr/local/lib/python3.6/site-packages/homeassistant/components/media_player/pioneer.py

Changes made:

  • limit the input devices to the ones I use so it doesn’t show all of them.
  • introduced a method ‘setDefaultsOnSourceChange(self, source)’.
    • If called it will set the default volume which varies per source.
    • It also turns on the second zone and sets the source of Zone 2 to whatever Zone 1 is set to
  • I didn’t manage to bring a new method into HomeAssistant automation. So I’m using the existing, not used ‘set_shuffle’.

Then in HomeAssistant I call setShuffle from an automation on state change:

  - alias: 'PioneerStateMonitor'
    trigger:
      platform: state
      entity_id:
        - media_player.pioneer
    action:
      - service: media_player.shuffle_set
        data:
          entity_id: media_player.pioneer
          shuffle: true

That works fine for me - unless the Pioneer messes up - and he likes to do that. His telnet interface is limited to a single sessions and if the session dies it will not do telnet until replugged. I think there is a session timeout, but it seems to be >24hours. That’s a big downside, but the issue is inside the Pioneer. I haven’t seen advertising on the current models that they would have a proper interface, e.g. a Rest API, unfortunatly.

Alex