* 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
* Use defaultdict for registry indices
defaultdict is faster and does not have to create an empty
dict that gets throw away when the key is already present
* Use defaultdict for registry indices
defaultdict is faster and does not have to create an empty
dict that gets throw away when the key is already present
* Adopt new runtime entity data model for AlarmDecoder
Transition the AlarmDecoder integration to the new runtime entity model.
* Apply change suggestions by epenet
Tested & applied the suggestions from epenet.
* Add MAC cleanup to samsungtv
* Simplify
* Adjust
* leftover
* Appl
Co-authored-by: J. Nick Koston <nick@koston.org>
* Update diagnostics tests
---------
Co-authored-by: J. Nick Koston <nick@koston.org>
* Reduce overhead to validate mqtt topics
valid_topic would iterate all the chars 4x, refactor to only
do it 1x
valid_subscribe_topic would enumerate all the chars when there was
no + in the string
* check if adding a cache helps
* tweak lrus based on testing stats
* note to future maintainers
* note to future maintainers
* keep standard lru_cache size as increasing makes no material difference
* initial commit
* Add tests
* Move tests to the correct file
* Fix exception type
* Undo change to default prompt
* Add intent dependency
* Move format_tool out of the class
* Fix tests
* coverage
* Adjust to new API
* Update strings
* Update tests
* Remove unrelated change
* Test referencing non-existing API
* Add test to verify no exception on tool conversion for Assist tools
* Bump voluptuous-openapi==0.0.4
* Add device_id to tool input
* Fix tests
---------
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Borrows the same design from homeassistant.helpers.storage to avoid
rescheduling the timer every time async_schedule is called if a timer
is already running.
Instead of the timer fires too early it gets rescheduled for the time
we wanted it. This avoids 1000s of timer add/cancel during startup
* Add data point type (dpt) option to `knx.telegram` trigger
* Rename from `dpt` to `type` to match services
* Add test for GroupValueRead telegrams
* Fix device trigger schema inheritance
* Typesafe dispatcher signal
* readability
* Avoid re-decoding with same transcoder
* Speed up async_get_loaded_integrations
Use a setcomp and difference to find the components to split
to avoid the loop. A setcomp is inlined in python3.12 so its
much faster
* Speed up async_get_loaded_integrations
Use a setcomp and difference to find the components to split
to avoid the loop. A setcomp is inlined in python3.12 so its
much faster
* simplify
* fix compat
* bootstrap
* fix tests