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 |
| Bridge | capability.bridge |
| 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
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
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
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
Bridge¶
The Bridge capability is a “tagging” capability. It defines no attributes or commands. In SmartThings terms, it represents that a Device is a bridge to other devices.
Preferences Reference¶
capability.bridge
Attributes¶
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
switchattribute if the bulb is offon- The value of the
switchattribute if the bulb is 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
held- The value if the button is held
- numberOfButtons: NUMBER
- The number of buttons on the device
Carbon Dioxide Measurement¶
Measure carbon dioxide levels
Preferences Reference¶
capability.carbonDioxideMeasurement
Attributes¶
- carbonDioxide: NUMBER
- The level of carbon dioxide detected
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
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_MAPThe 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-100representing 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-100representing 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
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, orreplace
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
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
Energy Meter¶
Read the energy consumption of an energy metering device
Preferences Reference¶
capability.energyMeter
Attributes¶
- energy: NUMBER
- Numeric value representing energy consumption
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
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
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
Illuminance Measurement¶
Gives the illuminance reading from devices that support it
Preferences Reference¶
capability.illuminanceMeasurement
Attributes¶
- illuminance: NUMBER
- The illuminance measurement in LUX
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
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
- A number that represents the current infrared light level,
0-100in percent
Commands¶
- setInfraredLevel(NUMBER level)
Set the infrared level to the given value
Arguments:
level*Required - NUMBER- The infrared level value,
0-100in percent
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
switchattribute if the light is offon- The value of the
switchattribute if the light is 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
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
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
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
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
muteattribute if mutedunmuted- The value of the
muteattribute 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-100as 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
switchattribute if the outlet is offon- The value of the
switchattribute if the outlet is 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
Polling¶
Allows for the polling of devices that support it
Preferences Reference¶
capability.polling
Attributes¶
None
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
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
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
Refresh¶
Allow the execution of the refresh command for devices that support it
Preferences Reference¶
capability.refresh
Attributes¶
None
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
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
switchattribute if the relay switch is offon- The value of the
switchattribute if the relay switch is 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
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
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
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
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
Sound Pressure Level¶
Preferences Reference¶
capability.soundPressureLevel
Attributes¶
soundPressureLevel: NUMBER
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
Speech Recognition¶
Preferences Reference¶
capability.speechRecognition
Attributes¶
phraseSpoken: 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
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
switchattribute if the switch is offon- The value of the
switchattribute if the switch is 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-100in percent
Commands¶
- setLevel(NUMBER level, NUMBER rate)
Set the level to the given values
Arguments:
level*Required - NUMBER- The level value, usually
0-100in percentrate- NUMBER- The rate at which to dim or illuminate the light
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
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 - ENUMThe 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 - ENUMThe mode may be one of the following values:
auto- Put the thermostat in
automodecool- Put the thermostat in
coolmodeemergency heat- Put the thermostat in
emergency heatmodeheat- Put the thermostat in
heatmodeoff- Put the thermostat in
offmode
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 - ENUMThe 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 - ENUMThe mode may be one of the following values:
auto- Put the thermostat in
automodecool- Put the thermostat in
coolmodeemergency heat- Put the thermostat in
emergency heatmodeheat- Put the thermostat in
heatmodeoff- Put the thermostat in
offmode
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
Thermostat Setpoint¶
Gives the ability to read the current setpoint on a thermostat
Preferences Reference¶
capability.thermostatSetpoint
Attributes¶
- thermostatSetpoint: NUMBER
- The current setpoint value
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
Timed Session¶
Preferences Reference¶
capability.timedSession
Attributes¶
sessionStatus: ENUM
canceled
paused
running
stoppedtimeRemaining: NUMBER
Commands¶
cancel()
pause()
setTimeRemaining(NUMBER time)
Arguments:
time*Required - NUMBERstart()
stop()
Tone¶
Allows for the control of a device that can make an audible tone
Preferences Reference¶
capability.tone
Attributes¶
None
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
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
Valve¶
Allows for the control of a valve device
Preferences Reference¶
capability.valve
Attributes¶
- contact: ENUM
This attribute is deprecated. Use the
valveattribute instead.
closed
open- valve: ENUM
A string representation of whether the valve is open or closed
closed- The value of the
valveattribute if the valve is closedopen- The value of the
valveattribute if the valve is open
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