Aiopioneer

Latest version: v0.8.0

Safety actively analyzes 698693 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 5

0.8.0

TL;DR
Access to params and properties have changed in this release due to the main class being split up. All AVR updates are now scheduled via the command queue. The order of queries sent during AVR zone refresh have changed order. Some unused methods have been removed. The `Zones` enum and the `param` module have been renamed to `Zone` and `params` respectively.

Breaking Changes
* To enable params to be accessible from AVR response parsers and also to reduce the size of the main class, the `PioneerAVR` class has been split out to the classes listed below. References to parameter and properties methods and attributes will need to be updated to be accessed via the `params` and `properties` attributes of the `PioneerAVR` object. All other public attributes have moved to the new classes.
* `PioneerAVRParams` contains the user and run-time parameter get/set methods. Some method names have changed, please consult the updated documentation for details
* `PioneerAVRProperties` contains the cache of AVR properties collected from its responses
* `PioneerAVRConnection` contains the connection related methods, although `PioneerAVR` inherits from the new class so the connection methods are still accessible via the `PioneerAVR` class
* Commands that are sent to the AVR to perform full updates are now executed via the command queue. This eliminates the previous interaction between the updater and command queue threads, as the updater now simply schedules updates via the command queue
* The order of queries during a full update has been modified so that amp, DSP and tone queries are executed before video queries
* The `Zones` enum has been renamed `Zone` for improved consistency
* The `param` module has been renamed `params` for improved consistency
* Exception handling within the AVR interface methods has been made more robust. The AVR listener and responders will now only trigger disconnection from the AVR (and reconnection if requested) if the AVR connection drops. Notably, parser exceptions and timeouts to power, volume and mute queries will no longer cause the AVR connection to disconnect and reconnect. This should fully resolve issues such as crowbarz/ha-pioneer_async54
* Not detecting Zone 1 on the AVR on module startup has been demoted from an error to a warning and Zone 1 is assumed to exist. Despite this change, most AVR commands will still not work when the AVR is in this state. It is now up to the client to check that Zone 1 has been discovered and handle the case when it is not
* The `source` AVR zone property has been renamed `source_id`, and an additional `source_name` property has been introduced that contains the mapped name for the source for each zone
* The `query_device_model` method has been introduced to query the device model and set default model parameters. Previously, the `query_device_info` queried all device information including the device model regardless of whether the AVR main zone was powered on. Clients that previously called `query_device_info` at module startup should now call `query_device_model`. `query_device_info` will be automatically called when the main zone is powered on for the first time after connecting, and no longer needs to be called by the client
* If Zone 1 is not powered on at integration startup, queries for AVR device info is deferred until Zone 1 is first powered on.
* The `query_audio_information` and `query_video_information` commands have been renamed `query_basic_audio_information` and `query_basic_video_information`. These basic query commands, in addition to `query_listening_mode`, are executed with a delay after all zone power and source operations whenever any zone is powered on
* The `system_query_source_name` has been renamed to `query_source_name` to avoid being sent during AVR device info queries
* The `query_sources` method has been removed. `PioneerAVRParams.get_runtime_param(PARAM_QUERY_SOURCES)` should be used instead
* The `update_zones` method has been removed. Change the AVR zones by recreating the `PioneerAVR` object with the new zones
* The `PioneerAVR.initial_update` property has moved to run-time param `PARAM_ZONES_INITIAL_REFRESH` and is now a set of `Zone`. The `PioneerAVRParams.zones_initial_refresh` property is provided as a convenience to access this run-time parameter
* System parameters have been re-termed as run-time parameters to better reflect their function
* The `PioneerAVRProperties.zones` property now has typing `set[Zone]`

Major Changes
* Split connection, params and properties into separate classes by crowbarz in https://github.com/crowbarz/aiopioneer/pull/42
* Rename command system_query_source_name to query_source_name by crowbarz in https://github.com/crowbarz/aiopioneer/pull/43
* Simplify device info query by crowbarz in https://github.com/crowbarz/aiopioneer/pull/44
* Optimise AVR query command order by crowbarz in https://github.com/crowbarz/aiopioneer/pull/45
* Separate params and AVR properties into separate instantiated classes by crowbarz in https://github.com/crowbarz/aiopioneer/pull/46
* Update via command queue by crowbarz in https://github.com/crowbarz/aiopioneer/pull/47
* Rename zones class by crowbarz in https://github.com/crowbarz/aiopioneer/pull/48
* Rename module param to params by crowbarz in https://github.com/crowbarz/aiopioneer/pull/49

