mirror of
https://github.com/home-assistant/developers.home-assistant.git
synced 2025-04-25 05:47:15 +00:00

* Use f-strings instead of .format() * Code block language marker fixes * Make example code blocks syntactically valid Python * Run all python code blocks through black https://github.com/scop/misc/blob/master/black_markdown.py * Add some missing code block language markers * Use shell language consistently to mark shell code blocks * Undo folding of some example dicts * Remove outdated OrderedDict comments per Python 3.7, replace with plain dict
1.5 KiB
1.5 KiB
title |
---|
Firing intents |
When you fire an intent, you will get a response back or an error will be raised. It is up to the component to return the result to the user.
Example code to handle an intent in Home Assistant.
from homeassistant.helpers import intent
intent_type = "TurnLightOn"
slots = {"entity": {"value": "Kitchen"}}
try:
intent_response = yield from intent.async_handle(
hass, "example_component", intent_type, slots
)
except intent.UnknownIntent as err:
_LOGGER.warning("Received unknown intent %s", intent_type)
except intent.InvalidSlotInfo as err:
_LOGGER.error("Received invalid slot data: %s", err)
except intent.IntentError:
_LOGGER.exception("Error handling request for %s", intent_type)
The intent response is an instance of homeassistant.helpers.intent.IntentResponse
.
Name | Type | Description |
---|---|---|
intent |
Intent | Instance of intent that triggered response. |
speech |
Dictionary | Speech responses. Each key is a type. Allowed types are plain and ssml . |
card |
Dictionary | Card responses. Each key is a type. |
Speech dictionary values:
Name | Type | Description |
---|---|---|
speech |
String | The text to say |
extra_data |
Any | Extra information related to this speech. |
Card dictionary values:
Name | Type | Description |
---|---|---|
title |
String | The title of the card |
content |
Any | The content of the card |