35 lines
1.8 KiB
Markdown
35 lines
1.8 KiB
Markdown
---
|
|
title: "Intents"
|
|
sidebar_label: "Introduction"
|
|
---
|
|
|
|
An intent is a description of a user's intention. Intents are generated by user actions, like asking Amazon Echo to turn on a light.
|
|
|
|
<a href='https://docs.google.com/drawings/d/1i9AsOQNCBCaeM14QwEglZizV0lZiWKHZgroZc9izB0E/edit'>
|
|
<img class='invertDark'
|
|
src='/img/en/intents/overview.png'
|
|
alt='Architectural overview of intents in Home Assistant'
|
|
/>
|
|
</a>
|
|
|
|
Intents are fired by components that receive them from external sources/services. Conversation, Alexa, API.ai and Snips are currently sourcing intents.
|
|
|
|
Any component can handle intents. This makes it very easy for developers to integrate with all voice assistants at once.
|
|
|
|
Intents are implemented using the `homeassistant.helpers.intent.Intent` class. It contains the following properties:
|
|
|
|
| Name | Type | Description |
|
|
|---------------|----------------|-----------------------------------------------------------------------------|
|
|
| `hass` | Home Assistant | The Home Assistant instance that fired the intent. |
|
|
| `platform` | string | The platform that fired the intent |
|
|
| `intent_type` | string | The type (name) of the intent |
|
|
| `slots` | dictionary | Contains the slot values keyed by slot name. |
|
|
| `text_input` | string | Optional. The raw text input that initiated the intent. |
|
|
| `language` | string | Optional. The language of the text input (defaults to configured language). |
|
|
|
|
Description of the slots dictionary values.
|
|
|
|
| Name | Type | Description |
|
|
|-------|----------|--------------------|
|
|
| Value | anything | Value of the slot. |
|