All Changes
* Update Makefile to use modern packaging 4f06af055abb890f1ffaa0da4a3564470374727c
* Split connection, params and properties into separate classes crowbarz/aiopioneer42
* Split out connection, properties, param classes
* Complete docstring
* Black
* Yield to cancelled tasks on disconnect
* Add more debug logs to _connection_listener
* Rename command system_query_source_name to query_source_name 67a99b01a0b3930e8a8efcfadaa34fda5fa0b34c crowbarz/aiopioneer43
* Correct CLI module path in pyproject.toml 872352f122c7c5972726f6da600c791f228c9c15
* Simplify device info query crowbarz/aiopioneer44
* Separate initial AVR model query to query_device_model method
* Update CLI to use query_device_model on initial connect
* Always execute query_device_info on initial zone refresh
* Consolidate AVR methods fb6c529e5bf5abb85dcce84a155fb5a245522518
* set_channel_levels optimisations 2bd26b9071239adeb6a965ef3c3c768cbb1e4460
* Consolidate param operations in param module 2c7bc3f19c703440f37314e31e97e0a7829e343e
* Convert param retrieval functions to property 2c7bc3f19c703440f37314e31e97e0a7829e343e
* Catch exceptions in command queue 0bf50c303f86386fb21bf337fade5dc30b9ac63f
* Defer updates after command queue flushed 0bf50c303f86386fb21bf337fade5dc30b9ac63f
* Optimise AVR query command order crowbarz/aiopioneer45
* Group audio/video information queries to new function `basic` (`audio` is now empty)
* Modify query order to proritise audio over video, and move `tuner`, `system` and `display` to end
* Refresh zone before querying device info
* Don't queue basic query after each update
* Add names to asyncio tasks 191edaf8f3a1c1e6b5cc11c7caa663e38bb02e3e
* Check for exceptions whenever checking that a task is done 266e040e60f85c054fecf991278969db620f126b
* Move model property to PioneerAVRProperties 981f55b01f0b65b838fffced3c06ca86e1103359
* Break up long string f02e2477bc6b5501428a3553d7a0ec55f3b252e9
* Separate params and AVR properties into separate instantiated classes crowbarz/aiopioneer46
* Update via command queue crowbarz/aiopioneer47
* Execute zone refreshes via command queue https://github.com/crowbarz/aiopioneer/commit/b69bdcbcdcc84298b1299ff43b3685f3104013e0
* Refactor update method and updater task to queue full refresh via command queue https://github.com/crowbarz/aiopioneer/commit/b69bdcbcdcc84298b1299ff43b3685f3104013e0
* Schedule command queue task when queueing commands https://github.com/crowbarz/aiopioneer/commit/b69bdcbcdcc84298b1299ff43b3685f3104013e0
* Query device info from refresh_zones after initial update, instead of queuing local command in parse_response https://github.com/crowbarz/aiopioneer/commit/b69bdcbcdcc84298b1299ff43b3685f3104013e0
* Don't refresh zones after querying zones https://github.com/crowbarz/aiopioneer/commit/b69bdcbcdcc84298b1299ff43b3685f3104013e0
* Rely on task.result() to re-raise exceptions in safe_wait_for https://github.com/crowbarz/aiopioneer/commit/b69bdcbcdcc84298b1299ff43b3685f3104013e0
* Removed unused update_zones https://github.com/crowbarz/aiopioneer/commit/b69bdcbcdcc84298b1299ff43b3685f3104013e0
* Add command queue debug param https://github.com/crowbarz/aiopioneer/commit/b69bdcbcdcc84298b1299ff43b3685f3104013e0
* Overhauled and simplified debug https://github.com/crowbarz/aiopioneer/commit/b69bdcbcdcc84298b1299ff43b3685f3104013e0
* Use repr to show exception name and details https://github.com/crowbarz/aiopioneer/commit/b69bdcbcdcc84298b1299ff43b3685f3104013e0
* Fix source name/ID property mapping https://github.com/crowbarz/aiopioneer/commit/ddb8265d9ac312a402f9db531132d5982bf23442
* Fix IP control port base property name https://github.com/crowbarz/aiopioneer/commit/4e7c0c4988ae93d6a7ac50cb10ed4fcc7f64235b
* Document IP control port base property https://github.com/crowbarz/aiopioneer/commit/98bac5cdcb636d09baf4ff3590086ad0b3ec7e14
* Fix set_system_param proto https://github.com/crowbarz/aiopioneer/commit/b400b5ce310af9e09a28a63713c90dbaaf58bcbf
* Move response parsing to parsers module https://github.com/crowbarz/aiopioneer/commit/b55210f701cb10e520ed6cd744f8aed49251b6f7
* Migrate response overrides for initial full refresh, query basic and volume bounce to parsers and local commands https://github.com/crowbarz/aiopioneer/commit/b55210f701cb10e520ed6cd744f8aed49251b6f7
* Pass full PioneerAVRParams object to parsers (allows setting of parameters) https://github.com/crowbarz/aiopioneer/commit/b55210f701cb10e520ed6cd744f8aed49251b6f7
* Move command_queue command parameters to list https://github.com/crowbarz/aiopioneer/commit/b55210f701cb10e520ed6cd744f8aed49251b6f7
* Rename "_query_basic_information" local command (and corresponding "_delayed_query_basic_information") to "_query_basic" https://github.com/crowbarz/aiopioneer/commit/b55210f701cb10e520ed6cd744f8aed49251b6f7
* Add _oob pseudo command to conditionally queue commands when not updating (response is out of band) https://github.com/crowbarz/aiopioneer/commit/b55210f701cb10e520ed6cd744f8aed49251b6f7
* Add return value typing for parser functions https://github.com/crowbarz/aiopioneer/commit/b55210f701cb10e520ed6cd744f8aed49251b6f7
* Move ip_control_port to base_property system https://github.com/crowbarz/aiopioneer/commit/5326c0d0c745c744bd784669bbd7797f8e6b859b
* Convert get_ipod_control_commands and get_tuner_control_commands to properties https://github.com/crowbarz/aiopioneer/commit/012fbe5293618956f3e08c7914699ebe7dc7aac3
* Fix _delayed_query_basic command https://github.com/crowbarz/aiopioneer/commit/ed83c5d6fa59e9761cd1c8a8f841fecb6f01a981
* Implement base_property command _clear_source_id to replace lambda function to call parent object method https://github.com/crowbarz/aiopioneer/commit/becef8826bf0126ed87e725c1620b0b894f4942c
* Query basic on zone power off https://github.com/crowbarz/aiopioneer/commit/65541cc83d0c919fb4d3b667db2811be15a694ea
* Correct prototype for parse_response https://github.com/crowbarz/aiopioneer/commit/034ad863bc9259b5eb09a57c9661b5657efc79d2
* Move initial_refresh public property to system param PARAM_ZONES_INITIAL_REFRESH https://github.com/crowbarz/aiopioneer/commit/0747afcfd664ab5ca716c2712f373e18fa60798a
* Move zones_initial_refresh property to PioneerAVRParams https://github.com/crowbarz/aiopioneer/commit/24ca4515afc44d404adb40444c3751206905cc13
* Simplify _read_response exception handling, defer to _connection_listener https://github.com/crowbarz/aiopioneer/commit/7273b5c1e348c1bcbd437e96eb03c0297935902e
* Terminate listener only if cancelled or EOF detected https://github.com/crowbarz/aiopioneer/commit/7273b5c1e348c1bcbd437e96eb03c0297935902e
* Suppress exception error logging on disconnect https://github.com/crowbarz/aiopioneer/commit/545575307c50b68c172b614345de26f2e7584dab
* Fix command queue exception logging https://github.com/crowbarz/aiopioneer/commit/205bc133c4c18609e2d8f4beb628da28c8065d27
* Yield to start command queue before waiting https://github.com/crowbarz/aiopioneer/commit/fd2231ecff9fb744f9d86bceba4d6b749b3824c6
* Add param PARAM_ALWAYS_POLL to ignore out of band responses as state refresh and instead always poll AVR state https://github.com/crowbarz/aiopioneer/commit/493b10522809f4b042f20edfa5b48529fc435705)
* Add debug_command_queue documentation https://github.com/crowbarz/aiopioneer/commit/3d5d3de0eef9fb457b85a933a4d90dd4545af06d
* Fix missing await https://github.com/crowbarz/aiopioneer/commit/ae016c0fbc4f64819e123b6e7598e27315999f7f
* Cache source_name in PioneerAVRProperties https://github.com/crowbarz/aiopioneer/commit/dd6bade8329aae0dfd08c1f91700c4f9628e493f
* Get task name directly from task in cancel_task https://github.com/crowbarz/aiopioneer/commit/a7326d8d2afb86c74de58015bb8767bf9864e017
* Make reconnect_avr method private https://github.com/crowbarz/aiopioneer/commit/edd57aa3f42d817b618bc59c720d9bd6267efe84
* Return after warning if disconnect called when already disconnected https://github.com/crowbarz/aiopioneer/commit/edd57aa3f42d817b618bc59c720d9bd6267efe84
* Show delay as float in connect retry message https://github.com/crowbarz/aiopioneer/commit/edd57aa3f42d817b618bc59c720d9bd6267efe84
* Rename PioneerAVRProperties.source -> source_id https://github.com/crowbarz/aiopioneer/commit/ed283f0f9b7399bb2d228fe62d03e82530ecc66d
* Fix source_id base_property in source parser ce62cbaa03e0173a38b8ba202b46e4e799970c80
* Cancel reconnect task on shutdown during reconnect c73608285170dec1645b54a2b0232c935c8f82f9
* Rename zones class crowbarz/aiopioneer48
* Rename Zones class to Zone
* Add Zone.full_name staticmethod
* Rename module param to params crowbarz/aiopioneer49
* Fix set_system_param docstring 64085e17a5cb3c2cf26f1b69a3311a72477abd54
* Make command_queue_schedule method private 1a23f17e329a9caf5cbd51b3ff7a3e0154277afe
* Correct debug method argument order 10b7df8d222a3ec74b304f445fa0371d98205833
* Tighten typing for AVR property groups 37e18008d9c2b5e0fe3b53be788478e1aebe226f
* Disconnect and raise AVRUnavailableError if reader or writer return failure beba91aaeaad44b1336b782b2cc9efa3cd7471a0
* Update typing for scan_interval to float 8d490758b997b8af472440deb93eb88c8662f020
* Rename (get|set)_system_param to (get|set)_runtime_param 05e45f1cc95292b48fe04981720525dca9a08157
* Documentation update for 0.8 56c9afe359d0529c258f35aae4d10dec282453a8
* Change Zone.full_name to property f937d1263d9e967e1c63c63199fc391a2f833ff7
* Update errors to use Zone.full_name f937d1263d9e967e1c63c63199fc391a2f833ff7
* Change PioneerAVRProperties.zones to set[Zone] f937d1263d9e967e1c63c63199fc391a2f833ff7
* Change default for PARAM_IGNORE_VOLUME_CHECK to True for all AVRs 50
* Further documentation updates f1cb42f1bfc632278826bef5feeecab918ec85d6
* Update typing d69b252cc20114c9a3c1963d2313f187c53751d2

