Capabilities Reference

Capabilities are core to the SmartThings architecture. They allow us to abstract specific devices into their underlying capabilities.

An application interacts with devices based on their capabilities, so once we understand the capabilities that are needed by a SmartApp, and the capabilities that are provided by a device, we can understand which devices (based on the Device’s declared capabilities) are eligible for use within a specific SmartApp.

Capabilities themselves are decomposed into both Commands and Attributes. Commands represent ways in which you can control or actuate the device, whereas Attributes represent state information or properties of the device.

Capabilities are created and maintained by the SmartThings internal development team.

This page serves as a reference for the supported capabilities.


Data Types

Before we present the Capabilities, it’s worth covering the various Data Types associated with Capability Attributes and Commands. It is essential to understand that these Data Types are guidelines as to how actual values can be represented. In most cases, Device Handlers contain the implementation logic and define the actual objects for these Data Types. Below is a table outlining the the possible Data Types and what they mean.

Data Type Example Description
STRING “This is a String” Represents character strings
NUMBER 5, 10.67 The Number data type is a guideline indicating that a number should be expected, and not a specific type. Device Handlers contain the implementation of what kind of number object is actually returned.
VECTOR3 (x,y,z) This Data Type is a representation of x,y,z coordinates in space. Device Handlers contain the implementation of the actual data structure, but it is usually as a Map: [x: 0, y: 0, z: 0].
ENUM “one”, “two”, “three” The Enum Data Type is a static set of predefined String values that an Attribute can have, or that a Command can accept as an argument.
DYNAMIC_ENUM “Any”, “value” Much like the Enum Data Type, Dynamic Enum is a set of String values. However, the set is not static or predefined.
COLOR_MAP [hue: 50, saturation: 75] The Color Map is a Map specifically for the use of color control. As such, the Map should contain a Hue and a Saturation value.
JSON_OBJECT   A standard JSON object. Device Handlers contain the implementation and thus should be consulted when looking for the JSON object structure.
DATE   A Date, usually represented as a java.util.Date object.

Capabilities at a Glance

The Capabilities reference table below lists all capabilities. The various columns are:

Name:
The name of the capability that is used by a Device Handler.
Preferences Reference:
The string you would use in a SmartApp to allow a user to select from devices supporting this capability.
Name Preferences Reference
Acceleration Sensor capability.accelerationSensor
Actuator capability.actuator
Alarm capability.alarm
Audio Notification capability.audioNotification
Battery capability.battery
Beacon capability.beacon
Bulb capability.bulb
Button capability.button
Carbon Dioxide Measurement capability.carbonDioxideMeasurement
Carbon Monoxide Detector capability.carbonMonoxideDetector
Color Control capability.colorControl
Color Temperature capability.colorTemperature
Configuration capability.configuration
Consumable capability.consumable
Contact Sensor capability.contactSensor
Door Control capability.doorControl
Energy Meter capability.energyMeter
Estimated Time Of Arrival capability.estimatedTimeOfArrival
Garage Door Control capability.garageDoorControl
Holdable Button capability.holdableButton
Illuminance Measurement capability.illuminanceMeasurement
Image Capture capability.imageCapture
Indicator capability.indicator
Infrared Level capability.infraredLevel
Light capability.light
Lock capability.lock
Lock Only capability.lockOnly
Media Controller capability.mediaController
Momentary capability.momentary
Motion Sensor capability.motionSensor
Music Player capability.musicPlayer
Notification capability.notification
Outlet capability.outlet
pH Measurement capability.phMeasurement
Polling capability.polling
Power Meter capability.powerMeter
Power Source capability.powerSource
Presence Sensor capability.presenceSensor
Refresh capability.refresh
Relative Humidity Measurement capability.relativeHumidityMeasurement
Relay Switch capability.relaySwitch
Sensor capability.sensor
Shock Sensor capability.shockSensor
Signal Strength capability.signalStrength
Sleep Sensor capability.sleepSensor
Smoke Detector capability.smokeDetector
Sound Pressure Level capability.soundPressureLevel
Sound Sensor capability.soundSensor
Speech Recognition capability.speechRecognition
Speech Synthesis capability.speechSynthesis
Step Sensor capability.stepSensor
Switch capability.switch
Switch Level capability.switchLevel
Tamper Alert capability.tamperAlert
Temperature Measurement capability.temperatureMeasurement
Thermostat capability.thermostat
Thermostat Cooling Setpoint capability.thermostatCoolingSetpoint
Thermostat Fan Mode capability.thermostatFanMode
Thermostat Heating Setpoint capability.thermostatHeatingSetpoint
Thermostat Mode capability.thermostatMode
Thermostat Operating State capability.thermostatOperatingState
Thermostat Setpoint capability.thermostatSetpoint
Three Axis capability.threeAxis
Timed Session capability.timedSession
Tone capability.tone
Touch Sensor capability.touchSensor
Ultraviolet Index capability.ultravioletIndex
Valve capability.valve
Voltage Measurement capability.voltageMeasurement
Water Sensor capability.waterSensor
Window Shade capability.windowShade

