Go to Body Go to Navigation

Introduction

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 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 Attributes and Commands. Note that these data types are guidelines as to how actual values can be represented. In most cases, the SmartThings platform contains the implementation logic and defines 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.6 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: 60] 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.

Key Definitions

Key Description Example
name Name of the Capability Acceleration Sensor
status Whether the Capability is ready or still in beta live or proposed
attributes A list of Attributes and their key-value pairs supported for the Capability acceleration
commands A list of Commands and their key-value pairs supported for the Capability setAirConditionerMode
public Whether the Capability is available for external developers or not true
id The ID of the Capability. airConditionerMode
ocfResourceType The corresponding OCF Resource Type for a Capability x.com.st.alarm

Capabilities

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

Definition

name: Acceleration Sensor
status: live
attributes:
  acceleration:
    schema: ActivityState
    type: ENUM
    values:
    - active
    - inactive
commands: {
  }
public: true
id: accelerationSensor
ocfResourceType: x.com.st.acceleration

Attributes

acceleration

A string representation of whether the sensor is active or not

Type: ENUM Required: Yes

Possible values:

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

Definition

name: Actuator
status: live
attributes: {
  }
commands: {
  }
public: true
id: actuator

Attributes

None

Commands

None.

Air Conditioner Mode

Allows for the control of the air conditioner.

Definition

name: Air Conditioner Mode
status: proposed
attributes:
  airConditionerMode:
    schema: HvacMode
    type: ENUM
    values:
    - auto
    - cool
    - dry
    - coolClean
    - dryClean
    - fanOnly
    - heat
    - heatClean
    - notSupported
commands:
  setAirConditionerMode:
    arguments:
    - schema: HvacMode
      type: ENUM
      name: mode
      values:
      - auto
      - cool
      - dry
      - coolClean
      - dryClean
      - fanOnly
      - heat
      - heatClean
      - notSupported
public: true
id: airConditionerMode
ocfResourceType: x.com.st.mode.airconditioner

Attributes

airConditionerMode

Type: ENUM Required: Yes

Possible values:

  • auto - null
  • cool - null
  • dry - null
  • coolClean - null
  • dryClean - null
  • fanOnly - null
  • heat - null
  • heatClean - null
  • notSupported - null

Commands

setAirConditionerMode(mode)

Arguments:

  • mode
    • Type: ENUM
    • Required: Yes
    • Description:

Air Quality Sensor

Gets the air quality number.

Definition

name: Air Quality Sensor
status: proposed
attributes:
  airQuality:
    schema: PositiveInteger
    type: NUMBER
commands: {
  }
public: true
id: airQualitySensor
ocfResourceType: x.com.st.airqualitylevel

Attributes

airQuality

Type: NUMBER Required: Yes

Commands

None.

Alarm

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

Definition

name: Alarm
status: live
attributes:
  alarm:
    schema: AlertState
    type: ENUM
    values:
    - both
    - 'off'
    - siren
    - strobe
commands:
  both:
    arguments: [
      ]
  'off':
    arguments: [
      ]
  siren:
    arguments: [
      ]
  strobe:
    arguments: [
      ]
public: true
id: alarm
ocfResourceType: x.com.st.alarm

Attributes

alarm

A string representation of whether the switch is on or off

Type: ENUM Required: Yes

Possible values:

  • 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 Mute

Allows for the control of audio mute.

Definition

name: Audio Mute
status: proposed
attributes:
  mute:
    schema: MuteState
    type: ENUM
    values:
    - muted
    - unmuted
commands:
  setMute:
    arguments:
    - name: state
      schema: MuteState
      type: ENUM
      values:
      - muted
      - unmuted
  mute:
    arguments: [
      ]
  unmute:
    arguments: [
      ]
public: true
id: audioMute

Attributes

mute

Type: ENUM Required: Yes

Possible values:

  • muted - null
  • unmuted - null

Commands

setMute(state)

Arguments:

  • state
    • Type: ENUM
    • Required: Yes
    • Description:

mute()

unmute()

Audio Notification

Play a track or a message as an audio notification

Definition

name: Audio Notification
status: live
attributes: {
  }
commands:
  playTrack:
    arguments:
    - name: uri
      schema: URI
      type: STRING
    - name: level
      schema: PositiveInteger
      type: NUMBER
      required: false
  playTrackAndResume:
    arguments:
    - name: uri
      schema: URI
      type: STRING
    - name: level
      schema: PositiveInteger
      type: NUMBER
      required: false
  playTrackAndRestore:
    arguments:
    - name: uri
      schema: URI
      type: STRING
    - name: level
      schema: PositiveInteger
      type: NUMBER
      required: false
public: true
id: audioNotification
ocfResourceType: x.com.st.audionotification

Attributes

None

Commands

playTrack(uri, level)

Play the given track

Arguments:

  • uri
    • Type: STRING
    • Required: Yes
    • Description: The URI of the track to be played
  • level
    • Type: NUMBER
    • Required: No
    • Description: The volume at which to play the track

playTrackAndResume(uri, level)

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

Arguments:

  • uri
    • Type: STRING
    • Required: Yes
    • Description: The URI of the track to be played
  • level
    • Type: NUMBER
    • Required: No
    • Description: The volume at which to play the track

playTrackAndRestore(uri, level)

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

Arguments:

  • uri
    • Type: STRING
    • Required: Yes
    • Description: The URI of the track to be played
  • level
    • Type: NUMBER
    • Required: No
    • Description: The volume at which to play the track

Audio Track Data

Gets the value of the audio track data.

Definition

name: Audio Track Data
status: proposed
attributes:
  audioTrackData:
    type: JSON_OBJECT
commands: {
  }
public: true
id: audioTrackData
ocfResourceType: x.com.st.audiotrackdata

Attributes

audioTrackData

Type: JSON_OBJECT Required: Yes

Commands

None.

Audio Volume

Allows for the control of audio volume.

Definition

name: Audio Volume
status: proposed
attributes:
  volume:
    schema: PositiveInteger
    type: NUMBER
commands:
  setVolume:
    arguments:
    - name: volume
      schema: PositiveInteger
      type: NUMBER
  volumeUp:
    arguments: [
      ]
  volumeDown:
    arguments: [
      ]
public: true
id: audioVolume
ocfResourceType: x.com.st.audiovolume

Attributes

volume

Type: NUMBER Required: Yes

Commands

setVolume(volume)

Arguments:

  • volume
    • Type: NUMBER
    • Required: Yes
    • Description:

volumeUp()

volumeDown()

Battery

Defines that the device has a battery

Definition

name: Battery
status: live
attributes:
  battery:
    schema: IntegerPercent
    type: NUMBER
    unit: '%'
commands: {
  }
public: true
id: battery
ocfResourceType: oic.r.energy.battery

Attributes

battery

An indication of the status of the battery

Type: NUMBER Required: Yes

Commands

None.

Beacon

Detect whether or not the beacon is present

Definition

name: Beacon
status: live
attributes:
  presence:
    schema: PresenceState
    type: ENUM
    values:
    - not present
    - present
commands: {
  }
public: true
id: beacon

Attributes

presence

The presence value of the beacon

Type: ENUM Required: Yes

Possible values:

  • not present - null
  • present - Value when beacon is present

Commands

None.

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.

Definition

name: Bridge
status: live
attributes: {
  }
commands: {
  }
public: true
id: bridge

Attributes

None

Commands

None.

Bulb

Allows for the control of a bulb device

Definition

name: Bulb
status: live
attributes:
  switch:
    schema: SwitchState
    type: ENUM
    values:
    - 'off'
    - 'on'
commands:
  'off':
    arguments: [
      ]
  'on':
    arguments: [
      ]
public: true
id: bulb

Attributes

switch

A string representation of whether the bulb is on or off

Type: ENUM Required: Yes

Possible values:

  • 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

Definition

name: Button
status: live
attributes:
  button:
    schema: ButtonState
    type: ENUM
    values:
    - held
    - pushed
  numberOfButtons:
    schema: PositiveInteger
    type: NUMBER
commands: {
  }
public: true
id: button
ocfResourceType: x.com.st.button

Attributes

button

The state of the button

Type: ENUM Required: Yes

Possible values:

  • held - The value if the button is held
  • pushed - The value if the button is pushed

numberOfButtons

The number of buttons on the device