**Full Changelog**: https://github.com/crowbarz/aiopioneer/compare/0.7.1...0.8.0

0.7.1

What's Changed
* Correct select_listening_mode and select_source method type hints 0de88bac99391351a1683a89b14df8a9948d6639
* Add reference to 2015 Pioneer command list 953de75591375f45849bbbd8900043758e414190
* Fix UnboundLocalError by webmeister in https://github.com/crowbarz/aiopioneer/pull/37
* Added VIDEO and GAME source IDs to source list by dondonini in https://github.com/crowbarz/aiopioneer/pull/38
* Updated deprecated asyncio.TimeoutError 6d2fbbcefb9a4849b6a4e738f342acfed63c501b
* Fix minor typos db7219d6d1f8d57a66c61ac0ddb41afbc1295400
* Migrate setup.py to pyproject.toml f1544bf8176ec3878f2a81b3faf0eaa9860c3094
* Explicitly pass command_name to local_command 554bde240b7aa28215060d339599076e138e69e9
* Renamed zone update to refresh 7c12d701beffbca871aeecb40a1e8eb23bd01082
* Track initial refresh for individual zones 7c12d701beffbca871aeecb40a1e8eb23bd01082
* Support update of specific zone 7c12d701beffbca871aeecb40a1e8eb23bd01082
* Always start updater task c58cf91a21337d973f0778992f074747e23289bc
* Simplify zone discovery e2760f5a770d428e37303ff00fbe9cc04532db48
* Add AV information query command a079d4e733a15f70b365f0be232f8d6ba89520ef
* Change update terminology to refresh a079d4e733a15f70b365f0be232f8d6ba89520ef
* Add command queue debug to default debug level a079d4e733a15f70b365f0be232f8d6ba89520ef
* Simplify update_zone logic by webmeister in https://github.com/crowbarz/aiopioneer/pull/39

