* Speed up ffmpeg setup
Only check for old versions of ffmpeg if is_official_image
is False
* Speed up ffmpeg setup
Only check for old versions of ffmpeg if is_official_image
is False
* Speed up ffmpeg setup
Only check for old versions of ffmpeg if is_official_image
is False
* Speed up ffmpeg setup
Only check for old versions of ffmpeg if is_official_image
is False
* Speed up ffmpeg setup
Only check for old versions of ffmpeg if is_official_image
is False
* Speed up ffmpeg setup
Only check for old versions of ffmpeg if is_official_image
is False
* adjust
* adjust
* twea
* Update homeassistant/components/ffmpeg/__init__.py
* forgot about the mock in conftest for comps
* Add category registry
* Add entity registry support
* Update homeassistant/components/config/entity_registry.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Use ulid instead
* Add tests for adding same name in different scopes
* Handle keyerror on update
* Lookup tweak
* Omit categories from entity registry snapshots
* Use base registry
* Update snapshots
* Update snapshots
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add button entity
* Add support for Ring intercom ("other" device type)
* description
* format
* - Tests
- Fallback when intercom devices arent inside response
* Fix ring button
* Update library
* Fix button after merge
* Move names to strings.json
* Remove button entity_category
* Add wifi sensors to other
* Add last_ sensors to other
* Fix tests
* Add button test
* Add new sensors tests
* Revert "Add last_ sensors to other"
This reverts commit 5c03bba5a1.
* Update library
* Revert "Revert "Add last_ sensors to other""
This reverts commit 27631978d0.
* Fix tests
* Remove default list for other
Co-authored-by: Steven B. <51370195+sdb9696@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: Steven B. <51370195+sdb9696@users.noreply.github.com>
* Copy mock to conftest
* Fix history test
* Change time skip
* Remove button
* Fix history test
---------
Co-authored-by: Martin Pham <tuyentq2009@gmail.com>
Co-authored-by: Steven B. <51370195+sdb9696@users.noreply.github.com>
helpers already ports nacl at top level so this check can never
be False
```
>>> import sys
>>> from nacl.secret import SecretBox
>>> assert nacl in sys.modules
>>>
```
* Reduce script overhead by avoiding creation of many tasks
* no eager stop
* reduce
* make sure wait being cancelled is handled
* make sure wait being cancelled is handled
* make sure wait being cancelled is handled
* preen
* preen
* result already raises cancelled error, remove redundant code
* no need to raise it into the future
* will never set an exception
* Simplify long action script implementation
* comment
* preen
* dry
* dry
* preen
* dry
* preen
* no need to access protected
* no need to access protected
* dry
* name
* dry
* dry
* dry
* dry
* reduce name changes
* drop one more task
* stale comment
* stale comment
We save the device and entity registry to disk quite often, and
the cost of serializing them to the storage can block the event
loop for >100ms. Add a cache to reduce the change the loop is blocked
at an inopportune time at run time. The first write after startup
will still be a little slow but we do have to serialize the
bulk of it at least once as there is no way to avoid this
```
2024-03-14 11:28:19.765 WARNING (MainThread) [homeassistant.helpers.storage] Writing data with data_func: core.device_registry
2024-03-14 11:28:20.020 WARNING (MainThread) [homeassistant.helpers.storage] Writing data with data_func: core.entity_registry
2024-03-14 11:28:20.178 WARNING (MainThread) [asyncio] Executing <TimerHandle cancelled when=2319925.760294916 Store._async_schedule_callback_delayed_write() created at /Users/bdraco/home-assistant/homeassistant/helpers/storage.py:328> took 0.159 seconds
```
Construct storage data in the executor
Constructing storage data can be expensive for large files and can block the event
loop. While ideally we optimize the construction of the data, there are some places
we cannot make it any faster. To avoid blocking the loop, the construction of
the data is now done in the executor by running the data_func in the executor.
2024-03-14 11:28:20.178 WARNING (MainThread) [asyncio] Executing <TimerHandle cancelled when=2319925.760294916 Store._async_schedule_callback_delayed_write() created at /Users/bdraco/home-assistant/homeassistant/helpers/storage.py:328> took 0.159 seconds
There is some risk that the data_func is not thread-safe and needs to be run in
the event loop, but I could not find any cases in our existing code where it
would be a problem
* support transition time for lights
* bug fix and support for FLASH
* updated to flash() to match changes coming in pylutron
* bumped pylutron version in anticipation of next release
* Update manifest.json
* Update requirements_all.txt
* Update requirements_test_all.txt
* Update requirements_test_all.txt
* nits and code improves