Acceleration Sensor

The Acceleration Sensor capability allows for acceleration detection. Some use cases for SmartApps using this capability would be detecting if a washing machine is vibrating, or if a case has moved (particularly useful for knowing if a weapon case has been moved).

Preferences Reference

capability.accelerationSensor

Attributes

acceleration: ENUM

A string representation of whether the sensor is active or not

active
if acceleration is detected
inactive
if no acceleration is detected

Commands

None

Actuator

The Actuator capability is a “tagging” capability. It defines no attributes or commands. In SmartThings terms, it represents that a Device has commands.

Preferences Reference

capability.actuator

Attributes

None

Commands

None

Alarm

Note

Z-Wave sometimes uses the term “Alarm” to refer to an important notification. The Alarm Capability is used in SmartThings to define a device that acts as an Alarm in the traditional sense (e.g., has a siren and such).

The Alarm capability allows for interacting with devices that serve as alarms

Preferences Reference

capability.alarm

Attributes

alarm: ENUM

A string representation of whether the switch is on or off

both
if the alarm is strobing and sounding the alarm
off
if the alarm is turned off
siren
if the alarm is sounding the siren
strobe
if the alarm is strobing

Commands

both()
Strobe and sound the alarm
off()
Turn the alarm (siren and strobe) off
siren()
Sound the siren on the alarm
strobe()
Strobe the alarm

Audio Notification

Play a track or a message as an audio notification

Preferences Reference

capability.audioNotification

Attributes

None

Commands

playText(STRING message, NUMBER level)

Play the given string

Arguments:

message *Required - STRING
The text message to play
level - NUMBER
The volume at which to play the message
playTextAndResume(STRING message, NUMBER level)

Play the given message and resume playback of the previously playing track

Arguments:

message *Required - STRING
The text message to play
level - NUMBER
The volume at which to play the message
playTextAndRestore(STRING message, NUMBER level)

Play the given message and restore the volume to its previous level

Arguments:

message *Required - STRING
The text message to play
level - NUMBER
The volume at which to play the message
playTrack(STRING uri, NUMBER level)

Play the given track

Arguments:

uri *Required - STRING
The URI of the track to be played
level - NUMBER
The volume at which to play the track
playTrackAndResume(STRING uri, NUMBER level)

Play the given track and resume playback of the previously playing track

Arguments:

uri *Required - STRING
The URI of the track to be played
level - NUMBER
The volume at which to play the track
playTrackAndRestore(STRING uri, NUMBER level)

Play the given track and restore the volume to its previous level

Arguments:

uri *Required - STRING
The URI of the track to be played
level - NUMBER
The volume at which to play the track

Battery

Defines that the device has a battery

Preferences Reference

capability.battery

Attributes

battery: NUMBER
An indication of the status of the battery

Commands

None

Beacon

Detect whether or not the beacon is present

Preferences Reference

capability.beacon

Attributes

presence: ENUM

The presence value of the beacon

not present
Value when beacon is not present
present
Value when beacon is present

Commands

None

Bulb

Allows for the control of a bulb device

Preferences Reference

capability.bulb

Attributes

switch: ENUM

A string representation of whether the bulb is on or off

off
The value of the switch attribute if the bulb is off
on
The value of the switch attribute if the bulb is on

Commands

off()
Turn a bulb off
on()
Turn a bulb on

Button

A device with one or more buttons

Preferences Reference

capability.button

Attributes

button: ENUM
The state of the button
pushed
The value if the button is pushed
numberOfButtons: NUMBER
The number of buttons on the device

Commands

None

Carbon Dioxide Measurement

Measure carbon dioxide levels

Preferences Reference

capability.carbonDioxideMeasurement

Attributes

carbonDioxide: NUMBER
The level of carbon dioxide detected

Commands

None

Carbon Monoxide Detector

Measure carbon monoxide levels

Preferences Reference

capability.carbonMonoxideDetector

Attributes

carbonMonoxide: ENUM

The state of the carbon monoxide device

clear
No carbon monoxide detected
detected
Carbon monoxide detected
tested
Carbon monoxide device test button was activated

Commands

None

Color Control

Allows for control of a color changing device by setting its hue, saturation, and color values

Preferences Reference

capability.colorControl

Attributes

color: STRING
{"hue":"0-100 (percent)", "saturation":"0-100 (percent)"}
hue: NUMBER
0-100 (percent)
saturation: NUMBER
0-100 (percent)

Commands

setColor(COLOR_MAP color)

Sets the color based on the values passed in with the given map

Arguments:

color *Required - COLOR_MAP

The color map supports the following key/value pairs:

hue - NUMBER
The desired hue value
saturation - NUMBER
The desired saturation value
setHue(NUMBER hue)

Set the hue value of the color

Arguments:

hue *Required - NUMBER
A number in the range 0-100 representing the hue as a value of percent
setSaturation(NUMBER saturation)

Set the saturation value of the color

Arguments:

saturation *Required - NUMBER
A number in the range 0-100 representing the saturation as a value of percent

Color Temperature

Set the color temperature attribute of a color changing device

Preferences Reference

capability.colorTemperature

Attributes

colorTemperature: NUMBER
A number that represents the color temperature, measured in degrees Kelvin

Commands

setColorTemperature(NUMBER temperature)

Set the color temperature to the specified value

Arguments:

temperature *Required - NUMBER
The value to set the color temperature attribute to, in Kelvin

Configuration

Note

This capability is meant to be used only in device handlers. The implementation of the configure() method will be very specific to the physical device. The commands that populate the configure() method will most likely be found in the device manufacturer’s documentation. During the device installation lifecycle, the configure() method is called after the device has been assigned a Device Handler.

Allow configuration of devices that support it

Preferences Reference

capability.configuration

Attributes

None

Commands

configure()
This is where the device specific configuration commands can be implemented

Consumable

For devices with replaceable components

Preferences Reference

capability.consumable

Attributes

consumableStatus: ENUM

The status of replaceable components

good
The component is in good health
maintenance_required
The comopnent needs maintenance
missing
The component is missing
order
A replacement component should be ordered
replace
The component should be replaced

Commands

setConsumableStatus(STRING status)

Set the consumable status

Arguments:

status *Required - STRING
Should be one of good, maintenance_required, missing, order, or replace

Contact Sensor

Allows reading the value of a contact sensor device

Preferences Reference

capability.contactSensor

Attributes

contact: ENUM

The current state of the contact sensor

closed
The value if closed
open
The value if open

Commands

None

Door Control

Allow for the control of a door

Preferences Reference

capability.doorControl

Attributes

door: ENUM

The current state of the door

closed
The door is closed
closing
The door is closing
open
The door is open
opening
The door is opening
unknown
The current state of the door is unknown

Commands

close()
Close the door
open()
Open the door