Type: NUMBER Required: Yes

Commands

None.

Carbon Dioxide Measurement

Measure carbon dioxide levels

Definition

name: Carbon Dioxide Measurement
status: live
attributes:
  carbonDioxide:
    schema: PositiveInteger
    type: NUMBER
commands: {
  }
public: true
id: carbonDioxideMeasurement

Attributes

carbonDioxide

The level of carbon dioxide detected

Type: NUMBER Required: Yes

Commands

None.

Carbon Monoxide Detector

Measure carbon monoxide levels

Definition

name: Carbon Monoxide Detector
status: live
attributes:
  carbonMonoxide:
    schema: CarbonMonoxideState
    type: ENUM
    values:
    - clear
    - detected
    - tested
commands: {
  }
public: true
id: carbonMonoxideDetector
ocfResourceType: x.com.st.carbonmonoxidedetector

Attributes

carbonMonoxide

The state of the carbon monoxide device

Type: ENUM Required: Yes

Possible values:

  • 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

Definition

name: Color Control
status: live
attributes:
  color:
    schema: String
    type: STRING
  hue:
    schema: PositiveInteger
    type: NUMBER
  saturation:
    schema: PositiveInteger
    type: NUMBER
commands:
  setColor:
    arguments:
    - name: color
      type: COLOR_MAP
      schema: color-map
  setHue:
    arguments:
    - name: hue
      schema: PositiveInteger
      type: NUMBER
  setSaturation:
    arguments:
    - name: saturation
      schema: PositiveInteger
      type: NUMBER
public: true
id: colorControl
ocfResourceType: oic.r.colour.chroma

Attributes

color

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

Type: STRING Required: Yes

hue

0-100 (percent)

Type: NUMBER Required: Yes

saturation

0-100 (percent)

Type: NUMBER Required: Yes

Commands

setColor(color)

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

Arguments:

  • color
    • Type: COLOR_MAP
    • Required: Yes
    • Description: The color map supports the following key/value pairs:

setHue(hue)

Set the hue value of the color

Arguments:

  • hue
    • Type: NUMBER
    • Required: Yes
    • Description: A number in the range 0-100 representing the hue as a value of percent

setSaturation(saturation)

Set the saturation value of the color

Arguments:

  • saturation
    • Type: NUMBER
    • Required: Yes
    • Description: 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

Definition

name: Color Temperature
status: live
attributes:
  colorTemperature:
    schema: PositiveInteger
    type: NUMBER
commands:
  setColorTemperature:
    arguments:
    - name: temperature
      schema: PositiveInteger
      type: NUMBER
public: true
id: colorTemperature
ocfResourceType: x.com.st.color.temperature

Attributes

colorTemperature

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

Type: NUMBER Required: Yes

Commands

setColorTemperature(temperature)

Set the color temperature to the specified value

Arguments:

  • temperature
    • Type: NUMBER
    • Required: Yes
    • Description: The value to set the color temperature attribute to, in Kelvin

Configuration

Allow configuration of devices that support it

Definition

name: Configuration
status: live
attributes: {
  }
commands:
  configure:
    arguments: [
      ]
public: true
id: configuration

Attributes

None

Commands

configure()

This is where the device specific configuration commands can be implemented

Consumable

For devices with replaceable components

Definition

name: Consumable
status: live
attributes:
  consumableStatus:
    schema: ConsumableState
    type: ENUM
    values:
    - good
    - maintenance_required
    - missing
    - order
    - replace
commands:
  setConsumableStatus:
    arguments:
    - name: status
      schema: ConsumableState
      type: STRING # TODO: this should be ENUM
public: true
id: consumable

Attributes

consumableStatus

The status of replaceable components

Type: ENUM Required: Yes

Possible values:

  • 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(status)

Set the consumable status

Arguments:

  • status
    • Type: STRING
    • Required: Yes
    • Description: Should be one of good, maintenance_required, missing, order, or replace

Contact Sensor

Allows reading the value of a contact sensor device

Definition

name: Contact Sensor
status: live
attributes:
  contact:
    schema: ContactState
    type: ENUM
    values:
    - closed
    - open
commands: {
  }
public: true
id: contactSensor
ocfResourceType: oic.r.sensor.contact

Attributes

contact

The current state of the contact sensor

Type: ENUM Required: Yes

Possible values:

  • closed - The value if closed
  • open - The value if open

Commands

None.

Dishwasher Mode

Allows for the control of the dishwasher.

Definition

name: Dishwasher Mode
status: proposed
attributes:
  dishwasherMode:
    schema: DishwasherMode
    type: ENUM
    values:
    - auto
    - quick
    - rinse
    - dry
commands:
  setDishwasherMode:
    arguments:
    - name: mode
      schema: DishwasherMode
      type: ENUM
      values:
      - auto
      - quick
      - rinse
      - dry
public: true
id: dishwasherMode
ocfResourceType: x.com.st.mode.dishwasher

Attributes

dishwasherMode

Type: ENUM Required: Yes

Possible values:

  • auto - null
  • quick - null
  • rinse - null
  • dry - null

Commands

setDishwasherMode(mode)

Arguments:

  • mode
    • Type: ENUM
    • Required: Yes
    • Description:

Dishwasher Operating State

Allows for the control of the dishwasher operational state.

Definition

name: Dishwasher Operating State
status: proposed
attributes:
  machineState:
    type: ENUM
    values:
    - pause
    - run
    - stop
  supportedMachineStates:
    type: JSON_OBJECT
  dishwasherJobState:
    type: ENUM
    values:
    - airwash
    - cooling
    - drying
    - finish
    - preDrain
    - prewash
    - rinse
    - spin
    - unknown
    - wash
    - wrinklePrevent
  remainingTime:
    type: NUMBER
commands:
  setMachineState:
    arguments:
    - type: ENUM
      name: state
      values:
      - pause
      - run
      - stop
public: true
id: dishwasherOperatingState
ocfResourceType: x.com.st.operationalstate.dishwasher

Attributes

machineState

Type: ENUM Required: Yes

Possible values:

  • pause - null
  • run - null
  • stop - null

supportedMachineStates

Type: JSON_OBJECT Required: Yes

dishwasherJobState

Type: ENUM Required: Yes

Possible values:

  • airwash - null
  • cooling - null
  • drying - null
  • finish - null
  • preDrain - null
  • prewash - null
  • rinse - null
  • spin - null
  • unknown - null
  • wash - null
  • wrinklePrevent - null

remainingTime

Type: NUMBER Required: Yes

Commands

setMachineState(state)

Arguments:

  • state
    • Type: ENUM
    • Required: Yes
    • Description:

Door Control

Allow for the control of a door

Definition

name: Door Control
status: live
attributes:
  door:
    type: ENUM
    values:
    - closed
    - closing
    - open
    - opening
    - unknown
commands:
  close:
    arguments: [
      ]
  open:
    arguments: [
      ]
public: true
id: doorControl
ocfResourceType: x.com.st.doorcontrol

Attributes

door

The current state of the door

Type: ENUM Required: Yes

Possible values:

  • 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

Dryer Mode

Allows for the control of the dryer.

Definition

name: Dryer Mode
status: proposed
attributes:
  dryerMode:
    type: ENUM
    values:
    - regular
    - lowHeat
    - highHeat
commands:
  setDryerMode:
    arguments:
    - type: ENUM
      name: mode
      values:
      - regular
      - lowHeat
      - highHeat
public: true
id: dryerMode
ocfResourceType: x.com.st.mode.dryer

Attributes

dryerMode

Type: ENUM Required: Yes

Possible values:

  • regular - null
  • lowHeat - null
  • highHeat - null

Commands

setDryerMode(mode)

Arguments:

  • mode
    • Type: ENUM
    • Required: Yes
    • Description:

Dryer Operating State

Allows for the control of the dryer operational state.

Definition

name: Dryer Operating State
status: proposed
attributes:
  machineState:
    type: ENUM
    values:
    - pause
    - run
    - stop
  supportedMachineStates:
    type: JSON_OBJECT
  dryerJobState:
    type: ENUM
    values:
    - cooling
    - delayWash
    - drying
    - finished
    - none
    - weightSensing
    - wrinklePrevent
  remainingTime:
    type: NUMBER
