* 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 return signature of service calls
* Add timeout error handling in websocket api for service calls
* Update recorder tests to remove assertion on service call
* Remove timeout behavior and update callers that depend on it today
* Fix tests
* Add missing else
* await coro directly
* Fix more tests
* Update the intent task to use wait instead of timeout
* Remove script service call limits and limit constants
* Update tests that depend on service call limits
* Use wait instead of wait_for and add test
* Update homeassistant/helpers/intent.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
---------
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Repeated warning messages on unavailable manually specified hosts
Sonos logs warning messages every 1 minute 12 seconds for hosts that are not on-line. This fixes the issue and the warning will be logged the first time, and subsequent logs messages will be at DEBUG level
* Update homeassistant/components/sonos/__init__.py
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
* Log info message when reconnect succeeds
* Use pop to simplify code
* Add additional test, fix key error with pop
* Use pop with default return value
* Update tests/components/sonos/test_init.py
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
* Update tests/components/sonos/test_init.py
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
* Update tests/components/sonos/test_init.py
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
* Update tests/components/sonos/test_init.py
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
* Update tests/components/sonos/test_init.py
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
* Update comment, remove unneeded line of code
---------
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
* 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
* Convert persistent notification tests to async
* Create/dismiss persistent notifications in exposed functions, not service calls
* Fix notify persistent_notification
* Remove setting up persistent_notification
* Drop more setups
* Empty methods
* Undeprecate sync methods because too big task
* Fix setup clearing notifications
* Fix a bunch of tests
* Fix more tests
* Uno mas
* Test persistent notification events
* Clean up stale comment
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* 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>
* Refactor alarms and favorites into household-level coordinators
Create SonosHouseholdCoodinator class for system-level data
Fix polling for both alarms and favorites
Adjust tests
* Fix docstring
* Review cleanup
* Move exception handling up a level, do not save a failed coordinator
* Apply suggestions from code review
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* 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>
* Add power binary_sensor support to Sonos
* Prepare for future unloading of config entries
* Remove unnecessary calls to super() inits
* Add binary_sensor to tests, remove invalid test for empty battery payload
* Move sensor added_to_hass to common sensor class
* Avoid dispatching sensors if no battery
* Use proper attributes property
* Remove power source fallback
* Update homeassistant/components/sonos/speaker.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Move Plex->Sonos playback service from integration to platform
* Test against 'native' Plex media_players
* Add Plex to Sonos after_dependencies
* Remove circular dependency
* Raise exceptions in failed service calls
* Add test to forward service call from Sonos
* Additional Sonos->Plex tests
* Fix docstring