* Mark executor jobs as background unless created from a tracked task
If the current task is not tracked the executor job should not
be a background task to avoid delaying startup and shutdown.
Currently any executor job created in a untracked task or
background task would end up being tracked and delaying
startup/shutdown
* import exec has the same issue
* Avoid tracking import executor jobs
There is no reason to track these jobs as they are always awaited
and we do not want to support fire and forget import executor jobs
* fix xiaomi_miio
* lots of fire time changed without background await
* revert changes moved to other PR
* more
* more
* more
* m
* m
* p
* fix fire and forget tests
* scrape
* sonos
* system
* more
* capture callback before block
* coverage
* more
* more races
* more races
* more
* missed some
* more fixes
* missed some more
* fix
* remove unneeded
* one more race
* two
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>
* Update entity registry handling
* Add and use fixtures to test setup via config entry
* Remove legacy redundant tests
* Remove unnecessary mock_coro
* Remove unnecessary namespace change
* Move zeroconf payload to fixture
* Begin adding Sonos to codecov
* Mock proper return value
* Revert return value for platform
* Move parts of ssdp to async_upnp_client
* Fix test for environments with multiple sources
* Fix sonos tests
* More fixes/changes
* More fixes
* Use async_upnp_client==0.21.0
* Pylint/test fixes
* More changes after review
* Fix tests
* Improve testing
* Fix mypy
* Fix yamaha_musiccast tests?
* Changes after review
* Pylint
* Reduce calls to combined_headers
* Update to async_upnp_client==0.21.1
* Update to async_upnp_client==0.21.2
* use as_dict
Co-authored-by: J. Nick Koston <nick@koston.org>
* add sonos_alarm
* bug fix for _update_device
* fix pylint and black and co
* small bug fix in speaker.available_alarms
* cleanup and add _LOGGER.debug statements, fix pylint
* fix pylint
* _alarm_id to alarm_id
* fixed rare bug due to raceconditions
* Part 2 of raceconditionfix
* address review suggestions
* readd check for not yet subscribed
* - platforms_ready fix
- add alarmClock to pytest mock
* fixture for ListAlarms
* cleanup mock and match UUID for test
* add simple tests for sonos_alarm
* extend test for attributes
* typhint fix
* typo
* use get_alarms() directly
* refactor available_alarms
* fix attributes
* some cleanup
* change logic of fetch_alarms_for_speaker and rename to update_alarms_for_speaker
* update_alarms_for_speaker is now a method
* Update homeassistant/components/sonos/switch.py
Co-authored-by: jjlawren <jjlawren@users.noreply.github.com>
* Update homeassistant/components/sonos/speaker.py
Co-authored-by: jjlawren <jjlawren@users.noreply.github.com>
Co-authored-by: jjlawren <jjlawren@users.noreply.github.com>