Capabilities that can be used in drivers (or selected for in apps), along with any commands (methods) and attributes that they require.
capability.accelerationSensor
capability "AccelerationSensor"
acceleration
- ENUM ["inactive", "active"]capability.actuator
capability "Actuator"
capability.airQuality
capability "AirQuality"
airQualityIndex
- NUMBER, range:0..500
capability.alarm
capability "Alarm"
alarm
- ENUM ["strobe", "off", "both", "siren"]both()
off()
siren()
strobe()
capability.audioNotification
capability "AudioNotification"
playText(text, volumelevel)
text
required (STRING) - Text to playvolumelevel
optional (NUMBER) - Volume level (0 to 100)playTextAndRestore(text, volumelevel)
text
required (STRING) - Text to playvolumelevel
optional (NUMBER) - Volume level (0 to 100)playTextAndResume(text, volumelevel)
text
required (STRING) - Text to play
volumelevel
optional (NUMBER) - Volume level (0 to 100)playTrack(trackuri, volumelevel)
trackuri
required (STRING) - URI/URL of track to playvolumelevel
optional (NUMBER) - Volume level (0 to 100)playTrackAndRestore(trackuri, volumelevel)
trackuri
required (STRING) - URI/URL of track to playvolumelevel
optional (NUMBER) - Volume level (0 to 100)playTrackAndResume(trackuri, volumelevel)
trackuri
required (STRING) - URI/URL of track to playvolumelevel
optional (NUMBER) - Volume level (0 to 100)capability.audioVolume
capability "AudioVolume"
mute
- ENUM ["unmuted", "muted"]volume
- NUMBER, unit:%mute()
setVolume(volumelevel)
volumelevel
required (NUMBER) - Volume level (0 to 100)unmute()
volumeDown()
volumeUp()
capability.battery
capability "Battery"
battery
- NUMBER, unit:%capability.beacon
capability "Beacon"
presence
- ENUM ["not present", "present"]capability.bulb
capability "Bulb"
switch
- ENUM ["on", "off"]
off()
on()
capability.button
capability "Button"
button
- NUMBERholdableButton
- ENUM ["true", "false"]numberOfButtons
- NUMBERcapability.carbonDioxideMeasurement
capability "CarbonDioxideMeasurement"
carbonDioxide
- NUMBER, unit:ppmcapability.carbonMonoxideDetector
capability "CarbonMonoxideDetector "
carbonMonoxide
- ENUM ["clear", "tested", "detected"]capability.changeLevel
capability "ChangeLevel"
startLevelChange(direction)
direction
required (ENUM) - Direction for level change requeststopLevelChange()
capability.chime
capability "Chime"
soundEffects
- JSON_OBJECTsoundName
- STRINGstatus
- ENUM ["playing", "stopped"]playSound(soundnumber)
soundnumber
required (NUMBER) - Sound number to playstop()
capability.colorControl
capability "ColorControl"
RGB
- STRINGcolor
- STRINGcolorName
- STRINGhue
- NUMBERsaturation
- NUMBER, unit:%setColor(colormap)
colormap
required (COLOR_MAP) - Map of color settings in HSV/HSB format using keys hue
, saturation
, and (optionally) level
:
hue
: 0-100
(hue as percent)saturation
: 0-100
(saturation as percent)level
: 0-100
(brightness/value as pecent)setHue(hue)
hue
required (NUMBER) - Color hue (0 to 100)setSaturation(saturation)
saturation
required (NUMBER) - Color saturation (0 to 100)capability.colorMode
capability "ColorMode"
colorMode
- ENUM ["CT", "RGB", "EFFECTS"]capability.colorTemperature
capability "ColorTemperature"
colorName
- STRINGcolorTemperature
- NUMBER, unit:°KsetColorTemperature(colortemperature, level, transitionTime)
colortemperature
required (NUMBER) - Color temperature in degrees Kelvinlevel
optional (NUMBER) - level to settransitionTime
optional (NUMBER) - transition time to use in secondscapability.configuration
capability "Configuration"
configure()
capability.consumable
capability "Consumable"
consumableStatus
- ENUM ["missing", "order", "maintenance_required", "good", "replace"]setConsumableStatus(STRING)
STRING
(STRING) - STRINGcapability.contactSensor
capability "ContactSensor"
contact
- ENUM ["closed", "open"]capability.currentMeter
capability "CurrentMeter"
amperage
- NUMBER, unit:Acapability.doorControl
capability "DoorControl"
door
- ENUM ["unknown", "closed", "open", "closing", "opening"]close()
open()
capability.doubleTapableButton
capability "DoubleTapableButton"
doubleTapped
- NUMBERdoubleTap(buttonNumber)
buttonNumber
required (NUMBER)capability.energyMeter
capability "EnergyMeter"
energy
- NUMBER, unit:kWhcapability.estimatedTimeOfArrival
capability "EstimatedTimeOfArrival"
eta
- DATEcapability.fanControl
capability "FanControl"
speed
- ENUM ["low","medium-low","medium","medium-high","high","on","off","auto"]supportedFanSpeeds
- JSON_OBJECTsetSpeed(fanspeed)
fanspeed
required (ENUM) - Fan speed to setcycleSpeed()
capability.filterStatus
capability "FilterStatus"
filterStatus
- ENUM ["normal", "replace"]capability.flash
capability "Flash"
flash(rateToFlash)
rateToFlash
optional (NUMBER) Rate to flash in mscapability.garageDoorControl
capability "GarageDoorControl"
door
- ENUM ["unknown", "open", "closing", "closed", "opening"]close()
open()
capability.gasDetector
capability "GasDetector"
naturalGas
- ENUM ["clear", "tested", "detected"]capability.healthCheck
capability "HealthCheck"
checkInterval
- NUMBERping()
capability.holdableButton
capability "HoldableButton"
held
- NUMBERhold(buttonNumber)
buttonNumber
required (NUMBER)capability.illuminanceMeasurement
capability "IlluminanceMeasurement"
illuminance
- NUMBER, unit:lxcapability.imageCapture
capability "ImageCapture"
image
- STRINGtake()
capability.indicator
capability "Indicator"
indicatorStatus
- ENUM ["never", "when on", "when off"]indicatorNever()
indicatorWhenOff()
indicatorWhenOn()
capability.initialize
capability "Initialize"
initialize()
- this method will run on system start on devices using capability "Initialize"
(one common use is re-establishing telnet, websocket, or similar LAN connections for such devices)capability.light
capability "Light"
switch
- ENUM ["on", "off"]off()
on()
capability.lightEffects
capability "LightEffects"
effectName
- STRINGlightEffects
- JSON_OBJECTsetEffect(effectnumber)
effectnumber
required (NUMBER) - Effect number to enablesetNextEffect()
setPreviousEffect()
capability.liquidFlowRate
capability "LiquidFlowRate"
rate
- NUMBER, unit:LPM || GPMcapability.locationMode
capability "LocationMode"
mode
- DYNAMIC_ENUMcapability.lock
capability "Lock"
lock
- ENUM ["locked", "unlocked with timeout", "unlocked", "unknown"]lock()
unlock()
capability.lockCodes
capability "LockCodes"
codeChanged
- ENUM ["added", "changed", "deleted", "failed"]codeLength
- NUMBERlockCodes
- JSON_OBJECTmaxCodes
- NUMBERdeleteCode(codeposition)
codeposition
required (NUMBER) - Code position number to deletegetCodes()
setCode(codeposition, pincode, name)
codeposition
required (NUMBER) - Code position numberpincode
required (STRING) - Numeric PIN codename
optional (STRING) - Name for this lock codesetCodeLength(pincodelength)
pincodelength
required (NUMBER) - Maximum pin code lentgh for this lockcapability.mediaController
capability "MediaController"
activities
- JSON_OBJECTcurrentActivity
- STRINGgetAllActivities()
getCurrentActivity()
startActivity(activityname)
activityname
required (STRING) - Name of media activity to startcapability.mediaInputSource
capability "MediaInputSource"
supportedInputs
- JSON_OBJECTmediaInputSource
- STRINGsetInputSource(inputName)
inputName
required (STRING) - Input to selectcapability.mediaTransport
capability "MediaTransport"
transportStatus
- ENUM - ["playing", "paused", "stopped"]
play()
pause()
stop()
capability.momentary
capability "Momentary"
push()
capability.motionSensor
capability "MotionSensor"
motion
- ENUM ["inactive", "active"]
capability.musicPlayer
capability "MusicPlayer"
level
- NUMBERmute
- ENUM ["unmuted", "muted"]status
- STRINGtrackData
- JSON_OBJECTtrackDescription
- STRINGmute()
nextTrack()
pause()
play()
playText(text)
text
required (STRING) - Text to playplayTrack(trackuri)
trackuri
required (STRING) - URI/URL of track to playpreviousTrack()
restoreTrack(trackuri)
trackuri
required (STRING) - URI/URL of track to restoreresumeTrack(trackuri)
trackuri
required (STRING) - URI/URL of track to playsetLevel(volumelevel)
volumelevel
required (NUMBER) - Volume level (0 to 100)setTrack(trackuri)
trackuri
required (STRING) - URI/URL of track to setstop()
unmute()
capability.notification
capability "Notification"
deviceNotification(text)
text
required (STRING) - Notification text
capability.outlet
capability "Outlet"
switch
- ENUM ["on", "off"]
off()
on()
capability.polling
capability "Polling"
poll()
capability.powerMeter
capability "PowerMeter"
power
- NUMBER, unit:Wcapability.powerSource
capability "PowerSource"
powerSource
- ENUM ["battery", "dc", "mains", "unknown"]capability.presenceSensor
capability "PresenceSensor"
presence
- ENUM ["present", "not present"]capability.pressureMeasurement
capability "PressureMeasurement"
pressure
- NUMBER, unit: Pa || psicapability.pushableButton
capability "PushableButton"
numberOfButtons
- NUMBERpushed
- NUMBERpush(buttonNumber)
buttonNumber
required (NUMBER)capability.refresh
capability "Refresh"
refresh()
capability.relativeHumidityMeasurement
capability "RelativeHumidityMeasurement"
humidity
- NUMBER, unit:%rhcapability.relaySwitch
capability "RelaySwitch"
switch
- ENUM ["on", "off"]off()
on()
capability.releasableButton
capability "ReleasableButton"
released
- NUMBER
release(buttonNumber)
buttonNumber
required (NUMBER)capability.samsungTV
capability "SamsungTV"
messageButton
- JSON_OBJECTmute
- ENUM ["muted", "unknown", "unmuted"]pictureMode
- ENUM ["unknown", "standard", "movie", "dynamic"]soundMode
- ENUM ["speech", "movie", "unknown", "standard", "music"]switch
- ENUM ["on", "off"]volume
- NUMBERmute()
off()
on()
setPictureMode(ENUM)
ENUM
(ENUM) - ENUMsetSoundMode(ENUM)
ENUM
(ENUM) - ENUMsetVolume(NUMBER)
NUMBER
(NUMBER) - NUMBERshowMessage(STRING, STRING, STRING, STRING)
STRING
(STRING) - STRINGSTRING
(STRING) - STRINGSTRING
(STRING) - STRINGSTRING
(STRING) - STRINGunmute()
volumeDown()
volumeUp()
capability.securityKeypad
capability "SecurityKeypad"
codeChanged
- ENUM ["added", "changed", "deleted", "failed"]codeLength
- NUMBERlockCodes
- JSON_OBJECTmaxCodes
- NUMBERsecurityKeypad
- ENUM ["disarmed", "armed home", "armed away", "unknown"]armAway()
armHome()
deleteCode(codeposition)
codeposition
required (NUMBER) - Code position number to deletedisarm()
getCodes()
setCode(codeposition, pincode, name)
codeposition
required (NUMBER) - Code position numberpincode
required (STRING) - Numeric PIN codename
optional (STRING) - Name for this lock codesetCodeLength(pincodelength)
pincodelength
required (NUMBER) - Maximum pin code lentgh for this keypadsetEntryDelay(entrancedelay)
entrancedelay
required (NUMBER) - Entrance delay in secondssetExitDelay(exitdelay)
exitdelay
required (NUMBER) - Exit delay in secondscapability.sensor
capability "Sensor"
capability.shockSensor
capability "ShockSensor"
shock
- ENUM ["clear", "detected"]capability.signalStrength
capability "SignalStrength"
lqi
- NUMBERrssi
- NUMBERcapability.sleepSensor
capability "SleepSensor"
sleeping
- ENUM ["not sleeping", "sleeping"]capability.smokeDetector
capability "SmokeDetector"
smoke
- ENUM ["clear", "tested", "detected"]capability.soundPressureLevel
capability "SoundPressureLevel"
soundPressureLevel
- NUMBER, unit:dBcapability.soundSensor
capability "SoundSensor"
sound
- ENUM ["detected", "not detected"]capability.speechRecognition
capability "SpeechRecognition"
phraseSpoken
- STRINGcapability.speechSynthesis
capability "SpeechSynthesis"
speak(text, volume, voice)
text
required (STRING) - Text to speakvolume
optional (NUMBER)voice
optional (STRING) - AWS Polly voice namecapability.stepSensor
capability "StepSensor"
goal
- NUMBERsteps
- NUMBERcapability.switch
capability "Switch"
switch
- ENUM ["on", "off"]off()
on()
capability.switchLevel
capability "SwitchLevel"
level
- NUMBER, unit:%setLevel(level, duration)
level
required (NUMBER) - Level to set (0 to 100)duration
optional (NUMBER) - Transition duration in secondscapability.tv
capability "TV"
channel
- NUMBERmovieMode
- STRINGpicture
- STRINGpower
- STRINGsound
- STRINGvolume
- NUMBERchannelDown()
channelUp()
volumeDown()
volumeUp()
capability.tamperAlert
capability "TamperAlert"
tamper
- ENUM ["clear", "detected"]capability.telnet
capability "Telnet"
networkStatus
- ENUM ["online", "offline"]sendMsg(message)
message
required (STRING) - Text message to sendcapability.temperatureMeasurement
capability "TemperatureMeasurement"
temperature
- NUMBER, unit:°F || °Ccapability.testCapability
capability "TestCapability"
capability.thermostat
capability "Thermostat"
coolingSetpoint
- NUMBER, unit:°F || °CheatingSetpoint
- NUMBER, unit:°F || °Cschedule
- JSON_OBJECT (Deprecated)supportedThermostatFanModes
- JSON_OBJECTsupportedThermostatModes
- JSON_OBJECTtemperature
- NUMBER, unit:°F || °CthermostatFanMode
- ENUM ["on", "circulate", "auto"]thermostatMode
- ENUM ["auto", "off", "heat", "emergency heat", "cool"]thermostatOperatingState
- ENUM ["heating", "pending cool", "pending heat", "vent economizer", "idle", "cooling", "fan only"]thermostatSetpoint
- NUMBER, unit:°F || °Cauto()
cool()
emergencyHeat()
fanAuto()
fanCirculate()
fanOn()
heat()
off()
setCoolingSetpoint(temperature)
temperature
required (NUMBER) - Cooling setpoint in degreessetHeatingSetpoint(temperature)
temperature
required (NUMBER) - Heating setpoint in degreessetSchedule(JSON_OBJECT)
(Deprecated)
JSON_OBJECT
(JSON_OBJECT) - JSON_OBJECT (Deprecated)setThermostatFanMode(fanmode)
fanmode
required (ENUM) - Fan mode to setsetThermostatMode(thermostatmode)
thermostatmode
required (ENUM) - Thermostat mode to setcapability.thermostatCoolingSetpoint
capability "ThermostatCoolingSetpoint"
coolingSetpoint
- NUMBER, unit:°F || °CsetCoolingSetpoint(temperature)
temperature
required (NUMBER) - Cooling setpoint in degreescapability.thermostatFanMode
capability "ThermostatFanMode"
thermostatFanMode
- ENUM ["auto", "circulate", "on"]fanAuto()
fanCirculate()
fanOn()
setThermostatFanMode(fanmode)
fanmode
required (ENUM) - Fan mode to setcapability.thermostatHeatingSetpoint
capability "ThermostatHeatingSetpoint"
heatingSetpoint
- NUMBER, unit:°F || °CsetHeatingSetpoint(temperature)
temperature
required (NUMBER) - Heating setpoint in degreescapability.thermostatMode
capability "ThermostatMode"
thermostatMode
- ENUM ["heat", "cool", "emergency heat", "auto", "off"]auto()
cool()
emergencyHeat()
heat()
off()
setThermostatMode(thermostatmode)
thermostatmode
required (ENUM) - Thermostat mode to setcapability.thermostatOperatingState
capability "ThermostatOperatingState"
thermostatOperatingState
- ENUM ["vent economizer", "pending cool", "cooling", "heating", "pending heat", "fan only", "idle"]capability.thermostatSchedule
capability "ThermostatSchedule"
schedule
- JSON_OBJECTsetSchedule(JSON_OBJECT)
JSON_OBJECT
(JSON_OBJECT) - JSON_OBJECTcapability.thermostatSetpoint
capability "ThermostatSetpoint"
thermostatSetpoint
- NUMBER, unit:°F || °Ccapability.threeAxis
capability "ThreeAxis"
threeAxis
- VECTOR3capability.timedSession
capability "TimedSession"
sessionStatus
- ENUM ["stopped", "canceled", "running", "paused"]timeRemaining
- NUMBERcancel()
pause()
setTimeRemaining(NUMBER)
NUMBER
(NUMBER) - NUMBERstart()
stop()
capability.tone
capability "Tone"
beep()
capability.touchSensor
capability "TouchSensor"
touch
- ENUM ["touched"]capability.ultravioletIndex
capability "UltravioletIndex"
ultravioletIndex
- NUMBERcapability.valve
capability "Valve"
valve
- ENUM ["open", "closed"]close()
open()
capability.variable
capability "Variable"
variable
- STRINGsetVariable(valueToSet)
valueToSet
required (STRING)capability.videoCapture
capability "VideoCamera"
camera
- ENUM ["on", "off", "restarting", "unavailable"]mute
- ENUM ["unmuted", "muted"]settings
- JSON_OBJECTstatusMessage
- STRINGflip()
mute()
off()
on()
unmute()
capability.videoCapture
capability "VideoCapture"
clip
- JSON_OBJECTcapture(DATE, DATE, DATE)
DATE
(DATE) - DATEDATE
(DATE) - DATEDATE
(DATE) - DATEcapability.voltageMeasurement
capability "VoltageMeasurement"
voltage
- NUMBER, unit:Vfrequency
- NUMBER, unit:Hzcapability.waterSensor
capability "WaterSensor"
water
- ENUM ["wet", "dry"]capability.windowBlind
capability "WindowBlind"
position
- NUMBER, unit:%windowBlind
- ENUM ["opening", "partially open", "closed", "open", "closing", "unknown"]tilt
- NUMBER, unit:%close()
open()
setPosition(position)
position
required (NUMBER) - Shade position (0 to 100)startPositionChange(direction)
direction
required (ENUM) - Direction for position change request ["open", "close"]stopPositionChange()
setTiltLevel(tilt)
tilt
required (NUMBER) - Tilt percent (0 to 100)capability.windowShade
capability "WindowShade"
position
- NUMBER, unit:%windowShade
- ENUM ["opening", "partially open", "closed", "open", "closing", "unknown"]close()
open()
setPosition(position)
position
required (NUMBER) - Shade position (0 to 100)startPositionChange(direction)
direction
required (ENUM) - Direction for position change request ["open", "close"]stopPositionChange()
capability.zwMultichannel
capability "ZwMultichannel"
epEvent
- STRINGepInfo
- STRINGenableEpEvents(STRING)
STRING
(STRING) - STRINGepCmd(NUMBER, STRING)
NUMBER
(NUMBER) - NUMBERSTRING
(STRING) - STRINGcapability.pHMeasurement
capability "pHMeasurement"
pH
- NUMBER