New Contributors
* webmeister made their first contribution in https://github.com/crowbarz/aiopioneer/pull/37
* dondonini made their first contribution in https://github.com/crowbarz/aiopioneer/pull/38

**Full Changelog**: https://github.com/crowbarz/aiopioneer/compare/0.7.0...0.7.1

0.7.0

What's Changed
* `select_listening_mode` now accepts arguments `mode_name` or `mode_id` (requires one argument)
* `select_source` now accepts arguments `source` or `source_id` (requires one argument)

Breaking Changes
* The `listening_mode` argument of `select _listening_mode` has been renamed to `mode_name`
* Most PioneerAVR methods now raise exceptions derived from `PioneerError` when an error is encountered, rather than returning `false`, `None` or similar error value. Some instances that currently raise `ValueError` or `SystemError` will also raise `PioneerError` subclasses in the near future
* `send_raw_request` no longer accepts an argument `ignore_error` and will always raise exceptions on error. Use `ignore_error` with `send_command` to have exceptions handled for you
* asyncio yields have been optimised and minimised, which may cause certain sequences of operations to happen in a different order

All Changes
* Update class methods to throw exceptions on error ef2c580db79b0fc81adc08853814bb56b081f3b9
* Rationalise `asyncio.sleep(0)` calls ac872fff08578142fc98170e4f3cbd6d200dc532
* Fix frequency step error, fixes crowbarz/ha-pioneer_async43 758cde0522817903eb4665238504a6411059bed2
* Raise `PioneerError` subclasses instead of returning None/False to flag errors in send_raw_request and _wait_for_response a6a29d4ab991ae3463cefc1067784e2473c8458a
* Remove ignore_error argument in send_raw_request and _wait_for_response a6a29d4ab991ae3463cefc1067784e2473c8458a
* Handle ignore_error in send_command by catching exceptions a6a29d4ab991ae3463cefc1067784e2473c8458a
* Refactor send_raw_request to use send_command a6a29d4ab991ae3463cefc1067784e2473c8458a
* Raise RuntimeError instead of SystemError 940a8cb36738298262c5019f98ec91314ea8f47e
* Rename Pioneer exception classes to *Error a84d5bf30aefcbb5937bda598ea2b482ef26c8a0
* Fix AVRCommandError class rename 06986f8cae267241168b40308fce2706b4e0c97a
* Perform initial update only on Zone 1 power on 0b6b536ab911bd60d4d3a0090afcb7b56d16da70
* Fix enum comparisons 80c82489205f6020860abdbb48dd161972225ee0
* Fix zone enum inequality comparisons de0d008292b6bb3d22c82aaa93464a06716b9e48

