I wanted to share my updated Pioneer AVR integration for AVRs that support the older Pioneer serial API (pre-Onkyo). It supports configuration via both YAML and config flow, and handles the basics to integrate the AVR into Home Assistant: power, volume, source detection/selection and automatic zone detection for receivers supporting multiple zones. It also overcomes a major limitation of the Pioneer component that is included in HA Core: that component opens a new telnet connection for each command sent to the AVR, making it unstable over time (at least in my setup).
Right now it is not completely backwards compatible with the built-in Pioneer integration as the source mappings are queried from the AVR during the initial connection rather than manually specified in the configuration.
To install this integration, clone the GitHub repository, then move
pioneer_async into your
/config/custom_components directory. Restart Home Assistant, then go to Configuration > Integrations > Add (+). Alternatively, if you want to migrate from the built-in Pioneer AVR integration, change platform to
pioneer_async and remove any
sources mapping. You may need to update automations/scripts to reflect updated source names retrieved from the AVR.
Installation and updates via HACS is on the roadmap, as is more complete documentation, and potential future submission to HA Core as a replacement for the original Pioneer AVR integration.
I wrote this integration as part of teaching myself a few new shiny things: asyncio coding, enabling config flow, and how to release an integration, so feedback on better ways to do things is most welcome!