Michael Hansen
c6ea57458c
Pass slots to error messages instead of IDs [rework] ( #109410 )
...
Co-authored-by: tetele <tm.sandu@gmail.com>
2024-02-03 12:14:33 +01:00
Michael Hansen
595dd651bb
Bump intents to 2024.2.2 ( #109412 )
...
Bump intents to 2024.2.2
2024-02-02 20:13:17 -05:00
Michael Hansen
a1eaa5cbf2
Migrate to new intent error response keys ( #109269 )
2024-02-01 21:10:24 +01:00
Michael Hansen
c2c98bd04c
Move default response out of sentence trigger registration and into agent ( #109317 )
...
* Move default response out of trigger and into agent
* Add test
2024-02-01 20:40:29 +01:00
Michael Hansen
9752e70675
Intents package combines sentences/responses per language ( #109079 )
2024-01-30 12:38:29 +01:00
Michael Hansen
61c6c70a7d
Improved Assist debug ( #108889 )
...
* Differentiate builtin/custom sentences and triggers in debug
* Refactor so async_process runs triggers
* Report relative path of custom sentences file
* Add sentence trigger test
2024-01-26 23:04:45 -05:00
Michael Hansen
d8a1c58b12
Fix intent loading and incorporate unmatched entities more ( #108423 )
...
* Incorporate unmatched entities more
* Don't list targets when match is incomplete
* Add test for out of range
2024-01-23 20:31:57 -05:00
Erik Montnemery
9bff039d17
Add set_conversation_response script action ( #108233 )
...
* Add set_conversation_response script action
* Update homeassistant/components/conversation/trigger.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Revert accidental change
* Add test
* Ignore mypy
* Remove incorrect callback decorator
* Update homeassistant/helpers/script.py
* Add test with templated set_conversation_response
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-01-23 09:13:42 -05:00
Michael Hansen
4bb2a3ad92
Specific Assist errors for domain/device class ( #107302 )
...
* Specific errors for domain/device class
* Don't log exception
* Check device class first
* Refactor guard clauses
* Test default error
2024-01-08 12:23:06 -06:00
Michael Hansen
a600a0e023
Expose all areas to Assist and ignore empty aliases ( #107267 )
...
* Expose all areas to Assist
* Skip empty entity/area aliases
2024-01-05 13:45:41 -05:00
Marc Mueller
833cddc8f5
Improve conversation typing ( #106905 )
2024-01-05 18:40:34 +01:00
Michael Hansen
269500cb29
Report missing entities/areas instead of failing to match in Assist ( #107151 )
...
* Report missing entities/areas instead of failing
* Fix test
* Update assist pipeline test snapshots
* Test complete match failure
* Fix conflict
2024-01-04 17:09:20 -06:00
Denis Shulyaka
99bcc38284
Add conversation_id parameter to conversation.process service ( #106078 )
...
* Add conversation_id parameter to conversation.process service
* fix test
* fix tests
2024-01-04 14:46:06 -06:00
Paul Holzinger
11170c6345
Pass down language to hassil ( #106490 )
...
Hassil needs the language to convert numbers, this was added in
https://github.com/home-assistant/hassil/pull/78 . This fixes an
annoying warning from the logs.
Fixes #104760
2024-01-04 14:40:49 -06:00
Michael Hansen
5003993658
Bump intents to 2024.1.2 ( #106909 )
2024-01-02 15:35:48 -06:00
Michael Hansen
fdeb9e36c3
Use area id for context instead of name ( #105313 )
2023-12-08 10:05:21 -06:00
Michael Hansen
3fda43ef33
Bump intents to 2023.12.05 ( #105116 )
2023-12-06 08:14:34 +01:00
Michael Hansen
e10d58ef3e
Bump intents to 2023.11.29 ( #104738 )
2023-11-29 18:52:27 +01:00
Michael Hansen
8c99cf14d3
Context slot decisions moved into hassil ( #104132 )
2023-11-17 11:07:08 -06:00
Michael Hansen
a8acde62ff
Use device area as context during intent recognition ( #103939 )
...
* Use device area as context during intent recognition
* Use guard clauses
2023-11-17 07:34:14 -06:00
Michael Hansen
8ca1eaa839
Bump intents and hassil ( #103927 )
2023-11-13 15:25:15 -05:00
Michael Hansen
e157206eeb
Conversation reload with language=None clears all languages ( #103757 )
...
Reload with language=None clears all languages
2023-11-10 13:22:49 -05:00
Tudor Sandu
d3ed8a6b8b
Validate empty sentence triggers ( #103579 )
...
* Validate empty sentence triggers
* Add extra test for no sentences
* Remove extra line
---------
Co-authored-by: Michael Hansen <mike@rhasspy.org>
2023-11-07 11:56:24 -06:00
Michael Hansen
25671a2e42
Add HassNevermind intent (bump intents package) ( #102131 )
...
* Add HassNevermind intent
* Bump intents package to 2023.10.16
2023-10-16 19:13:26 -05:00
Michael Hansen
d0700db7eb
Bump intents to 2023.10.2 ( #101277 )
2023-10-02 14:23:13 -05:00
Michael Hansen
b0c9ff033e
Bump intents to 2023.9.22 ( #100737 )
2023-09-23 02:29:00 +02:00
steffenrapp
45c0dc6854
Add missing conversation service translation ( #100308 )
...
* Update services.yaml
* Update strings.json
* Update services.yaml
* Update strings.json
* Update strings.json
* fix translation keys
* Fix translation keys
2023-09-18 11:44:41 +02:00
Ville Skyttä
3b4774d9ed
Remove unnnecessary pylint configs from components/[a-d]* ( #98911 )
2023-08-24 00:54:02 +02:00
Michael Hansen
7cf2199e8b
Bump intents to 2023.8.2 ( #97636 )
2023-08-02 20:01:30 -04:00
Michael Hansen
7e3fdd85fc
Add wildcards to sentence triggers ( #97236 )
...
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-07-27 20:30:42 +02:00
Michael Hansen
311c321d06
Add HassShoppingListAddItem to default agent ( #97232 )
...
* Bump hassil and intents package for HassShoppingListAddItem
* Remove hard-coded response text
* Test adding item to the shopping list
* Hook removed import in test for some reason
2023-07-25 22:19:03 -04:00
Michael Hansen
99e7b42127
Bump hassil and intents ( #97174 )
2023-07-24 16:52:16 -05:00
Marc Mueller
797a9c1ead
Improve `async_track_state_added/removed_domain` callback typing ( #97126 )
2023-07-24 09:11:41 +02:00
Franck Nijhof
f2bd122fde
Clean up conversation agent attribution ( #96883 )
...
* Clean up conversation agent attribution
* Clean up google_generative_ai_conversation as well
2023-07-19 09:03:53 +02:00
Franck Nijhof
eb3b56798d
Migrate conversation services to support translations ( #96365 )
...
Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com>
2023-07-12 12:32:25 +02:00
Michael Hansen
6b8ae0ec86
Ensure trigger sentences do not contain punctuation ( #95633 )
...
* Ensure trigger sentences do not contain punctuation
* Update homeassistant/components/conversation/trigger.py
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
---------
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-06-30 13:06:26 -05:00
Franck Nijhof
23e23ae80e
Mark text input required for conversation.process service ( #95520 )
2023-06-29 17:39:08 +02:00
Bram Kragten
a7dfe46fb1
Add conversation agent selector, use in `conversation.process` service ( #95462 )
2023-06-28 21:38:06 -04:00
Michael Hansen
487dd3f956
Add targeted entities to sentence debug API ( #95480 )
...
* Return targets with debug sentence API
* Update test
* Update homeassistant/components/conversation/__init__.py
* Include area/domain in test sentences
---------
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-06-28 18:34:43 -04:00
Michael Hansen
79f1c86789
Bump home-assistant-intents to 2023.6.28 ( #95451 )
2023-06-28 19:35:18 +02:00
Michael Hansen
3d84c6e21c
Use "Done" as a default response for sentence triggers ( #95463 )
...
* Use "Done" as a default response for sentence triggers
* Move response to trigger callback
2023-06-28 12:34:55 -04:00
Paulus Schoutsen
d6cd5648b9
Change conversation default agent behavior ( #95225 )
...
* Change conversation default agent behavior
* Fix tests
2023-06-26 22:10:17 -04:00
Paulus Schoutsen
3f10233833
Add return value to conversation.process service ( #94740 )
...
* Add return value to conversation.process service
* Adjust for new API
2023-06-23 13:32:03 -04:00
Michael Hansen
d811fa0e74
Sentence trigger ( #94613 )
...
* Add async_register_trigger_sentences for default agent
* Add trigger response and trigger handler
* Check callback in test
* Clean up and move response to callback
* Add trigger test
* Drop TriggerAction
* Test we pass sentence to callback
* Match triggers once, allow multiple sentences
* Don't use trigger id
* Use async callback
* No response for now
* Use asyncio.gather for callback responses
* Fix after rebase
* Use a list for trigger sentences
---------
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-06-22 18:29:34 -05:00
Michael Hansen
38614bc3f0
Add websocket command to test intent recognition for default agent ( #94674 )
...
* Add websocket command to test intent recognition for default agent
* Return results as a list
* Only check intent name/entities in test
* Less verbose output in debug API
2023-06-22 12:24:59 -04:00
Michael Hansen
e2c2262719
Bump intents to 2023.6.5 ( #94077 )
2023-06-05 19:49:01 +02:00
Tudor Sandu
95e4ef2255
Fix states not being translated in voice assistants ( #93572 )
...
Fix states not being translated
2023-06-01 20:10:57 -04:00
Paulus Schoutsen
cd330a2740
Pass device ID to conversation input ( #93867 )
2023-05-31 16:56:12 -04:00
Tudor Sandu
fe472e6c5b
Fix error if a `custom_sentences` file is empty ( #93530 )
...
* Fix #93528
* Log warning file is invalid
* More explicit log warning message
* Rewrite log message
2023-05-30 19:53:52 -04:00
Michael Hansen
9f4c9f1ce3
Bump intents to 2023.5.30 ( #93822 )
2023-05-30 22:11:08 +02:00
J. Nick Koston
e2b69fc470
Significantly improve performance of conversation default_agent listening for new states ( #93577 )
...
Use the async_track_state_added_domain helper instead of tracking
all state changes and rejecting them as it is already optimized
for this job
2023-05-25 23:04:38 -04:00
Michael Hansen
74560ab139
Skip unexposed entities in intent handlers ( #92415 )
...
* Filter intent handler entities by exposure
* Add test for skipping unexposed entities
2023-05-03 12:18:31 -04:00
Erik Montnemery
0126cfa9d9
Allow exposing any entity to the default conversation agent ( #92398 )
...
* Allow exposing any entity to the default conversation agent
* Tweak
* Fix race, update tests
* Update tests
2023-05-03 09:45:54 -04:00
Erik Montnemery
4860a8d1e8
Don't use storage collection helper in ExposedEntities ( #92396 )
...
* Don't use storage collection helper in ExposedEntities
* Fix tests
2023-05-03 12:39:22 +02:00
Erik Montnemery
e3c16e634b
Allow exposing entities not in the entity registry to assistants ( #92363 )
2023-05-02 22:08:09 +02:00
Erik Montnemery
f8f7de5d5a
Remove homeassistant from conversation dependencies ( #92170 )
...
* Remove homeassistant from conversation dependencies
* Fix tests
2023-04-28 18:17:48 +02:00
Erik Montnemery
ebd9cd096a
Keep expose setting in sync for assist ( #92158 )
...
* Keep expose setting in sync for assist
* Fix initialization, add test
* Fix tests
* Add AgentManager.async_setup
* Fix typo
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-04-28 15:59:21 +02:00
Michael Hansen
929bfd3dfc
Bump intents to 2023.4.26 ( #92070 )
...
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-04-26 22:31:35 +02:00
Erik Montnemery
18f7b92438
Fall back to domain for conversation agents without title ( #92014 )
2023-04-25 22:14:44 +02:00
Erik Montnemery
b601fb17d3
Create a default assist pipeline on start ( #91947 )
...
* Create a default assist pipeline on start
* Minor adjustments
* Address review comments
* Remove tts.async_get_agent
* Fix bugs, improve test coverage
2023-04-24 14:00:52 -04:00
Paulus Schoutsen
d4fb2cdcf7
Conversation list command to support match-all languages agents ( #91844 )
...
* Conversation list command to support match-all languages agnets
* Reuse var
2023-04-22 12:43:09 -04:00
Erik Montnemery
0429b321b8
Include matching languages in WS conversation/agent/list ( #91730 )
...
* Include matching languages in WS conversation/agent/list
* Allow specifying country
2023-04-20 08:58:43 -04:00
Erik Montnemery
6d619579b4
Add WS API for listing languages supported by a full assist pipeline ( #91669 )
...
* Add WS API for listing languages supported by a full assist pipeline
* Address review comments, change logic
2023-04-20 08:55:17 -04:00
Erik Montnemery
eabbe8969d
Adjust typing of AbstractConversationAgent.supported_languages ( #91648 )
...
* Adjust typing of AbstractConversationAgent.supported_languages
* Update test
2023-04-19 10:53:49 -04:00
Erik Montnemery
5e9bbeb4ad
Refactor conversation agent WS API for listing agents ( #91590 )
...
* Refactor conversation agent WS API for listing agents
* Add conversation/agent/info back
2023-04-19 10:53:24 -04:00
Erik Montnemery
dc3c47986b
Add property `supported_languages` to `AbstractConversationAgent` ( #91588 )
...
* Add property supported_languages to AbstractConversationAgent
* Fix test
* Use MATCH_ALL for openai supported languages
2023-04-18 15:11:04 -05:00
Erik Montnemery
5f7d98f15b
Improve comment in conversation ( #91595 )
2023-04-18 09:27:14 -04:00
Michael Hansen
2819ad9a16
Bump intents dependency ( #91556 )
2023-04-17 22:13:31 +02:00
rlippmann
f5911bcad6
Add slots to dataclasses in default_config ( #91410 )
...
* add dataclass slots to default config items
* remove slots from sun mixing
2023-04-14 14:22:39 -04:00
Paulus Schoutsen
c9d81bd217
Pipelines to default to Home Assistant agent ( #91321 )
...
* Pipelines to default to Home Assistant agent
* Tests fix
2023-04-13 00:34:19 -04:00
Erik Montnemery
2c9e9d0fde
Allow UI configuration of entities exposed to voice_assistant ( #91233 )
...
* Allow UI configuration of entities exposed to voice_assistant
* Invalidate cache when settings change
* Add tests
* Expose entities to conversation by default
* Update tests
2023-04-11 22:39:40 -04:00
Erik Montnemery
3c8397a7b9
Flush conversation name cache when an entity is renamed ( #91214 )
2023-04-11 08:33:08 -04:00
Paulus Schoutsen
ad26317b75
Conversation: allow getting agent info ( #90540 )
...
* Conversation: allow getting agent info
* Add unset agenet back
2023-03-31 14:36:39 -04:00
Paulus Schoutsen
81c39e42f4
Bump home-assistant-intents to 2023.3.29 ( #90459 )
2023-03-29 11:25:08 -05:00
epenet
0e4c32efe2
Adjust registry access in conversation ( #88879 )
2023-02-28 21:56:18 -05:00
Michael Hansen
e0bdb3ecc3
Update intent sentences package ( #88933 )
...
* Actually use translated state names in response
* Change test result now that locks are excluded from HassTurnOn
* Bump home-assistant-intents and hassil versions
2023-02-28 21:07:18 -05:00
Michael Hansen
a71487a42b
Make a copy of matching states so translated state names can be used ( #88683 )
2023-02-23 20:50:23 -05:00
Michael Hansen
d5f1713498
Include binary_sensor in default Assist exposed domains ( #88682 )
2023-02-23 19:40:10 -05:00
Michael Hansen
59f2b2ad51
Bump intents package version; hassil==1.0.5; home-assistant-intents==2023.2.22 ( #88605 )
...
* Bump hassil and intents versions
* Adjust tests to handle abbreviated responses
2023-02-22 09:36:42 -06:00
Michael Hansen
5bf3a0b7af
Load custom sentences for language variations (en-us, etc.) ( #88498 )
2023-02-20 12:28:04 -05:00
Marc Mueller
f3c6558db4
Improve conversation typing ( #88440 )
2023-02-19 21:27:30 -05:00
Michael Hansen
325674ec44
Only expose default cloud domains in Assist default agent ( #88274 )
...
* Only expose default cloud domains in default agent
* Copy exposed domain list to conversation
* Implement requested changes
* Add test for exposed devices/areas
2023-02-17 16:19:22 -05:00
epenet
ba23816a0c
Inverse json import logic ( #88099 )
...
* Fix helpers and util
* Adjust components
* Move back errors
* Add report
* mypy
* mypy
* Assert deprecation messages
* Move test_json_loads_object
* Adjust tests
* Fix rebase
* Adjust pylint plugin
* Fix plugin
* Adjust references
* Adjust backup tests
2023-02-16 11:37:57 +01:00
Michael Hansen
8cd5106c15
Add HassGetState intent for queries ( #87808 )
...
* Use names instead of entity ids for list
* Add HassGetState for Assist queries
* Add unknown area to test
* Clean up and test device classes
2023-02-09 23:39:46 -05:00
Erik Montnemery
87420e949d
Sort manifests 2 ( #87023 )
2023-02-08 20:16:39 +01:00
epenet
a202588fd2
Add return type to json_loads ( #85672 )
...
* Add JSON type definitions
* Sample use
* Keep mutable for a follo-up PR (avoid dead code)
* Use list/dict
* Remove JsonObjectType
* Remove reference to Union
* Cleanup
* Improve rest
* Rename json_dict => json_data
* Add docstring
* Add type hint to json_loads
* Add cast
* Move type alias to json helpers
* Cleanup
* Create and use json_loads_object
* Make error more explicit and add tests
* Use JsonObjectType in conversation
* Remove quotes
2023-02-07 17:21:55 +01:00
Franck Nijhof
939eef3b28
Remove translations from Core ( #87543 )
...
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-02-06 15:06:43 +01:00
Paulus Schoutsen
fc38b4327f
Add support for multiple conversation agents ( #87337 )
...
* Add support for multiple conversation agents
* Lock initializing default agent
* Allow unsetting agent when never set
2023-02-03 23:35:29 -05:00
Paulus Schoutsen
f32f46aff5
Fix Assist skipping entities that are hidden or have entity category ( #87096 )
...
Skipping entities that are hidden or have entity category
2023-02-01 10:48:04 -06:00
Michael Hansen
68450734f1
Bump home-assistant-intents to 2023.1.31 ( #87034 )
2023-01-31 10:23:03 -06:00
Michael Hansen
be69c81db5
Prioritize entity names over area names in Assist matching ( #86982 )
...
* Refactor async_match_states
* Check entity name after state, before aliases
* Give entity name matches priority over area names
* Don't force result to have area
* Add area alias in tests
* Move name/area list creation back
* Clean up PR
* More clean up
2023-01-30 23:46:25 -05:00
Michael Hansen
28affe91be
Set synesthesiam as codeowner of conversation ( #86958 )
2023-01-30 23:02:25 +01:00
Michael Hansen
f7fdaadde0
Performance improvements for Assist ( #86966 )
...
* Move hassil recognize into executor
* Bump hassil to 0.2.6
* Disable template parsing in name/area lists
* Don't iterate over hass.config.components directly
2023-01-30 12:25:22 -06:00
J. Nick Koston
691a234090
Cache the names and area lists in the default agent ( #86874 )
...
* Cache the names and area lists in the default agent
fixes #86803
* add coverage to make sure the entity cache busts
* add areas test
* cover the last line
2023-01-29 07:16:29 -05:00
Michael Hansen
adeaf746ec
Use device area id in intent matching ( #86678 )
...
* Use device area id when matching
* Normalize whitespace in response
* Add extra test entity
2023-01-26 09:48:49 -06:00
Michael Hansen
c5c68cd429
Bump home-assistant-intents 2023.1.25 ( #86626 )
...
* Bump home-assistant-intents 2022.1.25
* Use correct year in home-assistant-intents package
2023-01-25 10:50:15 -06:00
Paulus Schoutsen
6c8efe3a3b
Conversation cleanup ( #86592 )
...
* Require config entry when setting Conversation agent, add new unset agent method
* Remove onboarding from conversation agent
* Type attribution
* Wrap async_process params in ConversationInput object
2023-01-24 21:47:49 -06:00
Michael Hansen
ea95abcb30
Use intent responses from home-assistant-intents ( #86484 )
...
* Use intent responses from home_assistant_intents
* Use error responses from home_assistant_intents
* Remove speech checks for intent tests (set by conversation now)
* Bump hassil and home-assistant-intents versions
* Use Home Assistant JSON reader when loading intents
* Remove speech checks for light tests (done in agent)
* Add more tests for code coverage
* Add test for reloading on new component
* Add test for non-default response
2023-01-23 22:38:41 -05:00
Michael Hansen
255611238b
Conversation config ( #86326 )
...
* Restore conversation config
* Fall back to en for en_US, etc.
* Simplify config passing around
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-01-20 21:39:49 -05:00
Michael Hansen
5aca996f22
HassTurnOn/Off intents to also handle cover entities ( #86206 )
...
* Move entity/area resolution to async_match_states
* Special case for covers in HassTurnOn/Off
* Enable light color/brightness on areas
* Remove async_register from default agent
* Remove CONFIG_SCHEMA from conversation component
* Fix intent tests
* Fix light test
* Move entity/area resolution to async_match_states
* Special case for covers in HassTurnOn/Off
* Enable light color/brightness on areas
* Remove async_register from default agent
* Remove CONFIG_SCHEMA from conversation component
* Fix intent tests
* Fix light test
* Fix humidifier intent handlers
* Remove DATA_CONFIG for conversation
* Copy ServiceIntentHandler code to light
* Add proper errors to humidifier intent handlers
2023-01-19 17:15:01 -06:00