commands:
  setMachineState:
    arguments:
    - type: ENUM
      name: state
      values:
      - pause
      - run
      - stop
public: true
id: dryerOperatingState
ocfResourceType: x.com.st.operationalstate.dryer

Attributes

machineState

Type: ENUM Required: Yes

Possible values:

  • pause - null
  • run - null
  • stop - null

supportedMachineStates

Type: JSON_OBJECT Required: Yes

dryerJobState

Type: ENUM Required: Yes

Possible values:

  • cooling - null
  • delayWash - null
  • drying - null
  • finished - null
  • none - null
  • weightSensing - null
  • wrinklePrevent - null

remainingTime

Type: NUMBER Required: Yes

Commands

setMachineState(state)

Arguments:

  • state
    • Type: ENUM
    • Required: Yes
    • Description:

Dust Sensor

Gets the reading of the dust sensor.

Definition

name: Dust Sensor
status: proposed
attributes:
  fineDustLevel:
    type: NUMBER
  dustLevel:
    type: NUMBER
commands: {
  }
public: true
id: dustSensor
ocfResourceType: x.com.st.dustlevel

Attributes

fineDustLevel

Type: NUMBER Required: Yes

dustLevel

Type: NUMBER Required: Yes

Commands

None.

Energy Meter

Read the energy consumption of an energy metering device

Definition

name: Energy Meter
status: live
attributes:
  energy:
    type: NUMBER
commands: {
  }
public: true
id: energyMeter
ocfResourceType: x.com.st.energymeter

Attributes

energy

Numeric value representing energy consumption

Type: NUMBER Required: Yes

Commands

None.

Estimated Time Of Arrival

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

Definition

name: Estimated Time Of Arrival
status: live
attributes:
  eta:
    type: DATE
commands: {
  }
public: true
id: estimatedTimeOfArrival

Attributes

eta

A date representing the estimated time of arrival

Type: DATE Required: Yes

Commands

None.

Execute

Allows for raw messages to be passed to a device.

Definition

name: Execute
status: proposed
attributes:
  data:
    type: JSON_OBJECT
commands:
  'execute':
    arguments:
        - name: command
          type: STRING
        - name: args
          type: JSON_OBJECT
          required: false
public: true
id: execute

Attributes

data

A Json Object of results from commands being executed.

Type: JSON_OBJECT Required: Yes

Commands

execute(command, args)

Execute a command.

Arguments:

  • command
    • Type: STRING
    • Required: Yes
    • Description:
  • args
    • Type: JSON_OBJECT
    • Required: No
    • Description:

Fan Speed

Allows for the control of the fan speed.

Definition

name: Fan Speed
status: proposed
attributes:
  fanSpeed:
    type: NUMBER
commands:
  setFanSpeed:
    arguments:
    - type: NUMBER
      name: speed
public: true
id: fanSpeed
ocfResourceType: x.com.st.fanspeed

Attributes

fanSpeed

Type: NUMBER Required: Yes

Commands

setFanSpeed(speed)

Arguments:

  • speed
    • Type: NUMBER
    • Required: Yes
    • Description:

Filter Status

Gets the status of the filter.

Definition

name: Filter Status
status: proposed
attributes:
  filterStatus:
    type: ENUM
    values:
    - normal
    - replace
commands: {
  }
public: true
id: filterStatus
ocfResourceType: x.com.st.filter

Attributes

filterStatus

Type: ENUM Required: Yes

Possible values:

  • normal - null
  • replace - null

Commands

None.

Garage Door Control

Allow for the control of a garage door

Definition

name: Garage Door Control
status: live
attributes:
  door:
    type: ENUM
    values:
    - closed
    - closing
    - open
    - opening
    - unknown
commands:
  close:
    arguments: [
      ]
  open:
    arguments: [
      ]
public: true
id: garageDoorControl
ocfResourceType: x.com.st.garagedoorcontrol

Attributes

door

The current state of the garage door

Type: ENUM Required: Yes

Possible values:

  • 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

Geolocation

Gets the value of the geo location.

Definition

id: geolocation
name: Geolocation
status: proposed
public: true
attributes:
  latitude:
    type: NUMBER
  longitude:
    type: NUMBER
  method:
    type: STRING
  accuracy:
    type: NUMBER
  altitudeAccuracy:
    type: NUMBER
  heading:
    type: NUMBER
  speed:
    type: NUMBER
  lastUpdateTime:
    type: NUMBER

commands: {
  }

Attributes

latitude

Type: NUMBER Required: Yes

longitude

Type: NUMBER Required: Yes

method

Type: STRING Required: Yes

accuracy

Type: NUMBER Required: Yes

altitudeAccuracy

Type: NUMBER Required: Yes

heading

Type: NUMBER Required: Yes

speed

Type: NUMBER Required: Yes

lastUpdateTime

Type: NUMBER Required: Yes

Commands

None.

Holdable Button

A device with one or more holdable buttons

Definition

name: Holdable Button
status: live
attributes:
  button:
    type: ENUM
    values:
    - held
    - pushed
  numberOfButtons:
    type: NUMBER
commands: {
  }
public: true
id: holdableButton

Attributes

button

The state of the holdable button

Type: ENUM Required: Yes

Possible values:

  • held - The value if the button is held
  • pushed - The value if the button is pushed

numberOfButtons

The number of buttons on the device

Type: NUMBER Required: Yes

Commands

None.

Illuminance Measurement

Gives the illuminance reading from devices that support it

Definition

name: Illuminance Measurement
status: live
attributes:
  illuminance:
    type: NUMBER
    unit: lux
commands: {
  }
public: true
id: illuminanceMeasurement
ocfResourceType: oic.r.sensor.illuminance

Attributes

illuminance

The illuminance measurement in LUX

Type: NUMBER Required: Yes

Commands

None.

Image Capture

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

Definition

name: Image Capture
status: live
attributes:
  image:
    type: STRING
commands:
  take:
    arguments: [
      ]
public: true
id: imageCapture
ocfResourceType: x.com.st.imagecapture

Attributes

image

String value representing the image captured

Type: STRING Required: Yes

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.

Definition

name: Indicator
status: live
attributes:
  indicatorStatus:
    type: ENUM
    values:
    - never
    - when off
    - when on
commands:
  indicatorNever:
    arguments: [
      ]
  indicatorWhenOff:
    arguments: [
      ]
  indicatorWhenOn:
    arguments: [
      ]
public: true
id: indicator

Attributes

indicatorStatus

A value representing the current state of the indicator LED

Type: ENUM Required: Yes

Possible values:

  • never - The LED is never on
  • when off - null
  • when on - null

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

Definition

name: Infrared Level
status: live
attributes:
  infraredLevel:
    type: NUMBER
commands:
  setInfraredLevel:
    arguments:
    - type: NUMBER
      name: level
public: true
id: infraredLevel

Attributes

infraredLevel

A number that represents the current infrared light level, 0-100 in percent

Type: NUMBER Required: Yes

Commands

setInfraredLevel(level)

Set the infrared level to the given value

Arguments:

  • level
    • Type: NUMBER
    • Required: Yes
    • Description: The infrared level value, 0-100 in percent

Light

Allows for the control of a light device

Definition

name: Light
status: live
attributes:
  switch:
    schema: SwitchState
    type: ENUM
    values:
    - 'off'
    - 'on'
commands:
  'off':
    arguments: [
      ]
  'on':
    arguments: [
      ]
public: true
id: light

Attributes

switch

A string representation of whether the light is on or off

Type: ENUM Required: Yes

Possible values:

  • 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 Only

Allow for the lock control of a lock device

Definition

name: Lock Only
status: live
attributes:
  lock:
    type: ENUM
    values:
    - locked
    - unknown
    - unlocked
    - unlocked with timeout
commands:
  lock:
    arguments: [
      ]
public: true
id: lockOnly

Attributes

lock

The state of the lock device

Type: ENUM Required: Yes

Possible values:

  • locked - The device is locked
  • unknown - The state of the device is unknown
  • unlocked - The device is unlocked
  • unlocked with timeout - null

Commands

lock()

Lock the device

Lock

Allow for the control of a lock device

Definition

name: Lock
status: live
attributes:
  lock:
    type: ENUM
    values:
    - locked
    - unknown
    - unlocked
    - unlocked with timeout
commands:
  lock:
    arguments: [
      ]
  unlock:
    arguments: [
      ]
