Smart Home Device Traits

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.

Name Device Traits Description Recommended Device Types
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 an Android phone. By and large, these are currently security cameras or baby cameras. But this would also apply to more complex devices which have a camera on them (for example, video-conferencing robotics/devices or a vacuum robot with a camera on it). Camera
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
Dock action.devices.traits.Dock This trait is designed for self-mobile devices that can be commanded to return for charging. Vacuum
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
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.
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
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
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
TemperatureSetting action.devices.traits.TemperatureSetting This trait covers handling both temperature point and modes. Thermostat
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