* Add support for grouping HEOS media players
* Update homeassistant/components/heos/media_player.py
Co-authored-by: Andrew Sayre (he/his/him) <6730289+andrewsayre@users.noreply.github.com>
* Update homeassistant/components/heos/media_player.py
Co-authored-by: Andrew Sayre (he/his/him) <6730289+andrewsayre@users.noreply.github.com>
* Update homeassistant/components/heos/media_player.py
Co-authored-by: Andrew Sayre (he/his/him) <6730289+andrewsayre@users.noreply.github.com>
* Update homeassistant/components/heos/media_player.py
Co-authored-by: Andrew Sayre (he/his/him) <6730289+andrewsayre@users.noreply.github.com>
* Update homeassistant/components/heos/media_player.py
Co-authored-by: Andrew Sayre (he/his/him) <6730289+andrewsayre@users.noreply.github.com>
* Update homeassistant/components/heos/media_player.py
Co-authored-by: Andrew Sayre (he/his/him) <6730289+andrewsayre@users.noreply.github.com>
* Handle groups at controller level, refine tests.
Co-authored-by: Andrew Sayre (he/his/him) <6730289+andrewsayre@users.noreply.github.com>
* Fix linting issues
* Update homeassistant/components/heos/media_player.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/heos/media_player.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Rename variables and improve resolving of entity_ids
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Don't patch internal methods
Use the pytest fixtures which have already been defined for this.
* Fix linting issues
* Remove unused property
* Ignore groups with unknown leader
This makes sure that the group_members attribute won't contain a `None`
value as a leader entity_id.
* Don't call force_update_groups() from tests
* Don't pass `None` player ids to HEOS API
* Use signal for group manager communication
* Use imports for async_dispatcher_send/async_dispatcher_connect
* Raise exception when leader/player could not be resolved
* Disconnect signal handlers, avoid calling async_update_groups too early
* Update homeassistant/components/heos/__init__.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Andrew Sayre (he/his/him) <6730289+andrewsayre@users.noreply.github.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* TTS seems unsupported on heos media player #32862
TTS seems unsupported on heos media player #32862
The type media_type music which is required by TTS was not covered.
* Update homeassistant/components/heos/media_player.py
Co-authored-by: Andrew Sayre <6730289+andrewsayre@users.noreply.github.com>
* Update to test_media_player.py
Test for TTS support to Heos #35386
* Update test
Add TTS support to Heos #35386
* Update to test_play_media_music
assert set to "Unable to play music: Failure (1)" seems to cause an issue.
* test_play_media_music
syntax
Co-authored-by: Andrew Sayre <6730289+andrewsayre@users.noreply.github.com>
* Add select source support
* Review feedback changes
* Removed unused import
* Ignore 'umused' import used in typing
* Only include trace back on useful errors
* Remove return from play_source
## Description:
Denon HEOS media player.
**Pull request in [home-assistant.io](https://github.com/home-assistant/home-assistant.io) with documentation (if applicable):** home-assistant/home-assistant.io#8848
## Example entry for `configuration.yaml` (if applicable):
```yaml
heos:
host: HEOS-1
```
## Checklist:
- [X] The code change is tested and works locally.
- [X] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass**
- [X] There is no commented out code in this PR.
If user exposed functionality or configuration variables are added/changed:
- [X] Documentation added/updated in [home-assistant.io](https://github.com/home-assistant/home-assistant.io)
If the code communicates with devices, web services, or third-party tools:
- [X] New dependencies have been added to the `REQUIREMENTS` variable ([example][ex-requir]).
- [X] New dependencies are only imported inside functions that use them ([example][ex-import]).
- [X] New or updated dependencies have been added to `requirements_all.txt` by running `script/gen_requirements_all.py`.
- [X] New files were added to `.coveragerc`.
If the code does not interact with devices:
- [ ] Tests have been added to verify that the new code works.
[ex-requir]: https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/components/keyboard/__init__.py#L14
[ex-import]: https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/components/keyboard/__init__.py#L23
Co-authored-by: Andrew Sayre <6730289+andrewsayre@users.noreply.github.com>