* Use websocket client to test device removal from registry
* Rename client to ws_client to avoid confusion with Unifi clients
* Use remove_device helper
* add work_area cutting_height
* add
* add default work_area
* ruff/mypy
* better names
* fit to api bump
* tweaks
* more tweaks
* layout
* address review
* change entity name
* tweak test
* cleanup entities
* fix for mowers with no workareas
* assure not other entities get deleted
* sort & remove one callback
* remove typing callbacks
* rename entity to entity_entry
* support for webos media player state
* add test coverage and don't use assumed state if media player state is available
* fallback to assumed state if media state isn't available
Co-authored-by: Shay Levy <levyshay1@gmail.com>
---------
Co-authored-by: Shay Levy <levyshay1@gmail.com>
* raise proper HomeAssistantError on command timeout
* raise proper HomeAssistantError on non-utf8 command output
* add error translation and test it
* Update homeassistant/components/shell_command/strings.json
* Update tests/components/shell_command/test_init.py
---------
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Add service to log all the current asyncio Tasks to the profiler
I have been helping users look for a task leaks, and need a
way to examine tasks at run time as trying to get someone to
run Home Assistant and attach aiomonitor is too difficult in
many cases.
* cover
* Small cleanups to climate entity feature compat
Fix some duplicate property fetches, avoid generating a new
enum every time supported_features was fetched if there was
no modifier
* param
* param
* Add matter during onboarding
* test_zeroconf_not_onboarded_running
* test_zeroconf_not_onboarded_installed
* test_zeroconf_not_onboarded_not_installed
* test_zeroconf_discovery_not_onboarded_not_supervisor
* Clean up
* Add udp address
* Test zeroconf udp info too
* test_addon_installed_failures_zeroconf
* test_addon_running_failures_zeroconf
* test_addon_not_installed_failures_zeroconf
* Clean up stale changes
* Set unique id for discovery step
* Fix tests for background flow
* Fix flow running in background
* Test already discovered zeroconf
* Mock unload entry
* Add thread safety checks to async_create_task
Calling async_create_task from a thread almost always results in an
fast crash. Since most internals are using async_create_background_task
or other task APIs, and this is the one integrations seem to get wrong
the most, add a thread safety check here
* Add thread safety checks to async_create_task
Calling async_create_task from a thread almost always results in an
fast crash. Since most internals are using async_create_background_task
or other task APIs, and this is the one integrations seem to get wrong
the most, add a thread safety check here
* missed one
* Update homeassistant/core.py
* fix mocks
* one more internal
* more places where internal can be used
* more places where internal can be used
* more places where internal can be used
* internal one more place since this is high volume and was already eager_start
It turns out we have custom components that are writing to the area registry using the async APIs from threads. We now catch it at the point async_fire is called. Instead we should check sooner and use async_fire_internal so we catch the unsafe operation before it can corrupt the registry.