0.6.0

What's Changed

> [!WARNING]
> Please check out the Breaking Changes below if you use the Python API.

Tuner

* Support setting tuner frequency directly ff2161d1b7e6c76151d25ff16ca350ce7d4b58b8 252bcef2630956ba931be5f8bfda382412842490
* Fix frequency stepping when setting directly not supported 252bcef2630956ba931be5f8bfda382412842490 bbe1f669f5abc0cc26ce0011e3f9d86a2951827e bbe1f669f5abc0cc26ce0011e3f9d86a2951827e bbe1f669f5abc0cc26ce0011e3f9d86a2951827e 252bcef2630956ba931be5f8bfda382412842490
* Query and update tuner frequency before updating preset 55ae49d09cc536bd6d7f4a9543a0a276d100ef75 273b9d9ed7d268ecc6b17704d341e9c59ed3a574 9277b9773a4f96a26d99be44ec35283db36debe2 252bcef2630956ba931be5f8bfda382412842490 a3699eee9c497c886de8a5d287ee8342a70d0df8
* Invalidate cached preset when frequency changes dcf5a15b9206a25d70128888ff0382becefc01e3 49913149ea8fdb1443c31f884f882f263d9e4644
* Check band argument in `select_tuner_band` 0f75e4b7a00b9869005040ce6757b682bfe4db63
* Add `tuner_previous_preset` and `tuner_next_preset` commands 8455983caf24c2d2e8393836963b9d7e26b40164
* Add `select_tuner_band`, `tuner_next_preset` and `tuner_previous_preset` methods 4359b7ccc6a50564cea52b051a78fb9525bdf960 bd05c51844eec8670de1fcaeef85c7630d5cf1e2

Status polling

* Defer initial update if AVR Zone 1 is off on startup 4409e9a5e72c3e4f11d9c17bee7a0590cfcb2119 4ad2caa81cf76f5e0f348f60afd32dec0a008d1f 4409e9a5e72c3e4f11d9c17bee7a0590cfcb2119 12593eca7dec6f5ad8d85f9f1776d1c15634ef70 88a9050d249a617563657916ad53c3374254ae96
* Optimise queries on update 3d1baa2ee0a6786f357441dcc6d3b80c0fe74dc5 565e5c5b4ff82da43d66af1920db37d25501c08e b6b1c310fcd6e4c5333b66589f9f04fdc3cc248b 4409e9a5e72c3e4f11d9c17bee7a0590cfcb2119
* Fix query commands supporting multiple zones not being executed on zone 1 34329d38089b1428d78d640ac45900babf739b46
* Trigger update of `Zones.ALL` on power and input source changes 0c24787c4b3f0cd142248300ac6e5a4cb04cb5af
* Refactor command queue processing and introduce local commands fa1a6b9f3a863734a1a2b768956eb253d3a88ea4 273b9d9ed7d268ecc6b17704d341e9c59ed3a574 2fd6698bb4759e3173d95271475a068a13236168 32470bd2078e7811d7215336c87667d5aeeb7133 32470bd2078e7811d7215336c87667d5aeeb7133 12593eca7dec6f5ad8d85f9f1776d1c15634ef70 b852624cee81f439389bc16e24f9850bfaf32ca7
* Don't skip update if updates are locked 156c4b730bfd0325360749af4badc32b20d3b4fe
* Expose `command_queue_schedule` method 85eb6c5d92d4e842b638b30106219ca48bc31df9

Response parsing

* Restructured parsers functions and classes 8c657cdd9bb888fec7c5e6fa2b75bb568a1ac9f4 8c657cdd9bb888fec7c5e6fa2b75bb568a1ac9f4 32470bd2078e7811d7215336c87667d5aeeb7133
* Changed tuner response parser default zone to match commands dcf5a15b9206a25d70128888ff0382becefc01e3
* Remove tabs and newlines from display 0f74481b3dcd14d369aae7bc06fd81905dd3e830
* Include last character of display information 92ec86023f3db14ebf35f93389b19267383463b8
* Decode correct bytes for signal_input_resolution 92ec86023f3db14ebf35f93389b19267383463b8
* Fix video signal_input_resolution property parsing 575ad906ef06f15e7821d54b59289c7e58d1de3d

