When you have a conversation with Google Assistant such as "Hey Google, turn on the bedroom light", Hey Google is the invocation and turn on the bedroom light is known as the grammar. Google determines the smart home intent from the grammar and sends it over to the developer cloud (fulfillment). The developer can then execute the command on the device and returns a response back to Google.
After fulfillment processes an intent and returns a response, smart home Actions rely on the Home Graph. With Home Graph, Google Assistant can sync devices, query device states, and execute commands on a device.
Device types let Google Assistant know what grammar should be used with your device. For example, if you define a device as a Light, the user can interact with the device through Google Assistant with Hey Google, turn on my light.
Device traits define the capabilities of a device type. You can combine multiple device traits with any device type. For example, you can have a Light device use the OnOff, Brightness, and FanSpeed traits. While the FanSpeed trait might not be the most common trait to use for a light, you can use any trait that you want for your new device.
When you add a device trait to your device type, your device inherits the states
of each device trait that you add. For example, when you use the
OnOff trait, your device can now report its
For the full list of supported device types and traits, see: