* 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>
* Make async_get_device connections Optional, default None
* Remove unnecessary async_get_device connections arg usages
Some of these were using an incorrect collection type, which didn't
cause issues mostly just due to luck.