* Add lock platform
* Tests and fixes
* Fix json
* Review Feedback
* Apply suggestions from code review
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* wording
* Fix rebase
---------
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Add a recommended model for Google Gen AI
* Add recommended settings to Google Gen AI
* Revert no API msg
* Use correct default settings
* Make sure options are cleared when using recommended
* Update snapshots
* address comments
* Cache serialize of manifest for loaded integrations
The manifest/list and manifest/get websocket apis
are called frequently when moving around in the UI.
Since the manifest does not change we can make
the the serialized version a cached property
* reduce
* reduce
* Fix turbojpeg init doing blocking I/O in the event loop
fixes
```
Detected blocking call to open inside the event loop by integration camera at homeassistant/components/camera/img_util.py, line 100: TurboJPEGSingleton.__instance = TurboJPEG() (offender: /usr/local/lib/python3.12/ctypes/util.py, line 276: with open(filepath, rb) as fh:), please create a bug report at https://github.com/home-assistant/core/issues?q=is%3Aopen+is%3Aissue+label%3A%22integration%3A+camera%22
```
* Update homeassistant/components/camera/img_util.py
* Fix turbojpeg init doing blocking I/O in the event loop
fixes
```
Detected blocking call to open inside the event loop by integration camera at homeassistant/components/camera/img_util.py, line 100: TurboJPEGSingleton.__instance = TurboJPEG() (offender: /usr/local/lib/python3.12/ctypes/util.py, line 276: with open(filepath, rb) as fh:), please create a bug report at https://github.com/home-assistant/core/issues?q=is%3Aopen+is%3Aissue+label%3A%22integration%3A+camera%22
```
* already suppressed and logged
* Refactor state_reported listener setup to avoid merge in async_fire_internal
Instead of merging the listeners in async_fire_internal, setup the listener for
state_changed at the same time so async_fire_internal can avoid having to copy
another list
* Refactor state_reported listener setup to avoid merge in async_fire_internal
Instead of merging the listeners in async_fire_internal, setup the listener for
state_changed at the same time so async_fire_internal can avoid having to copy
another list
* tweak
* tweak
* tweak
* tweak
* tweak
* Migrate issue registry to use singleton helper
The other registries were already migrated, but since this
one had a read only flag, it required a slightly different
solution since it uses the same hass.data key
* refactor
* Delay firmware probing until after the user picks the firmware type
* Remove confirmation step
* Fix unit tests
* Simplify unit test patching logic
Further simplify unit tests
* Bump Zigbee firmware up to the first choice
* Reuse `async_step_pick_firmware` during options flow
* Proactively validate all ZHA entries, not just the first
There can only be one (for now) so this changes nothing functionally
* Add unit test for bad firmware when configuring Thread