* Swallow error 40000 for songpal power on/off
* Move ERROR_REQUEST_RETRY to consts
* Add tests for the swallow exception behavior
* Update tests/components/songpal/test_media_player.py
---------
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
As shown in #64868, a number of newer models don't come wiht a macAddr
attributes, so for those fall back to the wireless address.
This could be hidden by the python-songpal library but for now this will
make it possible to have multiple modern songpal devices on the same
network.
* 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.
* Use tests.async_mock instead of asynctest
* Remove unnecessary existence check
* Improve songpal service registering
* Add tests
* Seperate device api from entity api
* Improve disconnect log messages
* Improve tests
* Rename SongpalDevice to SongpalEntity
* Improve reconnecting
* Remove logging and sleep patch from tests
* Test unavailable state when disconnected
* Rename SongpalEntity.dev to _dev
* Add quality scale to manifest