Energy Meter

Read the energy consumption of an energy metering device

Preferences Reference

capability.energyMeter

Attributes

energy: NUMBER
Numeric value representing energy consumption

Commands

None

Estimated Time Of Arrival

Allow access to estimated time of arrival values for devices that support it, for example automobiles

Preferences Reference

capability.estimatedTimeOfArrival

Attributes

eta: DATE
A date representing the estimated time of arrival

Commands

None

Garage Door Control

Allow for the control of a garage door

Preferences Reference

capability.garageDoorControl

Attributes

door: ENUM

The current state of the garage door

closed
The garage door is closed
closing
The garage door is closing
open
The garage door is open
opening
The garage door is opening
unknown
The current state of the garage door is unknown

Commands

close()
Close the garage door
open()
Open the garage door

Holdable Button

A device with one or more holdable buttons

Preferences Reference

capability.holdableButton

Attributes

button: ENUM

The state of the holdable button

held
The value if the button is held
pushed
The value if the button is pushed
numberOfButtons: NUMBER
The number of buttons on the device

Commands

None

Illuminance Measurement

Gives the illuminance reading from devices that support it

Preferences Reference

capability.illuminanceMeasurement

Attributes

illuminance: NUMBER
The illuminance measurement in LUX

Commands

None

Image Capture

Allows for the capture of an image on devices that support it

Preferences Reference

capability.imageCapture

Attributes

image: STRING
String value representing the image captured

Commands

take()
Capture an image

Indicator

The indicator capability gives you the ability to set the indicator LED light on a Z-Wave switch. As such, the most common use case for the indicator capability is in a Device Handler.

Preferences Reference

capability.indicator

Attributes

indicatorStatus: ENUM

A value representing the current state of the indicator LED

never
The LED is never on
when off
The LED is on when the switch is off
when on
The LED is on when the switch is on

Commands

indicatorNever()
Set the indicator LED to be always off
indicatorWhenOff()
Set the indicator LED to off when the switch is on
indicatorWhenOn()
Set the indicator LED to on when the switch is on

Infrared Level

Allows for the control of the infrared level attribute of a device

Preferences Reference

capability.infraredLevel

Attributes

infraredLevel: NUMBER

Commands

setInfraredLevel(NUMBER level)

Arguments:

level *Required - NUMBER


Light

Allows for the control of a light device

Preferences Reference

capability.light

Attributes

switch: ENUM

A string representation of whether the light is on or off

off
The value of the switch attribute if the light is off
on
The value of the switch attribute if the light is on

Commands

off()
Turn a light off
on()
Turn a light on

Lock

Allow for the control of a lock device

Preferences Reference

capability.lock

Attributes

lock: ENUM

The state of the lock device

locked
The device is locked
unknown
The state of the device is unknown
unlocked
The device is unlocked
unlocked with timeout
The device is unlocked with a timeout

Commands

lock()
Lock the device
unlock()
Unlock the device

Lock Only

Allow for the lock control of a lock device

Preferences Reference

capability.lockOnly

Attributes

lock: ENUM

The state of the lock device

locked
The device is locked
unknown
The state of the device is unknown
unlocked
The device is unlocked
unlocked with timeout
The device is unlocked with a timeout

Commands

lock()
Lock the device

Media Controller

Allows for the control of a media controller device

Preferences Reference

capability.mediaController

Attributes

activities: JSON_OBJECT
A list of all of the configured activities on the media controller
currentActivity: STRING
The currently active activity on the media controller

Commands

getAllActivities()
Get all of the activites available on this device
getCurrentActivity()
Get the currently active activity
startActivity(STRING name)

Start an activity

Arguments:

name *Required - STRING
The name of the activity to start

Momentary

Note

The Momentary capability does not define any attributes, so subscribing to any events will be Device Handler-specific. You should consult the specific Device Handler to see what events may be raised when the push() command is executed.

Allows for the control of a momentary switch device

Preferences Reference

capability.momentary

