* init
* Update homeassistant/helpers/update_coordinator.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* fix typo, ruff
* consistency with rest, test
* pylint suppression
* ruff
* ruff
* switch to one test
* add last exc
* add tests for auth & Entry Errors
* move exceptions to correct test
* Update update_coordinator.py
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* test setup call
* simplify
---------
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Update voluptuous to 0.15.1
* Fix typing issues
* Add type ignores for json result type
* Update voluptuous to 0.15.2
---------
Co-authored-by: J. Nick Koston <nick@koston.org>
* Add script llm tool
* Add tests
* More tests
* more test
* more test
* Add area and floor resolving
* coverage
* coverage
* fix ColorTempSelector
* fix mypy
* fix mypy
* add script reload test
* Cache script tool parameters
* Make custom_serializer a part of api
---------
Co-authored-by: Michael Hansen <mike@rhasspy.org>
* Add expandable support for data entry form flows
* Update config_validation.py
* optional options
* Adjust
* Correct translations of data within sections
* Update homeassistant/components/kitchen_sink/config_flow.py
Co-authored-by: Robert Resch <robert@resch.dev>
* Add missing import
* Update tests/components/kitchen_sink/test_config_flow.py
Co-authored-by: Robert Resch <robert@resch.dev>
* Format code
* Match frontend when serializing
* Move section class to data_entry_flow
* Correct serializing
* Fix import in kitchen_sink
* Move and update test
---------
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
Co-authored-by: Robert Resch <robert@resch.dev>
* Include speech_slots in IntentResponse.as_dict
* Populate speech_slots only if available
* fix typo
* Add test
* test all fields
* Fix another test
---------
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
* Check exposure in climate intent
* Check exposure in todo list
* Check exposure for weather
* Check exposure in humidity intents
* Add extra checks to weather tests
* Add more checks to todo intent test
* Move climate intents to async_match_targets
* Update test_intent.py
* Update test_intent.py
* Remove patch
* Always do thread safety check when writing state
Refactor the 3 most common places where the thread safety check
for the event loop to be inline to make the check fast enough
that we can keep it long term. While code review catches most
of the thread safety issues in core, some of them still make
it through, and new ones keep getting added. Its not possible
to catch them all with manual code review, so its worth the
tiny overhead to check each time.
Previously the check was limited to custom components
because they were the most common source of thread
safety issues.
* Always do thread safety check when writing state
Refactor the 3 most common places where the thread safety check
for the event loop to be inline to make the check fast enough
that we can keep it long term. While code review catches most
of the thread safety issues in core, some of them still make
it through, and new ones keep getting added. Its not possible
to catch them all with manual code review, so its worth the
tiny overhead to check each time.
Previously the check was limited to custom components
because they were the most common source of thread
safety issues.
* async_fire is more common than expected with ccs
* fix mock
* fix hass mocking
* Automatically fill in slots from LLM context
* Add tests
* Apply suggestions from code review
Co-authored-by: Allen Porter <allen@thebends.org>
---------
Co-authored-by: Allen Porter <allen@thebends.org>
* Ignore deprecated open and close cover intents for LLMs
* Fix LLMs asking which area when there is only one device
* remove unrelated changed
* remove unrelated changes
* Add configuration option positive to DurationSelector
* Rename to allow_negative in conjunction with a deprecation notice
Co-authored-by: Erik Montnemery <erik@montnemery.com>
---------
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* LLM Assist API to ignore timer intents if device doesn't support it
* Refactor to use API instances
* Extract ToolContext class
* Limit exposed intents based on exposed entities
These functions have been stripped down to always return
the same path so there was no longer a need to have a
function for this. This is left-over cleanup from
previous refactoring.
* Add types to event tracker data
* fixes
* do not test event internals in other tests
* fixes
* Update homeassistant/helpers/event.py
* cleanup
* cleanup
* 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
* 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
* Detect incorrect exception in forwarded platforms
If an integration raises ConfigEntryError/ConfigEntryAuthFailed/ConfigEntryAuthFailed
in a forwarded platform it would affect the state of the config entry and cause it to
process unloads and setup retries in while the other platforms continued to setup
* Detect incorrect exception in forwarded platforms
If an integration raises ConfigEntryError/ConfigEntryAuthFailed/ConfigEntryAuthFailed
in a forwarded platform it would affect the state of the config entry and cause it to
process unloads and setup retries in while the other platforms continued to setup
* Update homeassistant/config_entries.py
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
* adjust
* fix
---------
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
* initial commit
* Undo prompt chenges
* Move format_tool out of the class
* Only catch HomeAssistantError and vol.Invalid
* Add config flow option
* Fix type
* Add translation
* Allow changing API access from options flow
* Allow model picking
* Remove allowing HASS Access in main flow
* Move model to the top in options flow
* Make prompt conditional based on API access
* convert only once to dict
* Reduce debug logging
* Update title
* re-order models
* Address comments
* Move things
* Update labels
* Add tool call tests
* coverage
* Use LLM APIs
* Fixes
* Address comments
* Reinstate the title to not break entity name
---------
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>