98 Commits

Author SHA1 Message Date
Andrew Sayre
ab709aeb46
Add Get Queue HEOS entity service (#141150) 2025-03-25 16:55:44 -05:00
Andrew Sayre
ec4de0dcce
Always allow browsing TuneIn for HEOS (#141131)
* Always allow browsing TuneIn

* Update test snapshots

* Retry CI
2025-03-22 18:14:42 +01:00
Andrew Sayre
52d86ede3e
Add ability to browse (and play) HEOS media (#140433)
* Add browse and play

* Tests

* Add tests involving media source
2025-03-17 14:10:56 -05:00
Andrew Sayre
d8bcba9ef0
Enable HEOS automatic failover (#140394)
Failover
2025-03-11 13:00:43 -05:00
Andrew Sayre
6e2148193a
Bump pyheos to v1.0.3 (#140310)
Bump pyheos v1.0.3
2025-03-11 09:18:31 +01:00
Andrew Sayre
81e6b93529
Fix HEOS user initiated setup when discovery is waiting confirmation (#140119) 2025-03-08 14:57:44 +01:00
Andrew Sayre
deea19db51
Fix HEOS discovery error when previously ignored (#140091)
Abort ignored discovery
2025-03-07 23:31:32 -05:00
Andrew Sayre
b73c6ed768
Update HEOS host from discovery (#138950) 2025-02-21 13:32:36 +01:00
Andrew Sayre
2d0967994e
Fix ability to set HEOS options (#138235) 2025-02-20 13:14:57 +01:00
Andrew Sayre
1d3fcc67b8
Select preferred discovered HEOS host (#138779)
* Select preffered host from discovery

* Remove invalid test comment
2025-02-19 11:51:47 -06:00
Andrew Sayre
6613b46071
Add HEOS group volume down/up actions (#138801)
Add group volume down/up actions
2025-02-18 15:53:59 -06:00
Andrew Sayre
3659fa4c4e
Add HEOS entity service to set group volume level (#136885) 2025-02-18 11:56:50 -06:00
Andrew Sayre
34a33e0465
Create HEOS devices after integration setup (#138721)
* Create entities for new players

* Fix docstring typo
2025-02-17 09:28:55 -06:00
Andrew Sayre
89956adf2e
Allow removal of stale HEOS devices (#138677)
Allow device removal
2025-02-17 08:47:11 +01:00
Andrew Sayre
7aab1de72d
Bump pyheos to v1.0.2 (#138224)
Bump pyheos
2025-02-10 21:18:12 +02:00
Erik Montnemery
4b34d1bbb5
Merge config subentry feature branch to dev (#136121)
* Reapply "Add support for subentries to config entries" (#133470) (#136061)

* Reapply "Add support for subentries to config entries" (#133470)

This reverts commit ecb3bf79f32a2e25d141ff467e5958826ed9fc3a.

* Update test snapshot

* Add config subentry support to device registry (#128157)

* Add config subentry support to device registry

* Apply suggestions from code review

* Update syrupy serializer

* Update snapshots

* Address review comments

* Allow a device to be connected to no or a single subentry of a config entry

* Update snapshots

* Revert "Allow a device to be connected to no or a single subentry of a config entry"

This reverts commit ec6f613151cb4a806b7961033c004b71b76510c2.

* Update test snapshots

* Bump release version in comments

* Rename config_subentries to config_entries_subentries

* Add config subentry support to entity registry (#128155)

* Add config subentry support to entity registry

* Update syrupy serializer

* Update snapshots

* Update snapshots

* Accept suggested changes

* Clean registries when removing subentry (#136671)

* Clean up registries when removing subentry

* Update tests

* Clean up subentries from deleted devices when removing config entry (#136669)

* Clean up subentries from deleted devices when removing config entry

* Move

* Add config subentry support to entity platform (#128161)

* Add config subentry support to entity platform

* Rename subentry_id to config_subentry_id

* Store subentry type in subentry (#136687)

* Add reconfigure support to config subentries (#133353)

* Add reconfigure support to config subentries

* Update test

* Minor adjustment

* Rename supported_subentry_flows to supported_subentry_types

* Address review comments

* Add subentry support to kitchen sink (#136755)

* Add subentry support to kitchen sink

* Add subentry reconfigure support to kitchen_sink

* Update kitchen_sink tests with subentry type stored in config entry

* Update kitchen_sink

* Update kitchen_sink

* Adjust kitchen sink tests

* Fix hassfest

* Apply suggestions from code review

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Improve docstrings and strings.json

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update snapshots

* Update snapshots

* Update snapshots

* Update snapshots

* Update snapshots

* Update snapshots

* Update snapshots

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-02-10 16:40:07 +01:00
Andrew Sayre
dd82212e45
Handle previously migrated HEOS device identifier (#137596) 2025-02-07 09:04:34 -06:00
Andrew Sayre
bc7c5fbc86
Fix typing errors in HEOS tests (#136795)
* Correct typing errors of mocked heos

* Fix player related typing issues

* Sort mocks
2025-01-28 22:44:57 -05:00
Andrew Sayre
c4f8de8fd9
Raise exceptions in HEOS custom actions (#136546) 2025-01-28 14:08:40 +01:00
Andrew Sayre
c2da844f76
Add HEOS diagnostics (#136663) 2025-01-28 14:02:15 +01:00
Andrew Sayre
b27ee261bb
Fix HEOS play media type playlist (#136585) 2025-01-26 17:25:30 +01:00
Andrew Sayre
2fb85aab8e
Incorporate GroupManager into HEOS Coordinator (#136462)
* Incorporate GroupManager

* Update quality scale

* Fix group params

* Revert quality scale change

* Rename varaible

* Move group action implementaton out of coordinator

* Fix get_group_members hass access

* entity -> entity_id
2025-01-25 18:04:33 +01:00
Andrew Sayre
a3ba3bbb1d
Incorporate SourceManager into HEOS Coordinator (#136377)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-01-24 11:56:41 +01:00
Andrew Sayre
507239c661
Incorporate ControllerManager into HEOS Coordinator (#136302)
* Integrate ControllerManager

* Test for uncovered

* Correct test docstring

* Cast entry before graph access

* Assert config_entry state in reauth

* Use implicit casting
2025-01-23 12:52:56 -06:00
Andrew Sayre
52f77626f7
Implement Coordinator for HEOS (initial plumbing) (#136205) 2025-01-22 22:12:05 +01:00
Andrew Sayre
f4d6cb45e5
Add repeat feature to HEOS media player (#136180) 2025-01-22 12:25:56 +01:00
Andrew Sayre
9bf2996ea0
Update HEOS tests to not interact directly with integration internals (#136177) 2025-01-21 16:00:34 +01:00
Andrew Sayre
79a43b8a50
Update HEOS tests to not patch internals (#136136) 2025-01-21 08:26:34 +01:00
Andrew Sayre
d7ec99de7d
Remove yaml config fixture from HEOS tests (#136123) 2025-01-20 22:18:46 +01:00
Andrew Sayre
dde6dc0421
Raise exceptions in HEOS service actions (#136049)
* Raise errors instead of log

* Correct docstring typo
2025-01-20 13:29:57 -06:00
epenet
af40b6524e
Use new ServiceInfo location in component tests (part 3) (#136064) 2025-01-20 13:16:59 +01:00
Andrew Sayre
439f22f584
Fix HEOS device information (#135940) 2025-01-19 15:07:00 +01:00
Andrew Sayre
11fa6b2e4e
Bump pyheos to 1.0.0 (#135415) 2025-01-11 23:06:06 -06:00
Andrew Sayre
3fea4efb9f
Update pyheos to 0.9.0 (#134947)
Bump pyheos
2025-01-08 10:36:02 +02:00
Andrew Sayre
f68c16586d
Deprecate HEOS sign_in and sign_out actions (#134616) 2025-01-05 00:13:46 +01:00
Andrew Sayre
dfcb977a1d
Add HEOS Reauth Flow (#134465) 2025-01-03 18:11:10 +00:00
Andrew Sayre
c9ff575628
Add HEOS options flow for optional authentication (#134105)
* Add heos options flow

* Add options flow tests

* Test error condition during options sign out

* Use credentials when setting up

* Update warning instructions

* Simplify exception logic

* Cover unknown command error condition

* Add test for options

* Correct const import location

* Review feedback

* Update per feedback

* Parameterize tests and remaining feedback

* Correct log level in init

* nitpick feedback
2025-01-02 09:07:34 +01:00
Andrew Sayre
a9ff5b8007
Bump pyheos to v0.8.0 (#134069)
Bump pyheos and update usage
2024-12-27 11:01:35 -06:00
Andrew Sayre
e43f4466e0
Improve HEOS group handling (#132213)
* Move register method to GroupManager

* Remove GroupManager mapping when entity removed

* Add test for when unloaded

* Error when group member not found

* Use entity registery to remove entity

* Update tests per feedback
2024-12-21 09:40:33 +01:00
Andrew Sayre
cefb4a4ccc
Add HEOS reconfigure flow (#133326)
* Add reconfig flow

* Add reconfigure tests

* Mark reconfigure_flow done

* Review feedback

* Update tests to always end in terminal state

* Correct test name and docstring
2024-12-16 10:08:14 -06:00
Andrew Sayre
566843591e
Remove HEOS yaml import (#133082) 2024-12-13 09:46:52 +01:00
Andrew Sayre
4eb75a56e6
Use runtime data in HEOS (#132030)
* Adopt runtime_data

* Fix missing variable assignment

* Address PR feedback
2024-12-02 08:19:43 +01:00
epenet
a24fdd1c2b
Add missing hass type hint in component tests (h) (#124209)
* Add missing hass type hint in component tests (h)

* Fix import
2024-08-19 12:40:56 +02:00
Sid
721b2c2ca8
Enable Ruff PT012 (#113957) 2024-06-08 17:59:08 +02:00
J. Nick Koston
481de8cdc9
Ensure config entry operations are always holding the lock (#117214)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-05-12 08:20:08 +09:00
Joost Lekkerkerker
906d3198e3
Use is in enum comparison in config flow tests F-J (#114670)
* Use right enum expression F-J

* Fix
2024-04-02 23:01:37 +02:00
Joost Lekkerkerker
6bb4e7d62c
Bump ruff to 0.3.4 (#112690)
Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-26 00:02:16 +01:00
J. Nick Koston
4f18f0d902
Fix setup timings when config entry platform loads are not awaited (#113959)
* Move setup time logging into the context manager

We were fetching the time twice but since the context
manager already has the timing, move it there

* remove log setup assertions from integration test

* tweak logging to give us better data for tracking issues

* redundant

* adjust

* preen

* fixes

* adjust

* make api change internal so nobody uses it

* coverage

* fix test

* fix more tests

* coverage

* more tests assuming internal calls

* fix more

* adjust

* adjust

* fix axis tests

* fix broadlink -- it does not call async_forward_entry_setup

* missed some

* remove useless patch

* rename, detect it both ways

* clear

* debug

* try to fix

* handle phase finishing out while paused

* where its set does not need to know its late as that is an implemenation detail of setup

* where its set does not need to know its late as that is an implemenation detail of setup

* tweak

* simplify

* reduce complexity

* revert order change as it makes review harder

* revert naming changes as it makes review harder

* improve comment

* improve debug

* late dispatch test

* test the other way as well

* Update setup.py

* Update setup.py

* Update setup.py

* simplify

* reduce
2024-03-23 15:26:38 -04:00
Marc Mueller
32f3f46542
Add empty line after module docstring (2) [tests.components] (#112737) 2024-03-08 19:16:21 +01:00
Marc Mueller
c88b337600
Add empty line after module docstring [tests f-k] (#112709) 2024-03-08 14:50:04 +01:00