Attributes

None

Commands

push()
Push the momentary switch

Motion Sensor

Allows for the ability to read motion sensor device states

Preferences Reference

capability.motionSensor

Attributes

motion: ENUM

The current state of the motion sensor

active
The value when motion is detected
inactive
The value when no motion is detected

Commands

None

Music Player

Note

The music player capability is still under development. It currently supports the Sonos system and as such is implemented in a way that is tailored to Sonos.

Allows for control of a music playing device

Preferences Reference

capability.musicPlayer

Attributes

level: NUMBER
0-100 (percent)
mute: ENUM

A string representation of whether the music player is muted or not

muted
The value of the mute attribute if muted
unmuted
The value of the mute attribute if unmuted
status: STRING
State of the music player as a string
trackData: JSON_OBJECT
A JSON data structure that represents current track data
trackDescription: STRING
Description of the current playing track

Commands

mute()
Mute playback
nextTrack()
Advance to the next track
pause()
Pause playback
play()
Start playback
playTrack(STRING trackToPlay)

Play the given track

Arguments:

trackToPlay *Required - STRING
A URI String representing the track to play
previousTrack()
Revert to the previous track
restoreTrack(STRING trackToRestore)

Restore the playlist position to the given track

Arguments:

trackToRestore *Required - STRING
A URI String representing the track to restore
resumeTrack(STRING trackToResume)

Restore the playlist position to the given track and start playback

Arguments:

trackToResume *Required - STRING
A URI String representing the track to resume
setLevel(NUMBER level)

Set the level to the specified value

Arguments:

level *Required - NUMBER
The level to set playback to in the range 0-100 as a percent
setTrack(STRING trackToSet)

Set the current track

Arguments:

trackToSet *Required - STRING
Set the given track to the given URI String
stop()
Stop playback
unmute()
Unmute playback

Notification

Allows for displaying notifications on devices that allow notifications to be displayed

Preferences Reference

capability.notification

Attributes

None

Commands

deviceNotification(STRING notification)

Send a notification to the device, which will in turn be displayed by the device

Arguments:

notification *Required - STRING
The notification message to be displayed on the device

Outlet

Allows for the control of an outlet device

Preferences Reference

capability.outlet

Attributes

switch: ENUM

A string representation of whether the outlet is on or off

off
The value of the switch attribute if the outlet is off
on
The value of the switch attribute if the outlet is on

Commands

off()
Turn an outlet off
on()
Turn an outlet on

pH Measurement

Read the pH value off of a pH measurement capable device

Preferences Reference

capability.phMeasurement

Attributes

pH: NUMBER
A number representing the current pH level measured by the device

Commands

None

Polling

Allows for the polling of devices that support it

Preferences Reference

capability.polling

Attributes

None

Commands

poll()
Poll the device

Power Meter

Allows for reading the power consumption from devices that report it

Preferences Reference

capability.powerMeter

Attributes

power: NUMBER
A number representing the current power consumption. Check the device documentation for how this value is reported

Commands

None

Power Source

Gives the ability to determine the current power source of the device

Preferences Reference

capability.powerSource

Attributes

powerSource: ENUM

The current power source for the device

battery
The device is using battery
dc
The device is using a DC power source
mains
The device is using an AC power source
unknown
The current power source of the device is unknown

Commands

None

Presence Sensor

The ability to see the current status of a presence sensor device

Preferences Reference

capability.presenceSensor

Attributes

presence: ENUM

The current state of the presence sensor

not present
The device is not present
present
The device is present

Commands

None

Refresh

Allow the execution of the refresh command for devices that support it

Preferences Reference

capability.refresh

Attributes

None

Commands

refresh()
Send the refresh command to the device

Relative Humidity Measurement

Allow reading the relative humidity from devices that support it

Preferences Reference

capability.relativeHumidityMeasurement

Attributes

humidity: NUMBER
A numerical representation of the relative humidity measurement taken by the device

Commands

None

Relay Switch

Allows for the control of a relay switch device

Preferences Reference

capability.relaySwitch

Attributes

switch: ENUM

A string representation of whether the relay switch is on or off

off
The value of the switch attribute if the relay switch is off
on
The value of the switch attribute if the relay switch is on

Commands

off()
Turn a relay switch off
on()
Turn a relay switch on

Sensor

The Sensor capability is a “tagging” capability. It defines no attributes or commands. In SmartThings terms, it represents that a Device has attributes.

Preferences Reference

capability.sensor

Attributes

None

Commands

None

Shock Sensor

A Device that senses whether or not there is a shock

Preferences Reference

capability.shockSensor

Attributes

shock: ENUM

A representation of the shock value from the Device

clear
There is not currently a shock value from the Device
detected
The Device is reporting a shock is detected

Commands

None

Signal Strength

Gives the ability to read the signal stregth of Devices that support it

Preferences Reference

capability.signalStrength

Attributes

lqi: NUMBER
A number representing the Link Quality Indication
rssi: NUMBER
A number representing the Received Signal Strength Indication

Commands

None

Sleep Sensor

A Device that senses whether or not someone is sleeping

Preferences Reference

capability.sleepSensor

Attributes

sleeping: ENUM

A representation of the sleeping value from the Device

not sleeping
The Device detected a “not sleeping” state
sleeping
The Device detected a “sleeping” state

Commands

None

Smoke Detector

Measure smoke and optionally carbon monoxide levels

Preferences Reference

capability.smokeDetector

Attributes

smoke: ENUM

The state of the smoke detection device

clear
No smoke detected
detected
Smoke detected
tested
Smoke detector test button was activated
carbonMonoxide: ENUM - Optional

Optionally, the state of the carbon monoxide device

clear
No carbon monoxide detected
detected
Carbon monoxide detected
tested
Carbon monoxide device test button was activated

Commands

None

Sound Pressure Level

Preferences Reference

capability.soundPressureLevel

Attributes

soundPressureLevel: NUMBER

Commands

None

Sound Sensor

A Device that senses sound

Preferences Reference

capability.soundSensor

Attributes

sound: ENUM

Whether or not sound was detected by the Device

detected
Sound is detected
not detected
Sound is not detected

Commands

None

Speech Recognition

Preferences Reference

capability.speechRecognition

Attributes

phraseSpoken: STRING

Commands

None

Speech Synthesis

Preferences Reference

capability.speechSynthesis

Attributes

None

Commands

speak(STRING phrase)

Arguments:

phrase *Required - STRING


Step Sensor

A Device that works as a step counter

Preferences Reference

capability.stepSensor

Attributes

goal: NUMBER
The current step goal
steps: NUMBER
The current step count

Commands

None

Switch

Allows for the control of a switch device

Preferences Reference

capability.switch

Attributes

switch: ENUM

A string representation of whether the switch is on or off

off
The value of the switch attribute if the switch is off
on
The value of the switch attribute if the switch is on

Commands

off()
Turn a switch off
on()
Turn a switch on

Switch Level

Note

The capability is defined to accept two parameters, the level and the rate of dimming. The vast majority of Devices and Device Handlers will not support the rate parameter, however, so you’ll typically only see this command in the form of setLevel(number).

Allows for the control of the level attribute of a light

Preferences Reference

capability.switchLevel

Attributes

level: NUMBER
A number that represents the current light level, usually 0-100 in percent

Commands

setLevel(NUMBER level, NUMBER rate)

Set the level to the given values

Arguments:

level *Required - NUMBER
The level value, usually 0-100 in percent
rate - NUMBER
The rate at which to dim or illuminate the light

Tamper Alert

Preferences Reference

capability.tamperAlert

Attributes

tamper: ENUM

clear

detected

Commands

None

Temperature Measurement

Get the temperature from a Device that reports current temperature

Preferences Reference

capability.temperatureMeasurement

Attributes

temperature: NUMBER
A number that usually represents the current temperature

Commands

None

Thermostat