Miscellaneous

* Update Main Zone terminology to Zone 1 368b7d628517a3957a0d4c77071d709346073b66
* Return command response for `turn_on`, `turn_off` and `set_source_name` methods
dd31842b61ba98cdf450a2d4bfc41094bdf253db
* Abort on any command failure for `set_*_settings` dd31842b61ba98cdf450a2d4bfc41094bdf253db
* Reorder task cancellation on disconnect to avoid stale tasks af75081656ebbf10d31fab6b884dca53b12abfce
* Refactor `set_tone_settings` method 5edfb6b7d7a4a639de396806121eb08dd7f3fd40
* Add `SOURCE_TUNER` constant for detecting tuner source 797a2bfecd91fa3179ff3f785d86826321dc0c0b
* Return immutable dict in get_source_dict b66c73270ae6279f052d1f239f860eacb71ed5a4
* Use `copy.deepcopy` to return dict copy instead of merge a6b17ee34903eafa90b973d7988bc73690e5f7bb
* Use `StrEnum` for enums 9a785fb477911adbb15392ec049eb47d9fdeddf1
* Update `test_api.py` for recent aiopioneer changes 6f77c26524fe20823bf646d3fceecbb825449f08
* Disable power on volume bounce and video queries for VSX-930 by default 80431d94a80ca7acd24ef2edac034c363599f364 85d0161edb24cef58aabc89490d2434b9506f498
* Simplify zone checking for `set_video_settings` and `set_dsp_settings` 80c73c705156a277ed7be7596baba7b9f8b7dd70
* Misc comment updates 80c73c705156a277ed7be7596baba7b9f8b7dd70
* Fix zone argument type for `_update_zone` and `set_volume_level` 0f75e4b7a00b9869005040ce6757b682bfe4db63
* Ensure `send_command` optional arguments not specified positionally 7f6444140697329cab7b8b2af71b61fff0dfa5ff
* Clarified method docstrings 7f6444140697329cab7b8b2af71b61fff0dfa5ff
* Add function prototype for __init__ and use `DEFAULT_TIMEOUT` and `DEFAULT_SCAN_INTERVAL` db32e5ef911fd2208ceaf79823699bbd47051123
* get_param returns None for non-existent parameters edfdbd9ec6d999c28f3ec6c570c83303fa4f9c1d

:warning: Breaking Changes

* Python requirement bumped to 3.11 for StrEnum d986f2f619bd9c4270d06b6711d83f3f96070e79
* `Zones` enum now used on all methods accepting zone arguments (except in params) f6131b406048fa4b04fbe70c0c21cbaa3780e9a3 dd31842b61ba98cdf450a2d4bfc41094bdf253db
* Zone argument removed from tuner methods as tuner is independent of zone dcf5a15b9206a25d70128888ff0382becefc01e3
* `TunerBand` enum now used to specify a tuner band dcf5a15b9206a25d70128888ff0382becefc01e3
* `update` now waits for the update to finish by default 156c4b730bfd0325360749af4badc32b20d3b4fe ddc39a9cd732e9b3177745f5f873407f299f2a64
* `set_tuner_preset` renamed to `select_tuner_preset` 012e5718537b835d88788bbc3fec427e9a7afd5f
* Response codes marked `---` now return None 81d5869ddc24657c186c378a25129a53d1894373
* Dimmer mode, tone mode and dB strings have been updated 5edfb6b7d7a4a639de396806121eb08dd7f3fd40 bdc590aab535b6a355b354210132b5125926317c
* Reordered `send_command` suffix argument 7f6444140697329cab7b8b2af71b61fff0dfa5ff
* Rename `get_zone_listening_modes` -> `get_listening_modes` 80c73c705156a277ed7be7596baba7b9f8b7dd70
* Remove zone from `tuner_*`, `get_listening_modes`, `set_panel_lock`, `set_remote_lock` and `set_dimmer` methods c45055b6c93dce12ee73bc910d5dd56b6ab39f32
* Rename `set_listening_mode` -> `select_listening_mode` 4c7626b86974b0f865feb47c1eea55fb03015ca6

0.6.0rc1

:warning: Release Candidate 1

