Michael Hansen
556855f54e
Add device_id to sentence trigger and external conversation APIs ( #113094 )
...
* Add device_id to sentence trigger and external conversation APIs
* Remove device_id from external API
* Update tests/components/conversation/snapshots/test_init.ambr
---------
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-03-12 08:50:06 -04:00
Marc Mueller
de886d8c49
Update EventBus listen type signatures ( #112760 )
2024-03-08 21:57:23 +01:00
Marc Mueller
cef20506dc
Replace EventType with Event [missing] ( #112753 )
2024-03-08 21:56:42 +01:00
Marc Mueller
25237e0377
Replace EventType with Event [a-g] ( #112739 )
2024-03-08 19:35:17 +01:00
Michael Hansen
2681dae60c
Matching duplicate named entities is now an error in Assist ( #110050 )
...
* Matching duplicate named entities is now an error
* Update snapshot
* Only use area id
2024-02-08 19:38:03 -06:00
Michael Hansen
1750f54da4
Assist fixes ( #109889 )
...
* Don't pass entity ids in hassil slot lists
* Use first completed response
* Add more tests
2024-02-07 15:13:42 -06:00
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
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
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
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
fdeb9e36c3
Use area id for context instead of name ( #105313 )
2023-12-08 10:05:21 -06: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
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
Ville Skyttä
3b4774d9ed
Remove unnnecessary pylint configs from components/[a-d]* ( #98911 )
2023-08-24 00:54:02 +02: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
Marc Mueller
797a9c1ead
Improve `async_track_state_added/removed_domain` callback typing ( #97126 )
2023-07-24 09:11:41 +02: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
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
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
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
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
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
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
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
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
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
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
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
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