The functionality for device types comes from the traits that you add to each one. Each device type has a number of recommended traits, but you can add whichever ones you want. Secondary user verification is supported for all device traits.
See the list of supported languages for all traits.
Name | Device Trait | Description | Recommended Device Types |
---|---|---|---|
AppSelector | action.devices.traits.AppSelector |
This trait belongs to devices that support media applications, typically from third parties. | Media devices that support launching, installing, and searching applications that run on the device. |
ArmDisarm | action.devices.traits.ArmDisarm |
This trait supports arming and disarming as used in, for example, security systems. | Security systems or any device that supports arming and disarming. |
Brightness | action.devices.traits.Brightness |
Absolute brightness setting is in a normalized range from 0 to 100 (individual lights may not support every point in the range based on their LED configuration). | Light |
CameraStream | action.devices.traits.CameraStream |
This trait belongs to devices which have the capability to stream video feeds to third party screens, Chromecast-connected screens, or smartphones. By and large, these are security cameras or baby cameras. But this trait also applies to more complex devices which have a camera on them (for example, video-conferencing devices or a vacuum robot with a camera on it). | Camera |
Channel | action.devices.traits.Channel |
This trait belongs to devices that support TV channels on a media device. | Television |
ColorSetting | action.devices.traits.ColorSetting |
This trait applies to devices, such as smart lights, that can change color or color temperature. | Light |
ColorSpectrum | action.devices.traits.ColorSpectrum |
This applies to "full" color bulbs that take RGB color ranges. Lights may have any combination of ColorSpectrum and ColorTemperature. Accent lights and LED strips may just have Spectrum, whereas some reading bulbs just have Temperature. Basic bulbs, or dumb lights on smart plugs, have neither. | Light |
ColorTemperature | action.devices.traits.ColorTemperature |
This applies to "warmth" bulbs that take a color point in Kelvin. This is generally a separate modality from ColorSpectrum, and there may be white points available via Temperature that cannot be reached by Spectrum. Based on available traits, Google may pick the appropriate mode to use based on request and light type (for example, Make the living room lights white might send Temperature commands to some bulbs and Spectrum commands to LED strips). | Light |
Cook | action.devices.traits.Cook |
This trait belongs to devices that can cook food according to various food presets and supported cooking modes. | Devices that support cooking various types of food. |
Dispense | action.devices.traits.Dispense |
This trait belongs to devices that support dispensing a specified amount of one or more physical items. For example, a dog treat dispenser may dispense a number of treats, a faucet may dispense cups of water, and a pet feeder may dispense both water and pet food. | Devices that support dispensing a specified amount of one or more physical items. |
Dock | action.devices.traits.Dock |
This trait is designed for self-mobile devices that can be commanded to return for charging. | Vacuum |
EnergyStorage | action.devices.traits.EnergyStorage |
This trait belongs to devices that can store energy in a battery and potentially recharge, or devices that can charge another device. The trait supports starting and stopping charging, and checking the current charge level, capacity remaining, and capacity until full values. | Devices that can charge their battery. |
FanSpeed | action.devices.traits.FanSpeed |
This trait belongs to devices that support setting the speed of a fan (that is, blowing air from the device at various levels, which may be part of an air conditioning or heating unit, or in a car), with settings such as low, medium, and high. | |
Fill | action.devices.traits.Fill |
This trait applies to devices that support being filled, such as a bathtub. | Any device that supports being filled, such as a bathtub. |
HumiditySetting | action.devices.traits.HumiditySetting |
This trait belongs to devices that support humidity settings such as humidifiers and dehumidifiers. | Any device that supports humidity settings, such as a humidifier or dehumidifier. |
InputSelector | action.devices.traits.InputSelector |
Trait for devices that can change media inputs. These inputs can have dynamic names per device, and may represent audio or video feeds, hardwired or networked. | Any media device that supports switching inputs. |
LightEffects | action.devices.traits.LightEffects |
This trait belongs to devices that can support complex lighting commands to change state, such as looping through various colors. | Light |
Locator | action.devices.traits.Locator |
This trait is used for devices that can be "found". This includes phones, robots (including vacuums and mowers), drones, and tag-specific products that attach to other devices. | Any device that needs to be located, such as a robotic Vacuum |
LockUnlock | action.devices.traits.LockUnlock |
This trait belongs to any devices that support locking and unlocking, and/or reporting a locked state. | Any device that support locking and unlocking, and/or reporting locked state. |
MediaState | action.devices.traits.MediaState |
This trait is used for devices which are able to report media states. | Any media device that is capable of reporting media states |
Modes | action.devices.traits.Modes |
This trait belongs to any devices with an arbitrary number of "n-way" modes in which the modes and settings for each mode are arbitrary and unique to each device or device type. Each mode has multiple possible settings, but only one can be selected at a time; a dryer cannot be in "delicate," "normal," and "heavy duty" mode simultaneously. A setting that simply can be turned on or off belongs in the Toggles trait. | Any |
NetworkControl | action.devices.traits.NetworkControl |
This trait belongs to devices that support reporting network data and performing network specific operations. | Devices that can report network data and perform network specific operations. |
ObjectDetection | action.devices.traits.ObjectDetection |
This trait belongs to devices that can detect objects or people and send a notification to the user. For example, it can be used for doorbells to indicate that a person (named or unnamed) rang the doorbell, as well as for cameras and sensors that can detect movement of objects or people approaching. | Devices that can detect objects or people and send a notification to the user. |
OccupancySensing | action.devices.traits.OccupancySensing |
This trait belongs to devices that can detect occupancy, whether through PIR, ultrasonic, or physical contact sensing. | Devices that can detect occupancy, whether through PIR, ultrasonic, or physical contact sensing. |
OnOff | action.devices.traits.OnOff |
The basic on and off functionality for any device that has binary on and off, including plugs and switches as well as many future devices. | |
OpenClose | action.devices.traits.OpenClose |
This trait belongs to devices that support opening and closing, and in some cases opening and closing partially or potentially in more than one direction. For example, some blinds may open either to the left or to the right. In some cases, opening certain devices may be a security sensitive action which can require two-factor authentication. See Two-factor authentication. | Any device that supports opening and closing. |
Reboot | action.devices.traits.Reboot |
This trait belongs to devices that support rebooting, such as routers. The device needs to support rebooting as a single action. | Any device that supports rebooting. |
Rotation | action.devices.traits.Rotation |
This trait belongs to devices that support rotation, such as blinds with rotatable slats. | Devices that support rotation such as blinds with rotable slats. |
RunCycle | action.devices.traits.RunCycle |
This trait represents any device that has an ongoing duration for its operation which can be queried. This includes, but is not limited to, devices that operate cyclically, such as washing machines, dryers, and dishwashers. | Any - mostly appliances and other devices that have run states |
SensorState | action.devices.traits.SensorState |
This trait covers both quantitative measurement (for example, air quality index or smoke level) and qualitative state (for example, whether the air quality is healthy or whether the smoke level is low or high). | Sensors that provide quantitative measurement (such as smoke level) and qualitative state (whether the air quality is healthy) |
Scene | action.devices.traits.Scene |
In the case of scenes, the type maps 1:1 to the trait, as scenes don't combine with other traits to form composite devices. | Scene only |
SoftwareUpdate | action.devices.traits.SoftwareUpdate |
This trait belongs to devices that support software updates such as a router. | Any device that supports software updates. |
StartStop | action.devices.traits.StartStop |
Starting and stopping a device serves a similar function to turning it on and off. Devices that inherit this trait function differently when turned on and when started. Unlike devices that simply have an on and off state, some devices that can start and stop are also able to pause while performing operation. | Any - mostly appliances and vacuums and other things that have specific activity behavior above and beyond power |
StatusReport | action.devices.traits.StatusReport |
This trait reports the current status or state of a specific device or a connected group of devices. | General purpose trait for reporting the current status or state of a specific device or a connected group of devices such as a security system) |
TemperatureControl | action.devices.traits.TemperatureControl |
Trait for devices (other than thermostats) that support controlling temperature, either within or around the device. This includes devices such as ovens and refrigerators. | |
TemperatureSetting | action.devices.traits.TemperatureSetting |
This trait covers handling both temperature point and modes. | |
Timer | action.devices.traits.Timer |
The Timer trait represents a timer on a device, primarily kitchen appliances such as ovens and microwaves, but not limited to them. | Any device with a timer, such as kitchen appliances like microwaves or ovens. |
Toggles | action.devices.traits.Toggles |
This trait belongs to any devices with settings that can only exist in one of two states. These settings can represent a physical button with an on/off or active/inactive state, a checkbox in HTML, or any other sort of specifically enabled/disabled element. | Any |
TransportControl | action.devices.traits.TransportControl |
This trait supports media devices which are able to control media playback (for example, resuming music that's paused). | Devices support two-way audio communication with third-party devices. |
Volume | action.devices.traits.Volume |
This trait belongs to devices which are able to change volume (for example, setting the volume to a certain level, mute, or unmute). | Media devices that are able to change volume. |
Supported languages
The following languages are supported on all the above traits:
- Danish (
da
) - Dutch (
nl
) - English (
en
) - French (
fr
) - German (
de
) - Hindi (
hi
) - Indonesian (
id
) - Italian (
it
) - Japanese (
ja
) - Korean (
ko
) - Norwegian (
no
) - Portuguese (
pt-BR
) - Spanish (
es
) - Swedish (
sv
) - Thai (
th
) - Chinese (
zh-TW
)