public: true
id: lock
ocfResourceType: oic.r.lock.status

Attributes

lock

The state of the lock device

Type: ENUM Required: Yes

Possible values:

  • locked - The device is locked
  • unknown - The state of the device is unknown
  • unlocked - The device is unlocked
  • unlocked with timeout - null

Commands

lock()

Lock the device

unlock()

Unlock the device

Media Controller

Allows for the control of a media controller device

Definition

name: Media Controller
status: live
attributes:
  activities:
    type: JSON_OBJECT
  currentActivity:
    type: STRING
commands:
  startActivity:
    arguments:
    - type: STRING
      name: activityId
public: true
id: mediaController

Attributes

activities

A list of all of the configured activities on the media controller

Type: JSON_OBJECT Required: Yes

currentActivity

The currently active activity on the media controller

Type: STRING Required: Yes

Commands

startActivity(activityId)

Start an activity

Arguments:

  • activityId
    • Type: STRING
    • Required: Yes
    • Description: The identification number of the activity to start

Media Input Source

Allows for the control of the media input source.

Definition

name: Media Input Source
status: proposed
attributes:
  inputSource:
    schema: MediaSource
    type: ENUM
    values:
    - AM
    - CD
    - FM
    - HDMI
    - HDMI2
    - USB
    - YouTube
    - aux
    - bluetooth
    - digital
    - melon
    - wifi
  supportedInputSources:
    type: JSON_OBJECT
commands:
  setInputSource:
    arguments:
    - schema: MediaSource
      type: ENUM
      name: mode
      values:
      - AM
      - CD
      - FM
      - HDMI
      - HDMI2
      - USB
      - YouTube
      - aux
      - bluetooth
      - digital
      - melon
      - wifi
public: true
id: mediaInputSource
ocfResourceType: x.com.st.mediainputsource

Attributes

inputSource

Type: ENUM Required: Yes

Possible values:

  • AM - null
  • CD - null
  • FM - null
  • HDMI - null
  • HDMI2 - null
  • USB - null
  • YouTube - null
  • aux - null
  • bluetooth - null
  • digital - null
  • melon - null
  • wifi - null

supportedInputSources

Type: JSON_OBJECT Required: Yes

Commands

setInputSource(mode)

Arguments:

  • mode
    • Type: ENUM
    • Required: Yes
    • Description:

Media Playback Repeat

Allows for the control of the media playback repeat.

Definition

name: Media Playback Repeat
status: proposed
attributes:
  playbackRepeatMode:
    type: ENUM
    values:
    - all
    - 'off'
    - one
commands:
  setPlaybackRepeatMode:
    arguments:
    - type: ENUM
      name: mode
      values:
      - all
      - 'off'
      - one
public: true
id: mediaPlaybackRepeat
ocfResourceType: x.com.st.mediarepeat

Attributes

playbackRepeatMode

Type: ENUM Required: Yes

Possible values:

  • all - null
  • off - null
  • one - null

Commands

setPlaybackRepeatMode(mode)

Arguments:

  • mode
    • Type: ENUM
    • Required: Yes
    • Description:

Media Playback Shuffle

Allows for the control of media playback shuffle.

Definition

name: Media Playback Shuffle
status: proposed
attributes:
  playbackShuffle:
    type: ENUM
    values:
    - disabled
    - enabled
commands:
  setPlaybackShuffle:
    arguments:
    - type: ENUM
      name: shuffle
      values:
      - disabled
      - enabled
public: true
id: mediaPlaybackShuffle
ocfResourceType: x.com.st.mediashuffle

Attributes

playbackShuffle

Type: ENUM Required: Yes

Possible values:

  • disabled - null
  • enabled - null

Commands

setPlaybackShuffle(shuffle)

Arguments:

  • shuffle
    • Type: ENUM
    • Required: Yes
    • Description:

Media Playback

Allows for the control of the media playback.

Definition

name: Media Playback
status: proposed
attributes:
  level:
    type: NUMBER
  playbackStatus:
    type: ENUM
    values:
    - pause
    - play
    - stop
commands:
  setPlaybackStatus:
    arguments:
    - type: ENUM
      name: status
      values:
      - pause
      - play
      - stop
  play:
    arguments: [
      ]
  pause:
    arguments: [
      ]
  stop:
    arguments: [
      ]
public: true
id: mediaPlayback
ocfResourceType: x.com.st.mediaplayer

Attributes

level

Type: NUMBER Required: Yes

playbackStatus

Type: ENUM Required: Yes

Possible values:

  • pause - null
  • play - null
  • stop - null

Commands

setPlaybackStatus(status)

Arguments:

  • status
    • Type: ENUM
    • Required: Yes
    • Description:

play()

pause()

stop()

Media Track Control

Allows for the media track control.

Definition

name: Media Track Control
status: proposed
attributes: {
  }
commands:
  nextTrack:
    arguments: [
      ]
  previousTrack:
    arguments: [
      ]
public: true
id: mediaTrackControl
ocfResourceType: x.com.st.mediatrackcontrol

Attributes

None

Commands

nextTrack()

previousTrack()

Momentary

Allows for the control of a momentary switch device

Definition

name: Momentary
status: live
attributes: {
  }
commands:
  push:
    arguments: [
      ]
public: true
id: momentary
ocfResourceType: x.com.st.momentary

Attributes

None

Commands

push()

Push the momentary switch

Motion Sensor

Allows for the ability to read motion sensor device states

Definition

name: Motion Sensor
status: live
attributes:
  motion:
    schema: ActivityState
    type: ENUM
    values:
    - active
    - inactive
commands: {
  }
public: true
id: motionSensor
ocfResourceType: oic.r.sensor.motion

Attributes

motion

The current state of the motion sensor

Type: ENUM Required: Yes

Possible values:

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

Commands

None.

Music Player

Allows for control of a music playing device

Definition

name: Music Player
status: live
attributes:
  level:
    type: NUMBER
  mute:
    type: ENUM
    values:
    - muted
    - unmuted
  status:
    type: STRING
  trackData:
    type: JSON_OBJECT
  trackDescription:
    type: STRING
commands:
  mute:
    arguments: [
      ]
  nextTrack:
    arguments: [
      ]
  pause:
    arguments: [
      ]
  play:
    arguments: [
      ]
  playTrack:
    arguments:
    - type: STRING
      name: trackToPlay
  previousTrack:
    arguments: [
      ]
  restoreTrack:
    arguments:
    - type: STRING
      name: trackToRestore
  resumeTrack:
    arguments:
    - type: STRING
      name: trackToResume
  setLevel:
    arguments:
    - type: NUMBER
      name: level
  setTrack:
    arguments:
    - type: STRING
      name: trackToSet
  stop:
    arguments: [
      ]
  unmute:
    arguments: [
      ]
public: true
id: musicPlayer

Attributes

level

0-100 (percent)

Type: NUMBER Required: Yes

mute

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

Type: ENUM Required: Yes

Possible values:

  • muted - The value of the mute attribute if muted
  • unmuted - The value of the mute attribute if unmuted

status

State of the music player as a string

Type: STRING Required: Yes

trackData

A JSON data structure that represents current track data

Type: JSON_OBJECT Required: Yes

trackDescription

Description of the current playing track

Type: STRING Required: Yes

Commands

mute()

Mute playback

nextTrack()

Advance to the next track

pause()

Pause playback

play()

Start playback

playTrack(trackToPlay)

Play the given track

Arguments:

  • trackToPlay
    • Type: STRING
    • Required: Yes
    • Description: A URI String representing the track to play

previousTrack()

Revert to the previous track

restoreTrack(trackToRestore)

Restore the playlist position to the given track

Arguments:

  • trackToRestore
    • Type: STRING
    • Required: Yes
    • Description: A URI String representing the track to restore

resumeTrack(trackToResume)

Restore the playlist position to the given track and start playback

Arguments:

  • trackToResume
    • Type: STRING
    • Required: Yes
    • Description: A URI String representing the track to resume

setLevel(level)

Set the level to the specified value

Arguments:

  • level
    • Type: NUMBER
    • Required: Yes
    • Description: The level to set playback to in the range 0-100 as a percent

setTrack(trackToSet)

Set the current track

Arguments:

  • trackToSet
    • Type: STRING
    • Required: Yes
    • Description: 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

