Google Assistant SDK conversation agent#85499
Conversation
| intent_response = intent.IntentResponse(language=language) | ||
| intent_response.async_set_speech(text_response) | ||
| return conversation.ConversationResult( | ||
| response=intent_response, conversation_id=conversation_id |
There was a problem hiding this comment.
The way conversation_id is used that when a conversation is initiated, it is set to None.
Then in your response you return a conversation ID such that follow-up responses work.
Now in this case it doesn't seem like you're passing conversation_id so you should set conversation_id=None here, as it's not used.
| response=intent_response, conversation_id=conversation_id | |
| response=intent_response, conversation_id=None |
Now in your screenshot I did notice that it's allowing follow-up commands, so I am not sure how that works then 🤷
There was a problem hiding this comment.
Both DefaultAgent and AlmondAgent (the only other two agents) do exactly the same thing. conversation_id starts with None and is never modified.
Anyway for Google Assistant we cannot really have many concurrent conversations, see https://github.com/tronikos/gassist_text/blob/main/src/google/assistant/embedded/v1alpha2/embedded_assistant.proto#L314-L318
There was a problem hiding this comment.
Yeah neither can do conversations.
Proposed change
Implement Google Assistant SDK conversation agent.
Users need to add in the configuration.yaml:
conversation:and then they can click on the microphone in the up right corner to start a conversation with Google Assistant either by typing or talking to the microphone. Example:
Type of change
Additional information
Checklist
black --fast homeassistant tests)If user exposed functionality or configuration variables are added/changed:
If the code communicates with devices, web services, or third-party tools:
Updated and included derived files by running:
python3 -m script.hassfest.requirements_all.txt.Updated by running
python3 -m script.gen_requirements_all..coveragerc.To help with the load of incoming pull requests: