Extract developer site (#5249)
* Extract developer site * Fix title in sidebar * Update dev section reference * Update edit in github link on help page
This commit is contained in:
parent
a83fd1d874
commit
80b268cd65
75 changed files with 282 additions and 4166 deletions
|
@ -9,41 +9,6 @@ sharing: true
|
|||
footer: true
|
||||
---
|
||||
|
||||
Any component can register to handle intents. This allows a single component to handle intents fired from multiple voice assistants.
|
||||
|
||||
A component has to register an intent handler for each type that it wants to handle. Intent handlers have to extend `homeassistant.helpers.intent.IntentHandler`
|
||||
|
||||
```python
|
||||
import asyncio
|
||||
from homeassistant.helpers import intent
|
||||
|
||||
DATA_KEY = 'example_key'
|
||||
|
||||
@asyncio.coroutine
|
||||
def async_setup(hass, config):
|
||||
hass.data[DATA_KEY] = 0
|
||||
intent.async_register(hass, CountInvocationIntent())
|
||||
|
||||
|
||||
class CountInvocationIntent(intent.IntentHandler):
|
||||
"""Handle CountInvocationIntent intents."""
|
||||
|
||||
# Type of intent to handle
|
||||
intent_type = 'CountInvocationIntent'
|
||||
|
||||
# Optional. A validation schema for slots
|
||||
# slot_schema = {
|
||||
# 'item': cv.string
|
||||
# }
|
||||
|
||||
@asyncio.coroutine
|
||||
def async_handle(self, intent_obj):
|
||||
"""Handle the intent."""
|
||||
intent_obj.hass.data[DATA_KEY] += 1
|
||||
|
||||
response = intent_obj.create_response()
|
||||
response.async_set_speech(
|
||||
"This intent has been invoked {} times".format(
|
||||
intent_obj.hass.data[DATA_KEY]))
|
||||
return response
|
||||
```
|
||||
<script>
|
||||
window.location = 'https://developers.home-assistant.io/docs/en/intent_handling.html';
|
||||
</script>
|
Loading…
Add table
Add a link
Reference in a new issue