Definition

name: Notification
status: live
attributes: {
  }
commands:
  deviceNotification:
    arguments:
    - type: STRING
      name: notification
public: true
id: notification

Attributes

None

Commands

deviceNotification(notification)

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

Arguments:

  • notification
    • Type: STRING
    • Required: Yes
    • Description: The notification message to be displayed on the device

Odor Sensor

Gets the odor sensor reading.

Definition

name: Odor Sensor
status: proposed
attributes:
  odorLevel:
    type: NUMBER
commands: {
  }
public: true
id: odorSensor
ocfResourceType: x.com.st.gaslevel

Attributes

odorLevel

Type: NUMBER Required: Yes

Commands

None.

Outlet

Allows for the control of an outlet device

Definition

name: Outlet
status: live
attributes:
  switch:
    type: ENUM
    values:
    - 'off'
    - 'on'
commands:
  'off':
    arguments: [
      ]
  'on':
    arguments: [
      ]
public: true
id: outlet

Attributes

switch

A string representation of whether the outlet is on or off

Type: ENUM Required: Yes

Possible values:

  • 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

Oven Mode

Allows for the control of the oven mode.

Definition

name: Oven Mode
status: proposed
attributes:
  ovenMode:
    type: ENUM
    values:
    - heating
    - grill
    - warming
    - defrosting
commands:
  setOvenMode:
    arguments:
    - type: ENUM
      name: mode
      values:
      - heating
      - grill
      - warming
      - defrosting
public: true
id: ovenMode
ocfResourceType: x.com.st.mode.oven

Attributes

ovenMode

Type: ENUM Required: Yes

Possible values:

  • heating - null
  • grill - null
  • warming - null
  • defrosting - null

Commands

setOvenMode(mode)

Arguments:

  • mode
    • Type: ENUM
    • Required: Yes
    • Description:

Oven Operating State

Allows for the control of the oven operational state.

Definition

name: Oven Operating State
status: proposed
attributes:
  machineState:
    type: ENUM
    values:
    - ready
    - running
    - paused
  supportedMachineStates:
    type: JSON_OBJECT
  ovenJobState:
    type: ENUM
    values:
    - cleaning
    - cooking
    - cooling
    - draining
    - preheat
    - ready
    - rinsing
  remainingTime:
    type: NUMBER
  operationTime:
    type: NUMBER
commands:
  setMachineState:
    arguments:
    - type: ENUM
      name: state
      values:
      - stop
  stop:
    arguments: [
      ]
public: true
id: ovenOperatingState
ocfResourceType: x.com.st.operationalstate.oven

Attributes

machineState

Type: ENUM Required: Yes

Possible values:

  • ready - null
  • running - null
  • paused - null

supportedMachineStates

Type: JSON_OBJECT Required: Yes

ovenJobState

Type: ENUM Required: Yes

Possible values:

  • cleaning - null
  • cooking - null
  • cooling - null
  • draining - null
  • preheat - null
  • ready - null
  • rinsing - null

remainingTime

Type: NUMBER Required: Yes

operationTime

Type: NUMBER Required: Yes

Commands

setMachineState(state)

Arguments:

  • state
    • Type: ENUM
    • Required: Yes
    • Description:

stop()

Oven Setpoint

Allows for the control of the oven set point.

Definition

name: Oven Setpoint
status: proposed
attributes:
  ovenSetpoint:
    type: NUMBER
commands:
  setOvenSetpoint:
    arguments:
    - type: NUMBER
      name: setpoint
public: true
id: ovenSetpoint
ocfResourceType: x.com.st.temperature.oven

Attributes

ovenSetpoint

Type: NUMBER Required: Yes

Commands

setOvenSetpoint(setpoint)

Arguments:

  • setpoint
    • Type: NUMBER
    • Required: Yes
    • Description:

pH Measurement

Definition

name: pH Measurement
status: live
attributes:
  pH:
    type: NUMBER
commands: {
  }
public: true
id: pHMeasurement

Attributes

pH

Type: NUMBER Required: Yes

Commands

None.

Polling

Allows for the polling of devices that support it

Definition

name: Polling
status: live
attributes: {
  }
commands:
  poll:
    arguments: [
      ]
public: true
id: polling

Attributes

None

Commands

poll()

Poll the device

Power Meter

Allows for reading the power consumption from devices that report it

Definition

name: Power Meter
status: live
attributes:
  power:
    type: NUMBER
commands: {
  }
public: true
id: powerMeter
ocfResourceType: x.com.st.powermeter

Attributes

power

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

Type: NUMBER Required: Yes

Commands

None.

Power Source

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

Definition

name: Power Source
status: live
attributes:
  powerSource:
    type: ENUM
    values:
    - battery
    - dc
    - mains
    - unknown
commands: {
  }
public: true
id: powerSource

Attributes

powerSource

The current power source for the device

Type: ENUM Required: Yes

Possible values:

  • 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

Definition

name: Presence Sensor
status: live
attributes:
  presence:
    schema: PresenceState
    type: ENUM
    values:
    - not present
    - present
commands: {
  }
public: true
id: presenceSensor
ocfResourceType: oic.r.sensor.presence

Attributes

presence

The current state of the presence sensor

Type: ENUM Required: Yes

Possible values:

  • not present - null
  • present - The device is present

Commands

None.

Rapid Cooling

Allows for the control of rapid cooling.

Definition

name: Rapid Cooling
status: proposed
attributes:
  rapidCooling:
    type: ENUM
    values:
    - 'off'
    - 'on'
commands:
  setRapidCooling:
    arguments:
    - type: ENUM
      name: rapidCooling
      values:
      - 'off'
      - 'on'
public: true
id: rapidCooling
ocfResourceType: x.com.st.rapidcooling

Attributes

rapidCooling

Type: ENUM Required: Yes

Possible values:

  • off - null
  • on - null

Commands

setRapidCooling(rapidCooling)

Arguments:

  • rapidCooling
    • Type: ENUM
    • Required: Yes
    • Description:

Refresh

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

Definition

name: Refresh
status: live
attributes: {
  }
commands:
  refresh:
    arguments: [
      ]
public: true
id: refresh

Attributes

None

Commands

refresh()

Send the refresh command to the device

Refrigeration Setpoint

Allows for the control of the refrigeration set point.

Definition

name: Refrigeration Setpoint
status: proposed
attributes:
  refrigerationSetpoint:
    type: NUMBER
commands:
  setRefrigerationSetpoint:
    arguments:
    - type: NUMBER
      name: setpoint
public: true
id: refrigerationSetpoint
ocfResourceType: x.com.st.temperature.refrigeration

Attributes

refrigerationSetpoint

Type: NUMBER Required: Yes

Commands

setRefrigerationSetpoint(setpoint)

Arguments:

  • setpoint
    • Type: NUMBER
    • Required: Yes
    • Description:

Relative Humidity Measurement

Allow reading the relative humidity from devices that support it

Definition

name: Relative Humidity Measurement
status: live
attributes:
  humidity:
    type: NUMBER
commands: {
  }
public: true
id: relativeHumidityMeasurement
ocfResourceType: oic.r.humidity

Attributes

humidity

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

Type: NUMBER Required: Yes

Commands

None.

Relay Switch

Allows for the control of a relay switch device

Definition

name: Relay Switch
status: live
attributes:
  switch:
    type: ENUM
    values:
    - 'off'
    - 'on'
commands:
  'off':
    arguments: [
      ]
  'on':
    arguments: [
      ]
public: true
id: relaySwitch

Attributes

switch

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

Type: ENUM Required: Yes

Possible values:

  • 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

Robot Cleaner Cleaning Mode

Allows for the control of the robot cleaner cleaning mode.

Definition

name: Robot Cleaner Cleaning Mode
status: proposed
attributes:
  robotCleanerCleaningMode:
    type: ENUM
    values:
    - auto
    - part
    - repeat
    - manual
commands:
  setRobotCleanerCleaningMode:
    arguments:
    - type: ENUM
      name: mode
      values:
      - auto
      - part
      - repeat
      - manual
public: true
id: robotCleanerCleaningMode
ocfResourceType: x.com.st.robot.cleaner.cleaning

Attributes

robotCleanerCleaningMode

Type: ENUM Required: Yes

Possible values:

  • auto - null
  • part - null
  • repeat - null
  • manual - null

