Smart home intents are simple messaging objects that describe what smart home Action to perform such as turn on a light or cast audio to a speaker.
All of the smart home intents are contained in the
namespace and you must provide fulfillment for them. Whenever Google
Assistant sends an intent to fulfillment, a user's third-party OAuth 2 access
token is passed in the Authorization header.
These are the supported smart home intents:
action.devices.SYNC intent is used to request the list of smart
home devices that the user has connected and are available for use.
When a user sets up their devices with the Google Home app, they also get
authenticated to your cloud infrastructure. Then, Assistant receives an OAuth2
token. At this point, Google Assistant sends a
action.devices.SYNC intent to your fulfillment to retrieve the
initial list of user devices and capabilities from your cloud infrastructure.
To avoid unlinking and relinking a user's account, you can send a request sync
to Google Assistant. This sends the
to your fulfillment to sync the list of devices and capabilities. See
Implement Request Sync for more
During local fulfillment setup, the
Local Home platform checks the
SYNC response from your smart home Action's
cloud fulfillment. To learn more about how to modify your
SYNC response to
support local fulfillment, see Update SYNC response in cloud
action.devices.QUERY intent is used to query the current state
of smart home devices.
When users are querying device status, to answer a question such as Hey
Google, what lights are on in the kitchen?, Google Assistant sends a
action.devices.QUERY intent to your fulfillment.
For the best user experience, you should implement Report State to proactively report the current state of a user's devices directly to Home Graph. For example, this lets Google Assistant know if your user turned on a smart light with a physical light switch.
action.devices.EXECUTE intent is used to provide commands
to execute on smart home devices.
When users send commands to devices with Google Assistant, your fulfillment
action.devices.EXECUTE intent to your fulfilment that
describes the action and the devices to act upon. A user can execute an action
on a device with a command such as Hey Google, turn on my living room lights.
action.devices.DISCONNECT intent is triggered to inform you
when a user has unlinked the app account from Google Assistant. After
action.devices.DISCONNECT intent, you should not
report state for this user's devices.