`aiopioneer` 0.6.0 will be a major upgrade that complements the upcoming release of the [`pioneer_async` Home Assistant integration](https://github.com/crowbarz/ha-pioneer_async). This release candidate enables the `pioneer_async` release candidate to be installed on Home Assistant.

Please check out the Breaking Changes below if you use the Python API.

What's Changed

Tuner

* Support setting tuner frequency directly ff2161d1b7e6c76151d25ff16ca350ce7d4b58b8 252bcef2630956ba931be5f8bfda382412842490
* Fix frequency stepping when setting directly not supported 252bcef2630956ba931be5f8bfda382412842490 bbe1f669f5abc0cc26ce0011e3f9d86a2951827e bbe1f669f5abc0cc26ce0011e3f9d86a2951827e bbe1f669f5abc0cc26ce0011e3f9d86a2951827e 252bcef2630956ba931be5f8bfda382412842490
* Query and update tuner frequency before updating preset 55ae49d09cc536bd6d7f4a9543a0a276d100ef75 273b9d9ed7d268ecc6b17704d341e9c59ed3a574 9277b9773a4f96a26d99be44ec35283db36debe2 252bcef2630956ba931be5f8bfda382412842490 a3699eee9c497c886de8a5d287ee8342a70d0df8
* Invalidate cached preset when frequency changes dcf5a15b9206a25d70128888ff0382becefc01e3 49913149ea8fdb1443c31f884f882f263d9e4644
* Check band argument in `select_tuner_band` 0f75e4b7a00b9869005040ce6757b682bfe4db63
* Add `tuner_previous_preset` and `tuner_next_preset` commands 8455983caf24c2d2e8393836963b9d7e26b40164
* Add `select_tuner_band`, `tuner_next_preset` and `tuner_previous_preset` methods 4359b7ccc6a50564cea52b051a78fb9525bdf960 bd05c51844eec8670de1fcaeef85c7630d5cf1e2

Status polling

* Defer initial update if AVR Zone 1 is off on startup 4409e9a5e72c3e4f11d9c17bee7a0590cfcb2119 4ad2caa81cf76f5e0f348f60afd32dec0a008d1f 4409e9a5e72c3e4f11d9c17bee7a0590cfcb2119 12593eca7dec6f5ad8d85f9f1776d1c15634ef70 88a9050d249a617563657916ad53c3374254ae96
* Optimise queries on update 3d1baa2ee0a6786f357441dcc6d3b80c0fe74dc5 565e5c5b4ff82da43d66af1920db37d25501c08e b6b1c310fcd6e4c5333b66589f9f04fdc3cc248b 4409e9a5e72c3e4f11d9c17bee7a0590cfcb2119
* Fix query commands supporting multiple zones not being executed on zone 1 34329d38089b1428d78d640ac45900babf739b46
* Trigger update of `Zones.ALL` on power and input source changes 0c24787c4b3f0cd142248300ac6e5a4cb04cb5af
* Refactor command queue processing and introduce local commands fa1a6b9f3a863734a1a2b768956eb253d3a88ea4 273b9d9ed7d268ecc6b17704d341e9c59ed3a574 2fd6698bb4759e3173d95271475a068a13236168 32470bd2078e7811d7215336c87667d5aeeb7133 32470bd2078e7811d7215336c87667d5aeeb7133 12593eca7dec6f5ad8d85f9f1776d1c15634ef70 b852624cee81f439389bc16e24f9850bfaf32ca7
* Don't skip update if updates are locked 156c4b730bfd0325360749af4badc32b20d3b4fe
* Expose `command_queue_schedule` method 85eb6c5d92d4e842b638b30106219ca48bc31df9

Response parsing

* Restructured parsers functions and classes 8c657cdd9bb888fec7c5e6fa2b75bb568a1ac9f4 8c657cdd9bb888fec7c5e6fa2b75bb568a1ac9f4 32470bd2078e7811d7215336c87667d5aeeb7133
* Changed tuner response parser default zone to match commands dcf5a15b9206a25d70128888ff0382becefc01e3
* Remove tabs and newlines from display 0f74481b3dcd14d369aae7bc06fd81905dd3e830
* Include last character of display information 92ec86023f3db14ebf35f93389b19267383463b8
* Decode correct bytes for signal_input_resolution 92ec86023f3db14ebf35f93389b19267383463b8
* Fix video signal_input_resolution property parsing 575ad906ef06f15e7821d54b59289c7e58d1de3d

Miscellaneous

* Update Main Zone terminology to Zone 1 368b7d628517a3957a0d4c77071d709346073b66
* Return command response for `turn_on`, `turn_off` and `set_source_name` methods
dd31842b61ba98cdf450a2d4bfc41094bdf253db
* Abort on any command failure for `set_*_settings` dd31842b61ba98cdf450a2d4bfc41094bdf253db
* Reorder task cancellation on disconnect to avoid stale tasks af75081656ebbf10d31fab6b884dca53b12abfce
* Refactor `set_tone_settings` method 5edfb6b7d7a4a639de396806121eb08dd7f3fd40
* Add `SOURCE_TUNER` constant for detecting tuner source 797a2bfecd91fa3179ff3f785d86826321dc0c0b
* Return immutable dict in get_source_dict b66c73270ae6279f052d1f239f860eacb71ed5a4
* Use `copy.deepcopy` to return dict copy instead of merge a6b17ee34903eafa90b973d7988bc73690e5f7bb
* Use `StrEnum` for enums 9a785fb477911adbb15392ec049eb47d9fdeddf1
* Update `test_api.py` for recent aiopioneer changes 6f77c26524fe20823bf646d3fceecbb825449f08
* Disable power on volume bounce and video queries for VSX-930 by default 80431d94a80ca7acd24ef2edac034c363599f364 85d0161edb24cef58aabc89490d2434b9506f498
* Simplify zone checking for `set_video_settings` and `set_dsp_settings` 80c73c705156a277ed7be7596baba7b9f8b7dd70
* Misc comment updates 80c73c705156a277ed7be7596baba7b9f8b7dd70
* Fix zone argument type for `_update_zone` and `set_volume_level` 0f75e4b7a00b9869005040ce6757b682bfe4db63
* Ensure `send_command` optional arguments not specified positionally 7f6444140697329cab7b8b2af71b61fff0dfa5ff
* Clarified method docstrings 7f6444140697329cab7b8b2af71b61fff0dfa5ff
* Add function prototype for __init__ and use `DEFAULT_TIMEOUT` and `DEFAULT_SCAN_INTERVAL` db32e5ef911fd2208ceaf79823699bbd47051123
* get_param returns None for non-existent parameters edfdbd9ec6d999c28f3ec6c570c83303fa4f9c1d

:warning: Breaking Changes

* Python requirement bumped to 3.11 for StrEnum d986f2f619bd9c4270d06b6711d83f3f96070e79
* `Zones` enum now used on all methods accepting zone arguments (except in params) f6131b406048fa4b04fbe70c0c21cbaa3780e9a3 dd31842b61ba98cdf450a2d4bfc41094bdf253db
* Zone argument removed from tuner methods as tuner is independent of zone dcf5a15b9206a25d70128888ff0382becefc01e3
* `TunerBand` enum now used to specify a tuner band dcf5a15b9206a25d70128888ff0382becefc01e3
* `update` now waits for the update to finish by default 156c4b730bfd0325360749af4badc32b20d3b4fe ddc39a9cd732e9b3177745f5f873407f299f2a64
* `set_tuner_preset` renamed to `select_tuner_preset` 012e5718537b835d88788bbc3fec427e9a7afd5f
* Response codes marked `---` now return None 81d5869ddc24657c186c378a25129a53d1894373
* Dimmer mode, tone mode and dB strings have been updated 5edfb6b7d7a4a639de396806121eb08dd7f3fd40 bdc590aab535b6a355b354210132b5125926317c
* Reordered `send_command` suffix argument 7f6444140697329cab7b8b2af71b61fff0dfa5ff
* Rename `get_zone_listening_modes` -> `get_listening_modes` 80c73c705156a277ed7be7596baba7b9f8b7dd70
* Remove zone from `tuner_*`, `get_listening_modes`, `set_panel_lock`, `set_remote_lock` and `set_dimmer` methods c45055b6c93dce12ee73bc910d5dd56b6ab39f32
* Rename `set_listening_mode` -> `select_listening_mode` 4c7626b86974b0f865feb47c1eea55fb03015ca6

0.5.0

What's Changed
* Add `extra_amplifier_listening_modes` to allow specifying set of listening modes supported by an AVR or AVR model dfc07f8d976508e5b72fda27ffb6921e3980d912
* Update available listening mode defaults for VS-930 b48142a74e5199b471ab269db00260bd6dfeb723
* Cache `listening_mode_raw` ID and expose as attribute dfc07f8d976508e5b72fda27ffb6921e3980d912
* Make listening mode names unique aa54e96edcc0e0a1d2350ade06c5da52e26b751f
* Consolidate common `PARAM_DISABLED_LISTENING_MODES` and `PARAM_SPEAKER_SYSTEM_MODES` configurations 4b666ce390bd20929b16692bab0fe730f93cc7c9
* Remove flags byte from amp display attribute 521cced0ec03f3088f894e9a6a78aee32333534d
* Query display information on power or input change 79df438f233efe02515b4930738214b9f6af81fd
* Call all zone callbacks on update to Zones.ALL 95133d5b61d5093a2ca5a9d5fb88b783115e8e8f
* Always override calculated PARAM_TUNER_AM_FREQ_STEP if specified by user be3293551a77252c202d63aaacbdaeeb52b6244f

Breaking Changes
* Rename `get_sound_modes` to `get_zone_listening_modes` to reflect AVR terminology. dfc07f8d976508e5b72fda27ffb6921e3980d912
* Rename `disable_autoquery` to `disable_auto_query` d2b3c41fc28bdaa67f87825dae426bdd61793249
* `amplifier_speaker_system_modes` and `disabled_amplifier_listening_modes` were shortened to `amp_speaker_system_modes` and `disabled_amp_listening_modes` respectively. d2b3c41fc28bdaa67f87825dae426bdd61793249

**Full Changelog**: https://github.com/crowbarz/aiopioneer/compare/0.4.3...0.5.0

Page 1 of 5

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.