Commands

setRobotCleanerCleaningMode(mode)

Arguments:

  • mode
    • Type: ENUM
    • Required: Yes
    • Description:

Robot Cleaner Movement

Allows for the control of the robot cleaner movement.

Definition

name: Robot Cleaner Movement
status: proposed
attributes:
  robotCleanerMovement:
    type: ENUM
    values:
    - homing
    - idle
    - charging
    - reserve
    - cleaning
    - point
commands:
  setRobotCleanerMovement:
    arguments:
    - type: ENUM
      name: mode
      values:
      - homing
      - idle
      - charging
      - reserve
      - cleaning
      - point
public: true
id: robotCleanerMovement
ocfResourceType: x.com.st.robot.cleaner.movement

Attributes

robotCleanerMovement

Type: ENUM Required: Yes

Possible values:

  • homing - null
  • idle - null
  • charging - null
  • reserve - null
  • cleaning - null
  • point - null

Commands

setRobotCleanerMovement(mode)

Arguments:

  • mode
    • Type: ENUM
    • Required: Yes
    • Description:

Robot Cleaner Turbo Mode

Allows for the control of the robot cleaner turbo mode.

Definition

name: Robot Cleaner Turbo Mode
status: proposed
attributes:
  robotCleanerTurboMode:
    type: ENUM
    values:
    - 'on'
    - 'off'
    - 'silence'
commands:
  setRobotCleanerTurboMode:
    arguments:
    - type: ENUM
      name: mode
      values:
      - 'on'
      - 'off'
      - 'silence'
public: true
id: robotCleanerTurboMode
ocfResourceType: x.com.st.robot.cleaner.turbo

Attributes

robotCleanerTurboMode

Type: ENUM Required: Yes

Possible values:

  • on - null
  • off - null
  • silence - null

Commands

setRobotCleanerTurboMode(mode)

Arguments:

  • mode
    • Type: ENUM
    • Required: Yes
    • Description:

Sensor

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

Definition

name: Sensor
status: live
attributes: {
  }
commands: {
  }
public: true
id: sensor

Attributes

None

Commands

None.

Shock Sensor

A Device that senses whether or not there is a shock

Definition

name: Shock Sensor
status: live
attributes:
  shock:
    type: ENUM
    values:
    - clear
    - detected
commands: {
  }
public: true
id: shockSensor

Attributes

shock

A representation of the shock value from the Device

Type: ENUM Required: Yes

Possible values:

  • 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

Definition

name: Signal Strength
status: live
attributes:
  lqi:
    type: NUMBER
  rssi:
    type: NUMBER
commands: {
  }
public: true
id: signalStrength
ocfResourceType: x.com.st.signalstrength

Attributes

lqi

A number representing the Link Quality Indication

Type: NUMBER Required: Yes

rssi

A number representing the Received Signal Strength Indication

Type: NUMBER Required: Yes

Commands

None.

Sleep Sensor

A Device that senses whether or not someone is sleeping

Definition

name: Sleep Sensor
status: live
attributes:
  sleeping:
    type: ENUM
    values:
    - not sleeping
    - sleeping
commands: {
  }
public: true
id: sleepSensor

Attributes

sleeping

A representation of the sleeping value from the Device

Type: ENUM Required: Yes

Possible values:

  • not sleeping - null
  • sleeping - The Device detected a “sleeping” state

Commands

None.

Smoke Detector

A device that detects the presence or absence of smoke.

Definition

name: Smoke Detector
status: live
attributes:
  smoke:
    type: ENUM
    values:
    - clear
    - detected
    - tested
commands: {
  }
public: true
id: smokeDetector
ocfResourceType: x.com.st.smokedetector

Attributes

smoke

The state of the smoke detection device

Type: ENUM Required: Yes

Possible values:

  • clear - No smoke detected
  • detected - Smoke detected
  • tested - Smoke detector test button was activated

Commands

None.

Sound Pressure Level

Gets the value of the sound pressure level.

Definition

name: Sound Pressure Level
status: live
attributes:
  soundPressureLevel:
    type: NUMBER
commands: {
  }
public: true
id: soundPressureLevel

Attributes

soundPressureLevel

Type: NUMBER Required: Yes

Commands

None.

Sound Sensor

A Device that senses sound

Definition

name: Sound Sensor
status: live
attributes:
  sound:
    type: ENUM
    values:
    - detected
    - not detected
commands: {
  }
public: true
id: soundSensor
ocfResourceType: x.com.st.soundsensor

Attributes

sound

Whether or not sound was detected by the Device

Type: ENUM Required: Yes

Possible values:

  • detected - Sound is detected
  • not detected - null

Commands

None.

Speech Recognition

Gets the spoken phrase string.

Definition

name: Speech Recognition
status: live
attributes:
  phraseSpoken:
    type: STRING
commands: {
  }
public: true
id: speechRecognition

Attributes

phraseSpoken

Type: STRING Required: Yes

Commands

None.

Speech Synthesis

Allows for the control by speech.

Definition

name: Speech Synthesis
status: live
attributes: {
  }
commands:
  speak:
    arguments:
    - type: STRING
      name: phrase
public: true
id: speechSynthesis

Attributes

None

Commands

speak(phrase)

Arguments:

  • phrase
    • Type: STRING
    • Required: Yes
    • Description:

Step Sensor

A Device that works as a step counter

Definition

name: Step Sensor
status: live
attributes:
  goal:
    schema: PositiveInteger
    type: NUMBER
  steps:
    schema: PositiveInteger
    type: NUMBER
commands: {
  }
public: true
id: stepSensor

Attributes

goal

The current step goal

Type: NUMBER Required: Yes

steps

The current step count

Type: NUMBER Required: Yes

Commands

None.

Switch Level

Allows for the control of the level attribute of a light

Definition

name: Switch Level
status: live
attributes:
  level:
    type: NUMBER
commands:
  setLevel:
    arguments:
    - type: NUMBER
      name: level
    - type: NUMBER
      name: rate
      required: false
public: true
id: switchLevel
ocfResourceType: oic.r.light.dimming

Attributes

level

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

Type: NUMBER Required: Yes

Commands

setLevel(level, rate)

Set the level to the given values

Arguments:

  • level
    • Type: NUMBER
    • Required: Yes
    • Description: The level value, usually 0-100 in percent
  • rate
    • Type: NUMBER
    • Required: No
    • Description: The rate at which to dim or illuminate the light

Switch

Allows for the control of a switch device

Definition

name: Switch
status: live
attributes:
  switch:
    schema: SwitchState
    type: ENUM
    values:
    - 'off'
    - 'on'
commands:
  'off':
    arguments: [
      ]
  'on':
    arguments: [
      ]
public: true
id: switch
ocfResourceType: x.com.st.powerswitch

Attributes

switch

A string representation of whether the switch is on or off

Type: ENUM Required: Yes

Possible values:

  • 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

Tamper Alert

Gets the value of the tamper alert.

Definition

name: Tamper Alert
status: live
attributes:
  tamper:
    type: ENUM
    values:
    - clear
    - detected
commands: {
  }
public: true
id: tamperAlert
ocfResourceType: x.com.st.tamperalert

Attributes

tamper

Type: ENUM Required: Yes

Possible values:

  • clear - null
  • detected - null

Commands

None.

Temperature Measurement

Get the temperature from a Device that reports current temperature

Definition

name: Temperature Measurement
status: live
attributes:
  temperature:
    type: NUMBER
commands: {
  }
public: true
id: temperatureMeasurement
ocfResourceType: x.com.st.temperature.measured

Attributes

temperature

A number that usually represents the current temperature

Type: NUMBER Required: Yes

Commands

None.

Thermostat Cooling Setpoint

Allows for setting the cooling setpoint on a thermostat

Definition

name: Thermostat Cooling Setpoint
status: live
attributes:
  coolingSetpoint:
    type: NUMBER
  coolingSetpointRange:
    type: VECTOR3
commands:
  setCoolingSetpoint:
    arguments:
    - type: NUMBER
      name: setpoint
public: true
id: thermostatCoolingSetpoint
ocfResourceType: x.com.st.temperature.cooling

Attributes

coolingSetpoint

The current cooling setpoint

Type: NUMBER Required: Yes

coolingSetpointRange

Two element array containing minimum and maximum supported cooling setpoint

