Releases: crowbarz/ha-pioneer_async
0.10.1
What's Changed
0.10.0 introduced an unintended limitation where the integration no longer worked on AVRs that returned an error when the query_device_model
command is sent. This command is used to validate that the integration is talking to an AVR that supports the Pioneer API. 0.10.1 now accepts the error response, although it flags a warning that device specific parameter defaults will not be applied as the integration doesn't know what model AVR it is talking to.
All Changes
Full Changelog: 0.10.0...0.10.1
0.10.0
Major refactoring has been completed on the aiopioneer library that underpin this HA integration. For HA integration users, the main impact of the refactoring is that the integration disconnects from the AVR only when the network connection drops, and no longer when an AVR command times out or when a code error causes an exception to be thrown. The order of query commands sent to the AVR has also changed, though this is not expected to cause any issues. The full list of changes to aiopioneer are listed in the release notes.
A new option always_poll
has been added to always poll the AVR every scan interval. Enable this option, optionally along with disable_auto_query
to reduce the number of queries sent during each poll, on AVRs where power and volume are not updated in HA in real time when they are changed directly on the AVR via the front panel and/or the remote.
Breaking Changes
- From 0.10.0 onwards, it will no longer be possible to downgrade the integration to a version that uses an older config entry major version (currently 4). If this is encountered, the integration will refuse to start with a config entry migration error. You will need to either restore your HA configuration from a backup, or remove and re-add all instances of the integration to create a new config entry
- The HA integration debug options have changed - the free-form
debug_config
has been deprecated and replaced with discrete debug options for integration load/unload, config flow and actions that are configurable from the UI. The deprecated debug config is not migrated - The recently introduced config_entry warning that appears when you reconfigure an integration instance has been fixed, but the fix may break reconfiguration on HA versions older than 2024.12
Major Changes
- Use PioneerAVR.query_device_model on initial connect by @crowbarz in #55
- Access params and AVR properties via new classes by @crowbarz in #56
- Add config flow option for command queue debug by @crowbarz in #57
- Use discrete debug options by @crowbarz in #59
- Support PARAM_ALWAYS_POLL aiopioneer parameter by @crowbarz in #60
All Changes
- Add note to enable network standby on the AVR 512e42e
- Use param properties 56e23c6
- Use PioneerAVR.query_device_model on initial connect 37bc298 #55
- Access AVR params via pioneer.params and properties via pioneer.properties efbae03 #56
- Use repr to show exception types and contents 5d85756
- Add config flow option for command queue debug de3c8c0 #57
- Refuse to downgrade config entry version 52fc5bb
- Support config entry minor_version 52fc5bb
- Add AM frequency step to FM and AM frequency number unrecorded attributes d64d493
- Move initial_refresh public property to system param PARAM_ZONES_INITIAL_REFRESH 96b2420
- Add System sensor 0845c6c
- Move zones_initial_refresh property to PioneerAVRParams 44fc05c
- Use cached source_name in PioneerAVRProperties 0a6d277
- Rename PioneerAVRProperties.source -> source_id 7081d85
- Rename aiopioneer.const.Zones class to Zone 7855d3d
- Simplify zone name creation afcd6a2
- Rename aiopioneer module param to params 48d8d19
- Refresh only relevant zone on update e2af9ad
- Use discrete debug options #59
Use discrete debug bools to enable specific debug options instead of a JSON dict. Support enabling/disabling these from the UI. This is more discoverable as all possible debug options are now visible in the UI. - Don't set config_entry in options flow subclass, fix warning from 2024.12 a5a0aea
https://developers.home-assistant.io/blog/2024/11/12/options-flow/ - Rename DEBUG_SERVICE to DEBUG_ACTION to reflect HA terminology change d4c1094
- Support PARAM_ALWAYS_POLL aiopioneer parameter 2e217af #60
- Add options flow UI for PARAM_ALWAYS_POLL parameter
- Move config entry version IDs to consts
- Bump config entry version to 4.2
- Change Zone.full_name to property b9b13eb
- Support sound mode only when zone is on and listening modes are available 048f19e
- Fail integration config flow and startup if model or main zone not detected 2cc57f5
- Enable speaker system, amp, dsp, video parameters and audio parameters global property groups by default 98cdf75
- Enable channel level zone property group by default 98cdf75
- 0.10 documentation updates f000106
Full Changelog: 0.9.2...0.10.0
0.9.2dev1
0.9.2
What's Changed
- Fixed unexpected exception on adding integration #49
- When
Don't check volume when querying AVR source
is enabled, the current volume for a zone is not available until the zone is turned on for the first time after the integration starts. - The audio information, video information and listening mode queries are no longer sent to the AVR when all zones are off.
- Only power and (optionally) volume query commands are now sent for zones that are off when the integration starts
media_player
actionsplay
,pause
,stop
,next_track
andprevious_track
map to the equivalent AVR media functions supported AVR sources: Network (26), Internet Radio (38), Media Server (44), Tuner (02), USB-DAC (13), Pandora (41), Spotify (53), iPod/USB (17) . For example, when the Tuner is active,next_track
selects the next preset.- Fast forward, rewind, repeat and shuffle are not yet supported, this is tracked in #52
All Changes
- Synchronise max_source_id translations 8635b9a
- Enable localisation of service descriptions and options 2ec0df6
- Update deprecated asyncio.TimeoutError 14be148
- Add note about database updates if display property is enabled 2c9fd53
- Wait for first coordinator refresh to complete in async_setup_entry 6f5fab3
- Add _unrecorded_attributes property for PioneerZone 99042a0
- Move initial refresh callback to Zone 1 coordinator 5acaf00
- Disable AVR reconnection during config flow f4b85bd
- Bump aiopioneer to 0.7.1 5f9594d
- Use generic media control commands by @webmeister in #50
New Contributors
- @webmeister made their first contribution in #50
Full Changelog: 0.9.1...0.9.2
0.9.1
What's Changed
- New service
send_command
that sends defined commands to the AVR. See the Pioneer documentation linked from the aiopioneer references for the parameters accepted for each command. Fixes #41
All Changes
- Update Makefile to support local repo e99590f
- Use TunerBand enum in service select_tuner_band 93f9382
- Don't shutdown or del pioneer if it was never created 84c875a
- Fix passing of exception text when aborting
- Moved async yield to PioneerAVR.shutdown 9af9d58
- Add send_command service d023af3
- Add strings for PioneerAVR exceptions
- Remove asyncio import a19b091
- Fix select_tuner_band API call 9a37dd9
- Remove return code checking from PioneerAVR method calls ae450c0
- Move exception checking and translation to PioneerEntityBase.pioneer_command ae450c0
0.9.0
Warning
Configuration via configuration.yaml is no longer supported in this release. The configuration is ignored and an error is logged if YAML configuration is detected. To migrate, add the integration via the UI.
What's Changed
- AVR property groups, as well as some more useful properties such as
input_multichannel
anddisplay
, are presented as entities in HA. They can be displayed in the UI as well as used in scripts and automations. This adheres more closely to the HA architecture guidance on how attributes should be presented- The AVR property group sensor entities are considered beta and may change in the future, as it is expected that more properties will be exposed as separate entities
- System wide AVR property groups such as DSP, audio and video parameters are available as entities attached to the main Pioneer AVR device in HA. Zone specific AVR property groups are available as entities attached to the device in HA for each zone. All zone entities except for the
media_player
entity become available only when the zone is powered on - Tuner entities for preset, band and frequency can be changed via the UI, and trigger commands to the AVR when changed. They are only available when the tuner is the selected source for at least one powered on zone. There are separate entities for AM and FM frequency as they have different units of measurement
- Most of the new entities are disabled by default when the integration is added, to prevent changes from being written to the recorder. Disabled entities can be enabled by default in the entity's settings panel
- The Maximum source ID and Don't check volume when querying AVR source options can now be set when adding a new instance
- The
media_player
entity now uses the name of the zone device by default. The existing entity name should however be preserved when migrating from an older version of the integration. - Many action commands sent to the AVR (such as the ones that turn the AVR on and off) are now automatically sent up to 4 times by default (each with a 1 second delay) should they fail. The AVR sometimes refuses to execute certain actions in parallel, such as turning on/off multiple zones, and repeating the commands works around this limitation. Non-idempotent commands such as increase/decrease volume or preset are not repeated. The number of repeats can be configured through the Repeat action commands setting
- Service calls (eg.
turn_on
) that fail now generate an error message that is shown by HA in the front-end - Service calls now support using targets to specify entities
- The
media_next_track
andmedia_previous_track
services now change the tuner presets when the tuner is available - Some AVR system information (eg. software version) is not available if all AVR zones are powered off when the integration is started. The integration now re-polls system information and updates the attributes of the HA device when Zone 1 is turned on
- Documentation has been improved and should now more completely describe the integration's functionality
aiopioneer
Package Major Changes
- The tuner frequency will be set directly on AVR models that support this, instead of stepping the frequency up or down
- Some zone AVR properties such as tone settings are now polled during full updates
- Parsing issues for the
display
andsignal_input_resolution
have been fixed - For VSX-930, the power on volume bounce setting has been disabled by default, and it no longer supports polling of unsupported video properties on full updates making these complete faster
See the aiopioneer releases page for a detailed list of changes.
⚠️ Breaking Changes
- Integration configuration via
configuration.yaml
is no longer supported. ADR10 outlines that integrations that communicate with devices, such as this one, must be configured via the UI - Migration from
configuration.yaml
is not implemented. Instead, add the integration via the UI and change the settings there to match your previous configuration - As AVR properties are now available as separate entities, the corresponding AVR property groups that were previously exposed as attributes on the
media_player
entities have been removed - Some AVR properties were previously set to
---
when undefined or unknown. These properties are now set to a null value in such cases - The
set_tuner_preset
service has been renamed toselect_tuner_preset
, and theset_tuner_band
service has been renamed toselect_tuner_band
Full Changelog: 0.8.6...0.9.0
0.9.0rc1
⚠️ 0.9.0 Release Candidate 1
Note
This pre-release is a release candidate for the upcoming 0.9.0 release, and may contain more bugs than usual as a lot of the code has changed. It is recommended that you create a full backup of your HA configuration before you upgrade the integration to this version. The config entry generated by this version of the integration may not be compatible with previous versions, and a full restore or the removal and reinstallation of integration may be required to recover.
Warning
Configuration via configuration.yaml is no longer supported in this release. The configuration is ignored and an error is logged if YAML configuration is detected. To migrate, add the integration via the UI.
What's Changed
- AVR property groups, as well as some more useful properties such as
input_multichannel
anddisplay
, are presented as entities in HA. They can be displayed in the UI as well as used in scripts and automations. This adheres more closely to the HA architecture guidance on how attributes should be presented- The AVR property group sensor entities are considered beta and may change in the future, as it is expected that more properties will be exposed as separate entities
- System wide AVR property groups such as DSP, audio and video parameters are available as entities attached to the main Pioneer AVR device in HA. Zone specific AVR property groups are available as entities attached to the device in HA for each zone. All zone entities except for the
media_player
entity become available only when the zone is powered on - Tuner entities for preset, band and frequency can be changed via the UI, and trigger commands to the AVR when changed. They are only available when the tuner is the selected source for at least one powered on zone. There are separate entities for AM and FM frequency as they have different units of measurement
- Most of the new entities are disabled by default when the integration is added, to prevent changes from being written to the recorder. Disabled entities can be enabled by default in the entity's settings panel
- The Maximum source ID and Don't check volume when querying AVR source options can now be set when adding a new instance
- The
media_player
entity now uses the name of the zone device by default. The existing entity name should however be preserved when migrating from an older version of the integration. - Many action commands sent to the AVR (such as the ones that turn the AVR on and off) are now automatically sent up to 4 times by default (each with a 1 second delay) should they fail. The AVR sometimes refuses to execute certain actions in parallel, such as turning on/off multiple zones, and repeating the commands works around this limitation. Non-idempotent commands such as increase/decrease volume or preset are not repeated. The number of repeats can be configured through the Repeat action commands setting
- Service calls (eg.
turn_on
) that fail now generate an error message that is shown by HA in the front-end - Service calls now support using targets to specify entities
- The
media_next_track
andmedia_previous_track
services now change the tuner presets when the tuner is available - Some AVR system information (eg. software version) is not available if all AVR zones are powered off when the integration is started. The integration now re-polls system information and updates the attributes of the HA device when Zone 1 is turned on
- Documentation has been improved and should now more completely describe the integration's functionality
aiopioneer
Package Major Changes
- The tuner frequency will be set directly on AVR models that support this, instead of stepping the frequency up or down
- Some zone AVR properties such as tone settings are now polled during full updates
- Parsing issues for the
display
andsignal_input_resolution
have been fixed - For VSX-930, the power on volume bounce setting has been disabled by default, and it no longer supports polling of unsupported video properties on full updates making these complete faster
See the aiopioneer releases page for a detailed list of changes.
⚠️ Breaking Changes
- Integration configuration via
configuration.yaml
is no longer supported. ADR10 outlines that integrations that communicate with devices, such as this one, must be configured via the UI - Migration from
configuration.yaml
is not implemented. Instead, add the integration via the UI and change the settings there to match your previous configuration - As AVR properties are now available as separate entities, the corresponding AVR property groups that were previously exposed as attributes on the
media_player
entities have been removed - Some AVR properties were previously set to
---
when undefined or unknown. These properties are now set to a null value in such cases - The
set_tuner_preset
service has been renamed toselect_tuner_preset
, and theset_tuner_band
service has been renamed toselect_tuner_band
Full Changelog: 0.8.6...0.9.0
0.8.6
⚠️ Deprecation notice
Integration configuration via configuration.yaml
will no longer be supported from the next minor release (0.9.0).
ADR10 outlines that integrations that communicate with devices, such as this one, must be configured via the UI. Also, several more recently added features, such as support for the HA device registry and dynamic integration loading/unloading, already do not work unless configured via the UI.
All configuration.yaml
config options can be configured via the UI configuration now. If you believe that your current use case is not supported, then please describe your configuration in a reply to the discussion for this release, including your configuration.yaml
snippet.
Given that there are not many configurable options to migrate, there won't be an automatic YAML migration path. To migrate, you will need to delete the configuration.yaml
config, restart HA, remove any stale entities from Settings > Devices & Services > Entities, then configure the integration via the UI.
What's Changed
- Expose
listening_mode_raw
,tone
andaudio
in main zone entity attributes - Exclude AVR attribute state recording by recorder by default
- Support updates to
disable_auto_query
andget_zone_listening_modes
made in aiopioneer 0.5.0 - Bump aiopioneer to 0.5.0
Full Changelog: 0.8.5...0.8.6
0.8.5
0.8.4
- Add set_tuner_band service in HA integration and aiopioneer (fe3966d)
- In configure, redisplay basic options with queried sources if query sources enabled (1459397)
- Add step on integration add to disable source query and set basic parameters (1459397)
- Fix config entry version update on migration, fixes #28 (9a4ad0c)
- Improvements in aiopioneer 0.4.3:
- remove race condition that may have caused AVR responses to be missed
- avoid multiple commands being executed in parallel in several situations