Allows for the control of a thermostat device

Preferences Reference

capability.thermostat

Attributes

coolingSetpoint: NUMBER
The current cooling setpoint
heatingSetpoint: NUMBER
The current heating setpoint

schedule: JSON_OBJECT

temperature: NUMBER

thermostatFanMode: ENUM

The current mode of the fan on a thermostat

auto
The fan is on auto
circulate
The fan is circulating
on
The fan is on
thermostatMode: ENUM

The current mode of the thermostat

auto
The automatic mode of the thermostat
cool
The cool mode of the thermostat
emergency heat
The emergency heat mode of the thermostat
heat
The heat mode of the thermostat
off
Off mode for the thermostat
thermostatOperatingState: ENUM

The current state that the thermostat is operating in

cooling
The thermostat is cooling
fan only
The thermostat only has the fan on
heating
The thermostat is heating
idle
The thermostat is idle
pending cool
The thermostat is currently pending cooling when a certain temperature setpoint is reached
pending heat
The thermostat is currently pending heating when a certain temperature setpoint is reached
vent economizer
The thermostat is currently in economizer mode
thermostatSetpoint: NUMBER
The current setpoint value

Commands

auto()
Set the mode to auto
cool()
Set the mode to cool
emergencyHeat()
Set the mode to emergency heat
fanAuto()
Set the fan mode to auto
fanCirculate()
Set the fan mode to circulate
fanOn()
Set the fan mode to on
heat()
Set the mode to heat
off()
Set the mode to off
setCoolingSetpoint(NUMBER setpoint)

Set the cooling setpoint

Arguments:

setpoint *Required - NUMBER
A value that the cooling setpoint should be set to
setHeatingSetpoint(NUMBER setpoint)

Set the heating setpoint

Arguments:

setpoint *Required - NUMBER
A value that the heating setpoint should be set to

setSchedule(JSON_OBJECT schedule)

Arguments:

schedule *Required - JSON_OBJECT

setThermostatFanMode(ENUM fanmode)

Set the thermostat fan mode

Arguments:

fanmode *Required - ENUM

The mode may be one of the following values:

auto
Automatically detect when the fan should be on
circulate
Periodically turn the fan on to circulate air
on
The fan is on
setThermostatMode(ENUM mode)

Set the thermostat mode

Arguments:

mode *Required - ENUM

The mode may be one of the following values:

auto
Put the thermostat in auto mode
cool
Put the thermostat in cool mode
emergency heat
Put the thermostat in emergency heat mode
heat
Put the thermostat in heat mode
off
Put the thermostat in off mode

Thermostat Cooling Setpoint

Allows for setting the cooling setpoint on a thermostat

Preferences Reference

capability.thermostatCoolingSetpoint

Attributes

coolingSetpoint: NUMBER
The current cooling setpoint

Commands

setCoolingSetpoint(NUMBER setpoint)

Set the cooling setpoint

Arguments:

setpoint *Required - NUMBER
A value that the cooling setpoint should be set to

Thermostat Fan Mode

Allows for setting the fan mode on a thermostat

Preferences Reference

capability.thermostatFanMode

Attributes

thermostatFanMode: ENUM

The current mode of the fan on a thermostat

auto
The fan is on auto
circulate
The fan is circulating
on
The fan is on

Commands

fanAuto()
Set the fan mode to auto
fanCirculate()
Set the fan mode to circulate
fanOn()
Set the fan mode to on
setThermostatFanMode(ENUM mode)

Set the thermostat fan mode

Arguments:

mode *Required - ENUM

The mode may be one of the following values:

auto
Automatically detect when the fan should be on
circulate
Periodically turn the fan on to circulate air
on
The fan is on

Thermostat Heating Setpoint

Allows for setting the heating setpoint on a thermostat

Preferences Reference

capability.thermostatHeatingSetpoint

Attributes

heatingSetpoint: NUMBER
The current heating setpoint

Commands

setHeatingSetpoint(NUMBER setpoint)