Type: VECTOR3 Required: Yes

Commands

setCoolingSetpoint(setpoint)

Set the cooling setpoint

Arguments:

  • setpoint
    • Type: NUMBER
    • Required: Yes
    • Description: A value that the cooling setpoint should be set to

Thermostat Fan Mode

Allows for setting the fan mode on a thermostat

Definition

name: Thermostat Fan Mode
status: live
attributes:
  thermostatFanMode:
    type: ENUM
    values:
    - auto
    - circulate
    - 'on'
  supportedThermostatFanModes:
    type: JSON_OBJECT
commands:
  fanAuto:
    arguments: [
      ]
  fanCirculate:
    arguments: [
      ]
  fanOn:
    arguments: [
      ]
  setThermostatFanMode:
    arguments:
    - type: ENUM
      name: mode
      values:
      - auto
      - circulate
      - 'on'
public: true
id: thermostatFanMode
ocfResourceType: x.com.st.mode.fan.thermostat

Attributes

thermostatFanMode

The current mode of the fan on a thermostat

Type: ENUM Required: Yes

Possible values:

  • auto - The fan is on auto
  • circulate - The fan is circulating
  • on - The fan is on

supportedThermostatFanModes

Type: JSON_OBJECT Required: Yes

Commands

fanAuto()

Set the fan mode to auto

fanCirculate()

Set the fan mode to circulate

fanOn()

Set the fan mode to on

setThermostatFanMode(mode)

Set the thermostat fan mode

Arguments:

  • mode
    • Type: ENUM
    • Required: Yes
    • Description: The mode may be one of the following values:

Thermostat Heating Setpoint

Allows for setting the heating setpoint on a thermostat

Definition

name: Thermostat Heating Setpoint
status: live
attributes:
  heatingSetpoint:
    type: NUMBER
  heatingSetpointRange:
    type: VECTOR3
commands:
  setHeatingSetpoint:
    arguments:
    - type: NUMBER
      name: setpoint
public: true
id: thermostatHeatingSetpoint
ocfResourceType: x.com.st.temperature.heating

Attributes

heatingSetpoint

The current heating setpoint

Type: NUMBER Required: Yes

heatingSetpointRange

Two element array containing minimum and maximum supported heating setpoint

Type: VECTOR3 Required: Yes

Commands

setHeatingSetpoint(setpoint)

Set the heating setpoint

Arguments:

  • setpoint
    • Type: NUMBER
    • Required: Yes
    • Description: A value that the heating setpoint should be set to

Thermostat Mode

Allows for setting the mode on a thermostat

Definition

name: Thermostat Mode
status: live
attributes:
  thermostatMode:
    type: ENUM
    values:
    - auto
    - cool
    - emergency heat
    - heat
    - 'off'
  supportedThermostatModes:
    type: JSON_OBJECT
commands:
  auto:
    arguments: [
      ]
  cool:
    arguments: [
      ]
  emergencyHeat:
    arguments: [
      ]
  heat:
    arguments: [
      ]
  'off':
    arguments: [
      ]
  setThermostatMode:
    arguments:
    - type: ENUM
      name: mode
      values:
      - auto
      - cool
      - emergency heat
      - heat
      - 'off'
public: true
id: thermostatMode
ocfResourceType: x.com.st.mode.thermostat

Attributes

thermostatMode

The current mode of a thermostat

Type: ENUM Required: Yes

Possible values:

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

supportedThermostatModes

Type: JSON_OBJECT Required: Yes

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(mode)

Set the thermostat mode

Arguments:

  • mode
    • Type: ENUM
    • Required: Yes
    • Description: The mode may be one of the following values:

Thermostat Operating State

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

Definition

name: Thermostat Operating State
status: live
attributes:
  thermostatOperatingState:
    type: ENUM
    values:
    - cooling
    - fan only
    - heating
    - idle
    - pending cool
    - pending heat
    - vent economizer
commands: {
  }
public: true
id: thermostatOperatingState
ocfResourceType: x.com.st.operationalstate.thermostat

Attributes

thermostatOperatingState

The current state that the thermostat is operating in

Type: ENUM Required: Yes

Possible values:

  • cooling - The thermostat is cooling
  • fan only - null
  • heating - The thermostat is heating
  • idle - The thermostat is idle
  • pending cool - null
  • pending heat - null
  • vent economizer - null

Commands

None.

Thermostat Setpoint

Gives the ability to read the current setpoint on a thermostat

Definition

name: Thermostat Setpoint
status: live
attributes:
  thermostatSetpoint:
    type: NUMBER
  thermostatSetpointRange:
    type: VECTOR3
commands: {
  }
public: true
id: thermostatSetpoint
ocfResourceType: x.com.st.temperature.setpoint

Attributes

thermostatSetpoint

The current setpoint value

Type: NUMBER Required: Yes

thermostatSetpointRange

Two element array containing minimum and maximum supported setpoint

Type: VECTOR3 Required: Yes

Commands

None.

Thermostat

Allows for the control of a thermostat device

Definition

name: Thermostat
status: live
attributes:
  coolingSetpoint:
    type: NUMBER
  coolingSetpointRange:
    type: VECTOR3
  heatingSetpoint:
    type: NUMBER
  heatingSetpointRange:
    type: VECTOR3
  schedule:
    type: JSON_OBJECT
  temperature:
    type: NUMBER
  thermostatFanMode:
    type: ENUM
    values:
    - auto
    - circulate
    - 'on'
  supportedThermostatFanModes:
    type: JSON_OBJECT
  thermostatMode:
    type: ENUM
    values:
    - auto
    - cool
    - emergency heat
    - heat
    - 'off'
  supportedThermostatModes:
    type: JSON_OBJECT
  thermostatOperatingState:
    type: ENUM
    values:
    - cooling
    - fan only
    - heating
    - idle
    - pending cool
    - pending heat
    - vent economizer
  thermostatSetpoint:
    type: NUMBER
  thermostatSetpointRange:
    type: VECTOR3
commands:
  auto:
    arguments: [
      ]
  cool:
    arguments: [
      ]
  emergencyHeat:
    arguments: [
      ]
  fanAuto:
    arguments: [
      ]
  fanCirculate:
    arguments: [
      ]
  fanOn:
    arguments: [
      ]
  heat:
    arguments: [
      ]
  'off':
    arguments: [
      ]
  setCoolingSetpoint:
    arguments:
    - type: NUMBER
      name: setpoint
  setHeatingSetpoint:
    arguments:
    - type: NUMBER
      name: setpoint
  setSchedule:
    arguments:
    - type: JSON_OBJECT
      name: schedule
  setThermostatFanMode:
    arguments:
    - type: ENUM
      name: fanmode
      values:
      - auto
      - circulate
      - 'on'
  setThermostatMode:
    arguments:
    - type: ENUM
      name: mode
      values:
      - auto
      - cool
      - emergency heat
      - heat
      - 'off'
public: true
id: thermostat

Attributes

coolingSetpoint

The current cooling setpoint

Type: NUMBER Required: Yes

coolingSetpointRange

Type: VECTOR3 Required: Yes

heatingSetpoint

The current heating setpoint

Type: NUMBER Required: Yes

heatingSetpointRange

Type: VECTOR3 Required: Yes

schedule

Type: JSON_OBJECT Required: Yes

temperature

Type: NUMBER Required: Yes

thermostatFanMode

The current mode of the fan on a thermostat

Type: ENUM Required: Yes

Possible values:

  • auto - The fan is on auto
  • circulate - The fan is circulating
  • on - The fan is on

supportedThermostatFanModes

Type: JSON_OBJECT Required: Yes

thermostatMode

The current mode of the thermostat

Type: ENUM Required: Yes

Possible values:

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

supportedThermostatModes

Type: JSON_OBJECT Required: Yes

thermostatOperatingState

The current state that the thermostat is operating in

Type: ENUM Required: Yes

Possible values:

  • cooling - The thermostat is cooling
  • fan only - null
  • heating - The thermostat is heating
  • idle - The thermostat is idle
  • pending cool - null
  • pending heat - null
  • vent economizer - null

thermostatSetpoint

The current setpoint value

Type: NUMBER Required: Yes

thermostatSetpointRange

Type: VECTOR3 Required: Yes

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(setpoint)

Set the cooling setpoint

