Document optional words for conversation

This commit is contained in:
Paulus Schoutsen 2018-06-06 15:17:32 -07:00
parent 0945da3850
commit a7e20b3159

View File

@ -4,16 +4,16 @@ title: "Registering sentences"
The conversation component handles incoming commands from the frontend and converts them to intents. It does this based on registered sentences. The conversation component handles incoming commands from the frontend and converts them to intents. It does this based on registered sentences.
As a component, you can register sentences with the conversation component to allow it to be remote controlled. Refer to named slots by putting the slot name between curly braces: `{item}`. As a component, you can register sentences with the conversation component to allow it to be remote controlled. Refer to named slots by putting the slot name between curly braces: `{item}`. Use square brackets around (partial) words to mark them as optional.
Example code: Example code:
```python ```python
async def async_setup(hass, config): async def async_setup(hass, config):
hass.components.conversation.async_register('MyCoolIntent', [ hass.components.conversation.async_register('MyCoolIntent', [
'I think that {object} is very cool', 'I think that {object} is [very] cool',
'Nothing is cooler than {object}' 'Nothing is cooler than {object}'
]) ])
``` ```
If a sentence like "I think that beer is very cool" comes in, the conversation component will generate an intent of type `MyCoolIntent` and with 1 slot, named `object` and value `beer`. If a sentence like "I think that beer is cool" comes in, the conversation component will generate an intent of type `MyCoolIntent` and with 1 slot, named `object` and value `beer`.