Welcome to the Google Home Developer Center, the new destination for learning how to develop smart home actions. Note: You'll continue building actions in the Actions console.

Smart Home Device Traits

Stay organized with collections Save and categorize content based on your preferences.

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.
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)