Arguments:

  • setpoint
    • Type: NUMBER
    • Required: Yes
    • Description: A value that the cooling setpoint should be set to

setHeatingSetpoint(setpoint)

Set the heating setpoint

Arguments:

  • setpoint
    • Type: NUMBER
    • Required: Yes
    • Description: A value that the heating setpoint should be set to

setSchedule(schedule)

Arguments:

  • schedule
    • Type: JSON_OBJECT
    • Required: Yes
    • Description:

setThermostatFanMode(fanmode)

Set the thermostat fan mode

Arguments:

  • fanmode
    • Type: ENUM
    • Required: Yes
    • Description: The mode may be one of the following values:

setThermostatMode(mode)

Set the thermostat mode

Arguments:

  • mode
    • Type: ENUM
    • Required: Yes
    • Description: The mode may be one of the following values:

Three Axis

Gives the three axis coordinates for devices that support it

Definition

name: Three Axis
status: live
attributes:
  threeAxis:
    type: VECTOR3
commands: {
  }
public: true
id: threeAxis

Attributes

threeAxis

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

Type: VECTOR3 Required: Yes

Commands

None.

Timed Session

Allows for the control of the timed session.

Definition

name: Timed Session
status: live
attributes:
  sessionStatus:
    type: ENUM
    values:
    - canceled
    - paused
    - running
    - stopped
  timeRemaining:
    type: NUMBER
commands:
  cancel:
    arguments: [
      ]
  pause:
    arguments: [
      ]
  setTimeRemaining:
    arguments:
    - type: NUMBER
      name: time
  start:
    arguments: [
      ]
  stop:
    arguments: [
      ]
public: true
id: timedSession

Attributes

sessionStatus

Type: ENUM Required: Yes

Possible values:

  • canceled - null
  • paused - null
  • running - null
  • stopped - null

timeRemaining

Type: NUMBER Required: Yes

Commands

cancel()

pause()

setTimeRemaining(time)

Arguments:

  • time
    • Type: NUMBER
    • Required: Yes
    • Description:

start()

stop()

Tone

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

Definition

name: Tone
status: live
attributes: {
  }
commands:
  beep:
    arguments: [
      ]
public: true
id: tone
ocfResourceType: x.com.st.tone

Attributes

None

Commands

beep()

Beep the device

Touch Sensor

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

Definition

name: Touch Sensor
status: live
attributes:
  touch:
    type: ENUM
    values:
    - touched
commands: {
  }
public: true
id: touchSensor

Attributes

touch

Whether or not the device was touched

Type: ENUM Required: Yes

Possible values:

  • touched - The value if the device was touched

Commands

None.

TV Channel

Allows for the control of the TV channel.

Definition

name: TV Channel
status: proposed
attributes:
  tvChannel:
    type: STRING
commands:
  setTvChannel:
    arguments:
    - type: STRING
      name: channel
  channelUp:
    arguments: [
      ]
  channelDown:
    arguments: [
      ]
public: true
id: tVChannel
ocfResourceType: x.com.st.tvchannel

Attributes

tvChannel

Type: STRING Required: Yes

Commands

setTvChannel(channel)

Arguments:

  • channel
    • Type: STRING
    • Required: Yes
    • Description:

channelUp()

channelDown()

Ultraviolet Index

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

Definition

name: Ultraviolet Index
status: live
attributes:
  ultravioletIndex:
    type: NUMBER
commands: {
  }
public: true
id: ultravioletIndex

Attributes

ultravioletIndex

A number representing the ultraviolet index

Type: NUMBER Required: Yes

Commands

None.

Valve

Allows for the control of a valve device

Definition

name: Valve
status: live
attributes:
  contact:
    type: ENUM
    values:
    - closed
    - open
  valve:
    type: ENUM
    values:
    - closed
    - open
commands:
  close:
    arguments: [
      ]
  open:
    arguments: [
      ]
public: true
id: valve
ocfResourceType: x.com.st.valve

Attributes

contact

This attribute is deprecated. Use the valve attribute instead.

Type: ENUM Required: Yes

Possible values:

  • closed - null
  • open - null

valve

A string representation of whether the valve is open or closed

Type: ENUM Required: Yes

Possible values:

  • 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

Video Stream

Allows for the control of the video stream.

Definition

name: Video Stream
status: proposed
attributes:
  stream:
    type: JSON_OBJECT
commands:
  startStream:
    arguments: [
      ]
  stopStream:
    arguments: [
      ]
public: true
id: videoStream
ocfResourceType: x.com.st.videostream

Attributes

stream

Type: JSON_OBJECT Required: Yes

Commands

startStream()

stopStream()

Voltage Measurement

Get the value of voltage measured from devices that support it

Definition

name: Voltage Measurement
status: live
attributes:
  voltage:
    schema: Number
    type: NUMBER
commands: {
  }
public: true
id: voltageMeasurement

Attributes

voltage

A number representing the current voltage measured

Type: NUMBER Required: Yes

Commands

None.

Washer Mode

Allows for the control of the washer mode.

Definition

name: Washer Mode
status: proposed
attributes:
  ovenMode:
    schema: WasherMode
    type: ENUM
    values:
    - regular
    - heavy
    - rinse
    - spinDry
commands:
  setWasherMode:
    arguments:
    - name: mode
      schema: WasherMode
      type: ENUM
      values:
      - regular
      - heavy
      - rinse
      - spinDry
public: true
id: washerMode
ocfResourceType: x.com.st.mode.washer

Attributes

ovenMode

Type: ENUM Required: Yes

Possible values:

  • regular - null
  • heavy - null
  • rinse - null
  • spinDry - null

Commands

setWasherMode(mode)

Arguments:

  • mode
    • Type: ENUM
    • Required: Yes
    • Description:

Washer Operating State

Allows for the control of the washer operational state.

Definition

name: Washer Operating State
status: proposed
attributes:
  machineState:
    schema: MachineState
    type: ENUM
    values:
    - pause
    - run
    - stop
  supportedMachineStates:
    type: JSON_OBJECT
  washerJobState:
    type: ENUM
    values:
    - airWash
    - cooling
    - delayWash
    - drying
    - finish
    - none
    - preWash
    - rinse
    - spin
    - wash
    - weightSensing
    - wrinklePrevent
  remainingTime:
    type: NUMBER
commands:
  setMachineState:
    arguments:
    - name: state
      schema: MachineState
      type: ENUM
      values:
      - pause
      - run
      - stop
public: true
id: washerOperatingState
ocfResourceType: x.com.st.operationalstate.washer

Attributes

machineState

Type: ENUM Required: Yes

Possible values:

  • pause - null
  • run - null
  • stop - null

supportedMachineStates

Type: JSON_OBJECT Required: Yes

washerJobState

Type: ENUM Required: Yes

Possible values:

  • airWash - null
  • cooling - null
  • delayWash - null
  • drying - null
  • finish - null
  • none - null
  • preWash - null
  • rinse - null
  • spin - null
  • wash - null
  • weightSensing - null
  • wrinklePrevent - null

remainingTime

Type: NUMBER Required: Yes

Commands

setMachineState(state)

Arguments:

  • state
    • Type: ENUM
    • Required: Yes
    • Description:

Water Sensor

Get the status off of a water sensor device

Definition

name: Water Sensor
status: live
attributes:
  water:
    schema: MoistureState
    type: ENUM
    values:
    - dry
    - wet
commands: {
  }
public: true
id: waterSensor
ocfResourceType: oic.r.sensor.water

Attributes

water

A string representation of whether the water sensor detected water

Type: ENUM Required: Yes

Possible values:

  • dry - Currently, water is undetected
  • wet - Water is detected

Commands

None.

Window Shade

Allows for the control of the window shade.

Definition

name: Window Shade
status: live
attributes:
  windowShade:
    schema: OpenableState
    type: ENUM
    values:
    - closed
    - closing
    - open
    - opening
    - partially open
    - unknown
commands:
  close:
    arguments: [
      ]
  open:
    arguments: [
      ]
  presetPosition:
    arguments: [
      ]
public: true
id: windowShade

Attributes

windowShade

Type: ENUM Required: Yes

Possible values:

  • closed - null
  • closing - null
  • open - null
  • opening - null
  • partially open - null
  • unknown - null

Commands

close()

open()

presetPosition()