Set the heating setpoint

Arguments:

setpoint *Required - NUMBER
A value that the heating setpoint should be set to

Thermostat Mode

Allows for setting the mode on a thermostat

Preferences Reference

capability.thermostatMode

Attributes

thermostatMode: ENUM

The current mode of a thermostat

auto
The automatic mode of the thermostat
cool
The cool mode of the thermostat
emergency heat
The emergency heat mode of the thermostat
heat
The heat mode of the thermostat
off
Off mode for the thermostat

Commands

auto()
Set the mode to auto
cool()
Set the mode to cool
emergencyHeat()
Set the mode to emergency heat
heat()
Set the mode to heat
off()
Set the mode to off
setThermostatMode(ENUM mode)

Set the thermostat mode

Arguments:

mode *Required - ENUM

The mode may be one of the following values:

auto
Put the thermostat in auto mode
cool
Put the thermostat in cool mode
emergency heat
Put the thermostat in emergency heat mode
heat
Put the thermostat in heat mode
off
Put the thermostat in off mode

Thermostat Operating State

Gives the ability to see the current state that the thermostat is operating in

Preferences Reference

capability.thermostatOperatingState

Attributes

thermostatOperatingState: ENUM

The current state that the thermostat is operating in

cooling
The thermostat is cooling
fan only
The thermostat only has the fan on
heating
The thermostat is heating
idle
The thermostat is idle
pending cool
The thermostat is currently pending cooling when a certain temperature setpoint is reached
pending heat
The thermostat is currently pending heating when a certain temperature setpoint is reached
vent economizer
The thermostat is currently in economizer mode

Commands

None

Thermostat Setpoint

Gives the ability to read the current setpoint on a thermostat

Preferences Reference

capability.thermostatSetpoint

Attributes

thermostatSetpoint: NUMBER
The current setpoint value

Commands

None

Three Axis

Gives the three axis coordinates for devices that support it

Preferences Reference

capability.threeAxis

Attributes

threeAxis: VECTOR3
A Vector3 (x,y,z) representation of the three axis coordinates

Commands

None

Timed Session

Preferences Reference

capability.timedSession

Attributes

sessionStatus: ENUM

canceled

paused

running

stopped

timeRemaining: NUMBER

Commands

cancel()

pause()

setTimeRemaining(NUMBER time)

Arguments:

time *Required - NUMBER

start()

stop()


Tone

Allows for the control of a device that can make an audible tone

Preferences Reference

capability.tone

Attributes

None

Commands

beep()
Beep the device

Touch Sensor

Gives the ability to get the touched status for devices that are touch sensitive

Preferences Reference

capability.touchSensor

Attributes

touch: ENUM
Whether or not the device was touched
touched
The value if the device was touched

Commands

None

Ultraviolet Index

Gives the ability to get the ultraviolet index from devices that report it

Preferences Reference

capability.ultravioletIndex

Attributes

ultravioletIndex: NUMBER
A number representing the ultraviolet index

Commands

None

Valve

Allows for the control of a valve device

Preferences Reference

capability.valve

Attributes

contact: ENUM

This attribute is deprecated. Use the valve attribute instead.

closed

open

valve: ENUM

A string representation of whether the valve is open or closed

closed
The value of the valve attribute if the valve is closed
open
The value of the valve attribute if the valve is open

Commands

close()
Close the valve
open()
Open the valve

Voltage Measurement

Get the value of voltage measured from devices that support it

Preferences Reference

capability.voltageMeasurement

Attributes

voltage: NUMBER
A number representing the current voltage measured

Commands

None

Water Sensor

Get the status off of a water sensor device

Preferences Reference

capability.waterSensor

Attributes

water: ENUM

A string representation of whether the water sensor detected water

dry
Currently, water is undetected
wet
Water is detected

Commands

None

Window Shade

Preferences Reference

capability.windowShade

Attributes

windowShade: ENUM

closed

closing

open

opening

partially open

unknown

Commands

close()

open()

presetPosition()