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 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 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
id The ID of the Capability. airConditionerMode

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

{
    "id": "accelerationSensor",
    "version": 1,
    "name": "Acceleration Sensor",
    "status": "live",
    "attributes": {
        "acceleration": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "title": "ActivityState",
                        "type": "string",
                        "enum": [
                            "active",
                            "inactive"
                        ]
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {

    }
}

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.

Activity Lighting Mode

Allows for the control of the activity lighting mode of a device.

Definition

{
    "id": "activityLightingMode",
    "version": 1,
    "name": "Activity Lighting Mode",
    "status": "proposed",
    "attributes": {
        "lightingMode": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "string",
                        "enum": [
                            "reading",
                            "writing",
                            "computer",
                            "night"
                        ]
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {
        "setLightingMode": {
            "arguments": [
                {
                    "name": "lightingMode",
                    "schema": {
                        "type": "string",
                        "enum": [
                            "reading",
                            "writing",
                            "computer",
                            "night"
                        ]
                    },
                    "required": true
                }
            ]
        }
    }
}

Attributes

lightingMode

Current lighting mode of the device

Type: ENUM Required: Yes

Possible values:

  • reading - Device is set optimally for reading
  • writing - Device is set optimally for writing
  • computer - Device is set optimally for computer usage
  • night - Device is set optimally for night usage

Commands

setLightingMode(lightingMode)

Set the lighting mode of a device

Arguments:

  • lightingMode
    • Type: ENUM
    • Required: Yes
    • Description: The lighting mode to set the device to

Air Conditioner Mode

Allows for the control of the air conditioner.

Definition

{
    "id": "airConditionerMode",
    "version": 1,
    "name": "Air Conditioner Mode",
    "status": "proposed",
    "attributes": {
        "airConditionerMode": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "title": "HvacMode",
                        "type": "string",
                        "enum": [
                            "auto",
                            "cool",
                            "dry",
                            "coolClean",
                            "dryClean",
                            "fanOnly",
                            "heat",
                            "heatClean",
                            "notSupported"
                        ]
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {
        "setAirConditionerMode": {
            "arguments": [
                {
                    "name": "mode",
                    "schema": {
                        "title": "HvacMode",
                        "type": "string",
                        "enum": [
                            "auto",
                            "cool",
                            "dry",
                            "coolClean",
                            "dryClean",
                            "fanOnly",
                            "heat",
                            "heatClean",
                            "notSupported"
                        ]
                    },
                    "required": true
                }
            ]
        }
    }
}

Attributes

airConditionerMode

Current mode of the air conditioner

Type: ENUM Required: Yes

Possible values:

  • auto - The air conditioner is in “auto” mode
  • cool - The air conditioner is in “cool” mode
  • dry - The air conditioner is in “dry” mode
  • coolClean - The air conditioner is in “coolClean” mode
  • dryClean - The air conditioner is in “dryClean” mode
  • fanOnly - The air conditioner is in “fanOnly” mode
  • heat - The air conditioner is in “heat” mode
  • heatClean - The air conditioner is in “heatClean” mode
  • notSupported - The air conditioner is in “notSupported” mode

Commands

setAirConditionerMode(mode)

Set the air conditioner mode

Arguments:

  • mode
    • Type: ENUM
    • Required: Yes
    • Description: Set the air conditioner mode, to auto, cool, dry, dryClean, fanOnly, heat, heatClean or notSupported states

Air Quality Sensor

Gets the air quality number.

Definition

{
    "id": "airQualitySensor",
    "version": 1,
    "name": "Air Quality Sensor",
    "status": "live",
    "attributes": {
        "airQuality": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 100
                    },
                    "unit": {
                        "type": "string",
                        "enum": [
                            "CAQI"
                        ],
                        "default": "CAQI"
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {

    }
}

Attributes

airQuality

Current air quality number

Type: NUMBER Required: Yes

Commands

None.

Alarm

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

Definition

{
    "id": "alarm",
    "version": 1,
    "name": "Alarm",
    "status": "live",
    "attributes": {
        "alarm": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "title": "AlertState",
                        "type": "string",
                        "enum": [
                            "both",
                            "off",
                            "siren",
                            "strobe"
                        ]
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {
        "both": {
            "arguments": [

            ]
        },
        "off": {
            "arguments": [

            ]
        },
        "siren": {
            "arguments": [

            ]
        },
        "strobe": {
            "arguments": [

            ]
        }
    }
}

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

{
    "id": "audioMute",
    "version": 1,
    "name": "Audio Mute",
    "status": "live",
    "attributes": {
        "mute": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "title": "MuteState",
                        "type": "string",
                        "enum": [
                            "muted",
                            "unmuted"
                        ]
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {
        "setMute": {
            "arguments": [
                {
                    "name": "state",
                    "schema": {
                        "title": "MuteState",
                        "type": "string",
                        "enum": [
                            "muted",
                            "unmuted"
                        ]
                    },
                    "required": true
                }
            ]
        },
        "mute": {
            "arguments": [

            ]
        },
        "unmute": {
            "arguments": [

            ]
        }
    }
}

Attributes

mute

Current status of the audio mute

Type: ENUM Required: Yes

Possible values:

  • muted - The audio is in “muted” state
  • unmuted - The audio is in “unmuted” state

Commands

setMute(state)

Set the state of the audio mute

Arguments:

  • state
    • Type: ENUM
    • Required: Yes
    • Description: Set the audio mute state to “muted” or “unmuted”

mute()

Set the audio to mute state

unmute()

Set the audio to unmute state

Audio Volume

Allows for the control of audio volume.

Definition

{
    "id": "audioVolume",
    "version": 1,
    "name": "Audio Volume",
    "status": "proposed",
    "attributes": {
        "volume": {
            "schema": {
                "title": "IntegerPercent",
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 100
                    },
                    "unit": {
                        "type": "string",
                        "enum": [
                            "%"
                        ],
                        "default": "%"
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {
        "setVolume": {
            "arguments": [
                {
                    "name": "volume",
                    "schema": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 100
                    },
                    "required": true
                }
            ]
        },
        "volumeUp": {
            "arguments": [

            ]
        },
        "volumeDown": {
            "arguments": [

            ]
        }
    }
}

Attributes

volume

The current volume setting of the audio

Type: NUMBER Required: Yes

Commands

setVolume(volume)

Set the audio volume level

Arguments:

  • volume
    • Type: NUMBER
    • Required: Yes
    • Description: A value to which the audio volume level should be set

volumeUp()

Turn the audio volume up

volumeDown()

Turn the audio volume down

Battery

Defines that the device has a battery

Definition

{
    "id": "battery",
    "version": 1,
    "name": "Battery",
    "status": "live",
    "attributes": {
        "battery": {
            "schema": {
                "title": "IntegerPercent",
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 100
                    },
                    "unit": {
                        "type": "string",
                        "enum": [
                            "%"
                        ],
                        "default": "%"
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {

    }
}

Attributes

battery

An indication of the status of the battery

Type: NUMBER Required: Yes

Commands

None.

Body Mass Index Measurement

Allows for the ability to measure body mass index

Definition

{
    "id": "bodyMassIndexMeasurement",
    "version": 1,
    "name": "Body Mass Index Measurement",
    "status": "proposed",
    "attributes": {
        "bmiMeasurement": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "number"
                    },
                    "unit": {
                        "type": "string",
                        "enum": [
                            "kg/m^2"
                        ],
                        "default": "kg/m^2"
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {

    }
}

Attributes

bmiMeasurement

Current body mass index measured in kilograms per meter squared

Type: NUMBER Required: Yes

Commands

None.

Body Weight Measurement

Allows for the ability to measure relative body weight

Definition

{
    "id": "bodyWeightMeasurement",
    "version": 1,
    "name": "Body Weight Measurement",
    "status": "proposed",
    "attributes": {
        "bodyWeightMeasurement": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "number"
                    },
                    "unit": {
                        "type": "string",
                        "enum": [
                            "kg",
                            "lbs",
                            "\u65a4"
                        ],
                        "default": "kg"
                    }
                },
                "required": [
                    "value",
                    "unit"
                ]
            }
        }
    },
    "commands": {

    }
}

Attributes

bodyWeightMeasurement

Current body weight measured in kg, lbs, or 斤

Type: NUMBER Required: Yes

Commands

None.

Button

A device with one or more buttons

Definition

{
    "id": "button",
    "version": 1,
    "name": "Button",
    "status": "live",
    "attributes": {
        "button": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "title": "ButtonState",
                        "type": "string",
                        "enum": [
                            "pushed",
                            "held",
                            "double",
                            "pushed_2x",
                            "pushed_3x",
                            "pushed_4x",
                            "pushed_5x",
                            "pushed_6x",
                            "down",
                            "down_2x",
                            "down_3x",
                            "down_4x",
                            "down_5x",
                            "down_6x",
                            "down_hold",
                            "up",
                            "up_2x",
                            "up_3x",
                            "up_4x",
                            "up_5x",
                            "up_6x",
                            "up_hold"
                        ]
                    }
                },
                "required": [
                    "value"
                ]
            }
        },
        "numberOfButtons": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "title": "PositiveInteger",
                        "type": "integer",
                        "minimum": 0
                    }
                },
                "required": [
                    "value"
                ]
            }
        },
        "supportedButtonValues": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "array",
                        "items": {
                            "title": "ButtonState",
                            "type": "string",
                            "enum": [
                                "pushed",
                                "held",
                                "double",
                                "pushed_2x",
                                "pushed_3x",
                                "pushed_4x",
                                "pushed_5x",
                                "pushed_6x",
                                "down",
                                "down_2x",
                                "down_3x",
                                "down_4x",
                                "down_5x",
                                "down_6x",
                                "down_hold",
                                "up",
                                "up_2x",
                                "up_3x",
                                "up_4x",
                                "up_5x",
                                "up_6x",
                                "up_hold"
                            ]
                        }
                    }
                }
            }
        }
    },
    "commands": {

    }
}

Attributes

button

The state of the button

Type: ENUM Required: Yes

Possible values:

  • pushed - The value if the button is pushed
  • held - The value if the button is held
  • double - The value if the button is pushed twice
  • pushed_2x - The value if the button is pushed twice
  • pushed_3x - The value if the button is pushed three times
  • pushed_4x - The value if the button is pushed four times
  • pushed_5x - The value if the button is pushed five times
  • pushed_6x - The value if the button is pushed six times
  • down - The value if the button is clicked down
  • down_2x - The value if the button is clicked down twice
  • down_3x - The value if the button is clicked down three times
  • down_4x - The value if the button is clicked down four times
  • down_5x - The value if the button is clicked down five times
  • down_6x - The value if the button is clicked down six times
  • down_hold - The value if the button is clicked down and held
  • up - The value if the button is clicked up
  • up_2x - The value if the button is clicked up twice
  • up_3x - The value if the button is clicked up three times
  • up_4x - The value if the button is clicked up four times
  • up_5x - The value if the button is clicked up five times
  • up_6x - The value if the button is clicked up six times
  • up_hold - The value if the button is clicked up and held

numberOfButtons

The number of buttons on the device

Type: NUMBER Required: Yes

supportedButtonValues

List of valid button attribute values

Type: JSON_OBJECT Required: Yes

Commands

None.

Carbon Dioxide Measurement

Measure carbon dioxide levels

Definition

{
    "id": "carbonDioxideMeasurement",
    "version": 1,
    "name": "Carbon Dioxide Measurement",
    "status": "live",
    "attributes": {
        "carbonDioxide": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 1000000
                    },
                    "unit": {
                        "type": "string",
                        "enum": [
                            "ppm"
                        ],
                        "default": "ppm"
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {

    }
}

Attributes

carbonDioxide

The level of carbon dioxide detected

Type: NUMBER Required: Yes

Commands

None.

Carbon Monoxide Detector

Measure carbon monoxide levels

Definition

{
    "id": "carbonMonoxideDetector",
    "version": 1,
    "name": "Carbon Monoxide Detector",
    "status": "live",
    "attributes": {
        "carbonMonoxide": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "title": "CarbonMonoxideState",
                        "type": "string",
                        "enum": [
                            "clear",
                            "detected",
                            "tested"
                        ]
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {

    }
}

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.

Carbon Monoxide Measurement

Measure carbon monoxide levels

Definition

{
    "id": "carbonMonoxideMeasurement",
    "version": 1,
    "name": "Carbon Monoxide Measurement",
    "status": "proposed",
    "attributes": {
        "carbonMonoxideLevel": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1000000
                    },
                    "unit": {
                        "type": "string",
                        "enum": [
                            "ppm"
                        ],
                        "default": "ppm"
                    }
                },
                "required": [
                    "value",
                    "unit"
                ]
            }
        }
    },
    "commands": {

    }
}

Attributes

carbonMonoxideLevel

The level of carbon monoxide detected

Type: NUMBER Required: Yes

Commands

None.

Color Control

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

Definition

{
    "id": "colorControl",
    "version": 1,
    "name": "Color Control",
    "status": "live",
    "attributes": {
        "color": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "title": "String",
                        "type": "string",
                        "maxLength": 255
                    }
                }
            }
        },
        "hue": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "title": "PositiveInteger",
                        "type": "integer",
                        "minimum": 0
                    }
                }
            }
        },
        "saturation": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "title": "PositiveInteger",
                        "type": "integer",
                        "minimum": 0
                    }
                }
            }
        }
    },
    "commands": {
        "setColor": {
            "arguments": [
                {
                    "name": "color",
                    "schema": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                            "value": {
                                "title": "COLOR_MAP",
                                "type": "object",
                                "additionalProperties": false,
                                "properties": {
                                    "hue": {
                                        "type": "number"
                                    },
                                    "saturation": {
                                        "type": "number"
                                    },
                                    "hex": {
                                        "type": "string",
                                        "maxLength": 7
                                    },
                                    "level": {
                                        "type": "integer"
                                    },
                                    "switch": {
                                        "type": "string",
                                        "maxLength": 3
                                    }
                                }
                            }
                        }
                    },
                    "required": true
                }
            ]
        },
        "setHue": {
            "arguments": [
                {
                    "name": "hue",
                    "schema": {
                        "title": "PositiveInteger",
                        "type": "integer",
                        "minimum": 0
                    },
                    "required": true
                }
            ]
        },
        "setSaturation": {
            "arguments": [
                {
                    "name": "saturation",
                    "schema": {
                        "title": "PositiveInteger",
                        "type": "integer",
                        "minimum": 0
                    },
                    "required": true
                }
            ]
        }
    }
}

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

{
    "id": "colorTemperature",
    "version": 1,
    "name": "Color Temperature",
    "status": "live",
    "attributes": {
        "colorTemperature": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "integer",
                        "minimum": 1,
                        "maximum": 30000
                    },
                    "unit": {
                        "type": "string",
                        "enum": [
                            "K"
                        ],
                        "default": "K"
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {
        "setColorTemperature": {
            "arguments": [
                {
                    "name": "temperature",
                    "schema": {
                        "type": "integer",
                        "minimum": 1,
                        "maximum": 30000
                    },
                    "required": true
                }
            ]
        }
    }
}

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

Contact Sensor

Allows reading the value of a contact sensor device

Definition

{
    "id": "contactSensor",
    "version": 1,
    "name": "Contact Sensor",
    "status": "live",
    "attributes": {
        "contact": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "title": "ContactState",
                        "type": "string",
                        "enum": [
                            "closed",
                            "open"
                        ]
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {

    }
}

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

{
    "id": "dishwasherMode",
    "version": 1,
    "name": "Dishwasher Mode",
    "status": "proposed",
    "attributes": {
        "dishwasherMode": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "title": "DishwasherMode",
                        "type": "string",
                        "enum": [
                            "auto",
                            "quick",
                            "rinse",
                            "dry"
                        ]
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {
        "setDishwasherMode": {
            "arguments": [
                {
                    "name": "mode",
                    "schema": {
                        "title": "DishwasherMode",
                        "type": "string",
                        "enum": [
                            "auto",
                            "quick",
                            "rinse",
                            "dry"
                        ]
                    },
                    "required": true
                }
            ]
        }
    }
}

Attributes

dishwasherMode

Current mode of the dishwasher

Type: ENUM Required: Yes

Possible values:

  • auto - The dishwasher is in “auto” mode
  • quick - The dishwasher is in “quick” mode
  • rinse - The dishwasher is in “rinse” mode
  • dry - The dishwasher is in “dry” mode

Commands

setDishwasherMode(mode)

Set the dishwasher mode

Arguments:

  • mode
    • Type: ENUM
    • Required: Yes
    • Description: Set the dishwasher mode to “auto”, “quick”, “rinse”, or “dry” mode

Dishwasher Operating State

Allows for the control of the dishwasher operational state.

Definition

{
    "id": "dishwasherOperatingState",
    "version": 1,
    "name": "Dishwasher Operating State",
    "status": "proposed",
    "attributes": {
        "machineState": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "title": "MachineState",
                        "type": "string",
                        "enum": [
                            "pause",
                            "run",
                            "stop"
                        ]
                    },
                    "constraints": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                            "values": {
                                "type": "array",
                                "items": {
                                    "title": "MachineState",
                                    "type": "string",
                                    "enum": [
                                        "pause",
                                        "run",
                                        "stop"
                                    ]
                                }
                            }
                        }
                    }
                },
                "required": [
                    "value"
                ]
            }
        },
        "supportedMachineStates": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "array",
                        "items": {
                            "title": "MachineState",
                            "type": "string",
                            "enum": [
                                "pause",
                                "run",
                                "stop"
                            ]
                        }
                    }
                },
                "required": [
                    "value"
                ]
            }
        },
        "dishwasherJobState": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "title": "DishwasherJobState",
                        "type": "string",
                        "enum": [
                            "airwash",
                            "cooling",
                            "drying",
                            "finish",
                            "preDrain",
                            "prewash",
                            "rinse",
                            "spin",
                            "unknown",
                            "wash",
                            "wrinklePrevent"
                        ]
                    },
                    "constraints": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                            "values": {
                                "type": "array",
                                "items": {
                                    "title": "DishwasherJobState",
                                    "type": "string",
                                    "enum": [
                                        "airwash",
                                        "cooling",
                                        "drying",
                                        "finish",
                                        "preDrain",
                                        "prewash",
                                        "rinse",
                                        "spin",
                                        "unknown",
                                        "wash",
                                        "wrinklePrevent"
                                    ]
                                }
                            }
                        }
                    }
                },
                "required": [
                    "value"
                ]
            }
        },
        "completionTime": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "title": "Iso8601Date",
                        "type": "string",
                        "pattern": "^(?:[1-9]\\d{3}-?(?:(?:0[1-9]|1[0-2])-?(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-?(?:29|30)|(?:0[13578]|1[02])-?31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-?02-?29)T(?:[01]\\d|2[0-3]):?[0-5]\\d:?[0-5]\\d(?:\\.\\d{3})?(?:Z|[+-][01]\\d(?::?[0-5]\\d)?)$"
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {
        "setMachineState": {
            "arguments": [
                {
                    "name": "state",
                    "schema": {
                        "title": "MachineState",
                        "type": "string",
                        "enum": [
                            "pause",
                            "run",
                            "stop"
                        ]
                    },
                    "required": true
                }
            ]
        }
    }
}

Attributes

machineState

State of the dishwasher operation

Type: ENUM Required: Yes

Possible values:

  • pause - Dishwasher is in the pause state
  • run - Dishwasher is in the run state
  • stop - Dishwasher is in the stop state

supportedMachineStates

Operating states supported by the dishwasher machine

Type: JSON_OBJECT Required: Yes

dishwasherJobState

Current status of the dishwasher machine

Type: ENUM Required: Yes

Possible values:

  • airwash - The dishwasher machine is in “airwash” mode
  • cooling - The dishwasher machine is in “cooling” mode
  • drying - The dishwasher machine is in “drying” mode
  • finish - The dishwasher machine is in “finish” mode
  • preDrain - The dishwasher machine is in “preDrain” mode
  • prewash - The dishwasher machine is in “prewash” mode
  • rinse - The dishwasher machine is in “rinse” mode
  • spin - The dishwasher machine is in “spin” mode
  • unknown - The dishwasher machine is in “unknown” mode
  • wash - The dishwasher machine is in “wash” mode
  • wrinklePrevent - The dishwasher machine is in “wrinklePrevent” mode

completionTime

Completion time for the current dishwasher operation

Type: DATE Required: Yes

Commands

setMachineState(state)

Set the dishwasher machine state

Arguments:

  • state
    • Type: ENUM
    • Required: Yes
    • Description: Set the dishwasher machine in an operational state, pause, run or stop

Door Control

Allow for the control of a door

Definition

{
    "id": "doorControl",
    "version": 1,
    "name": "Door Control",
    "status": "live",
    "attributes": {
        "door": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "string",
                        "enum": [
                            "closed",
                            "closing",
                            "open",
                            "opening",
                            "unknown"
                        ]
                    },
                    "constraints": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                            "values": {
                                "type": "array",
                                "items": {
                                    "type": "string",
                                    "enum": [
                                        "closed",
                                        "closing",
                                        "open",
                                        "opening",
                                        "unknown"
                                    ]
                                }
                            }
                        }
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {
        "close": {
            "arguments": [

            ]
        },
        "open": {
            "arguments": [

            ]
        }
    }
}

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

{
    "id": "dryerMode",
    "version": 1,
    "name": "Dryer Mode",
    "status": "proposed",
    "attributes": {
        "dryerMode": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "title": "DryerMode",
                        "type": "string",
                        "enum": [
                            "regular",
                            "lowHeat",
                            "highHeat"
                        ]
                    },
                    "constraints": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                            "values": {
                                "type": "array",
                                "items": {
                                    "title": "DryerMode",
                                    "type": "string",
                                    "enum": [
                                        "regular",
                                        "lowHeat",
                                        "highHeat"
                                    ]
                                }
                            }
                        }
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {
        "setDryerMode": {
            "arguments": [
                {
                    "name": "mode",
                    "schema": {
                        "title": "DryerMode",
                        "type": "string",
                        "enum": [
                            "regular",
                            "lowHeat",
                            "highHeat"
                        ]
                    },
                    "required": true
                }
            ]
        }
    }
}

Attributes

dryerMode

The operational mode that the dryer is in

Type: ENUM Required: Yes

Possible values:

  • regular -
  • lowHeat -
  • highHeat -

Commands

setDryerMode(mode)

Set the operational mode of the dryer

Arguments:

  • mode
    • Type: ENUM
    • Required: Yes
    • Description: The mode to which the dryer should be set to

Dryer Operating State

Allows for the control of the dryer operational state.

Definition

{
    "id": "dryerOperatingState",
    "version": 1,
    "name": "Dryer Operating State",
    "status": "proposed",
    "attributes": {
        "machineState": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "title": "MachineState",
                        "type": "string",
                        "enum": [
                            "pause",
                            "run",
                            "stop"
                        ]
                    },
                    "constraints": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                            "values": {
                                "type": "array",
                                "items": {
                                    "title": "MachineState",
                                    "type": "string",
                                    "enum": [
                                        "pause",
                                        "run",
                                        "stop"
                                    ]
                                }
                            }
                        }
                    }
                },
                "required": [
                    "value"
                ]
            }
        },
        "supportedMachineStates": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "array",
                        "items": {
                            "title": "MachineState",
                            "type": "string",
                            "enum": [
                                "pause",
                                "run",
                                "stop"
                            ]
                        }
                    }
                },
                "required": [
                    "value"
                ]
            }
        },
        "dryerJobState": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "title": "DryerJobState",
                        "type": "string",
                        "enum": [
                            "cooling",
                            "delayWash",
                            "drying",
                            "finished",
                            "none",
                            "weightSensing",
                            "wrinklePrevent"
                        ]
                    },
                    "constraints": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                            "values": {
                                "type": "array",
                                "items": {
                                    "title": "DryerJobState",
                                    "type": "string",
                                    "enum": [
                                        "cooling",
                                        "delayWash",
                                        "drying",
                                        "finished",
                                        "none",
                                        "weightSensing",
                                        "wrinklePrevent"
                                    ]
                                }
                            }
                        }
                    }
                },
                "required": [
                    "value"
                ]
            }
        },
        "completionTime": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "title": "Iso8601Date",
                        "type": "string",
                        "pattern": "^(?:[1-9]\\d{3}-?(?:(?:0[1-9]|1[0-2])-?(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-?(?:29|30)|(?:0[13578]|1[02])-?31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-?02-?29)T(?:[01]\\d|2[0-3]):?[0-5]\\d:?[0-5]\\d(?:\\.\\d{3})?(?:Z|[+-][01]\\d(?::?[0-5]\\d)?)$"
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {
        "setMachineState": {
            "arguments": [
                {
                    "name": "state",
                    "schema": {
                        "title": "MachineState",
                        "type": "string",
                        "enum": [
                            "pause",
                            "run",
                            "stop"
                        ]
                    },
                    "required": true
                }
            ]
        }
    }
}

Attributes

machineState

Current state of the dryer machine operation

Type: ENUM Required: Yes

Possible values:

  • pause - The dryer machine is in the pause state
  • run - The dryer machine is in the running state
  • stop - The dryer machine is in the stop state

supportedMachineStates

The states supported by the dryer machine

Type: JSON_OBJECT Required: Yes

dryerJobState

The state of the dryer job

Type: ENUM Required: Yes

Possible values:

  • cooling - The dryer is in cooling state
  • delayWash - The dryer is in delay wash state
  • drying - The dryer is in drying state
  • finished - The dryer is in finished state
  • none - None
  • weightSensing - The dryer is in weight sensing state
  • wrinklePrevent - The dryer is in wrinkle prevent state

completionTime

The completion time for the dryer job

Type: DATE Required: Yes

Commands

setMachineState(state)

Set the dryer machine state

Arguments:

  • state
    • Type: ENUM
    • Required: Yes
    • Description: Set the dryer machine to a state; pause, run or stop

Dust Sensor

Gets the reading of the dust sensor.

Definition

{
    "id": "dustSensor",
    "version": 1,
    "name": "Dust Sensor",
    "status": "proposed",
    "attributes": {
        "fineDustLevel": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "title": "PositiveInteger",
                        "type": "integer",
                        "minimum": 0
                    },
                    "unit": {
                        "type": "string",
                        "enum": [
                            "\u03bcg/m^3"
                        ],
                        "default": "\u03bcg/m^3"
                    }
                },
                "required": [
                    "value"
                ]
            }
        },
        "dustLevel": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "title": "PositiveInteger",
                        "type": "integer",
                        "minimum": 0
                    },
                    "unit": {
                        "type": "string",
                        "enum": [
                            "\u03bcg/m^3"
                        ],
                        "default": "\u03bcg/m^3"
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {

    }
}

Attributes

fineDustLevel

Current level of fine dust – also refered to as PM2.5, measured in micrograms per cubic meter

Type: NUMBER Required: Yes

dustLevel

Current dust level – also refered to as PM10, measured in micrograms per cubic meter

Type: NUMBER Required: Yes

Commands

None.

Energy Meter

Read the energy consumption of an energy metering device

Definition

{
    "id": "energyMeter",
    "version": 1,
    "name": "Energy Meter",
    "status": "live",
    "attributes": {
        "energy": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "number"
                    },
                    "unit": {
                        "type": "string",
                        "enum": [
                            "kWh"
                        ],
                        "default": "kWh"
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {

    }
}

Attributes

energy

Numeric value representing energy consumption

Type: NUMBER Required: Yes

Commands

None.

Equivalent Carbon Dioxide Measurement

Measure equivalent carbon dioxide levels

Definition

{
    "id": "equivalentCarbonDioxideMeasurement",
    "version": 1,
    "name": "Equivalent Carbon Dioxide Measurement",
    "status": "proposed",
    "attributes": {
        "equivalentCarbonDioxideMeasurement": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1000000
                    },
                    "unit": {
                        "type": "string",
                        "enum": [
                            "ppm"
                        ],
                        "default": "ppm"
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {

    }
}

Attributes

equivalentCarbonDioxideMeasurement

The equivalent carbon dioxide level detected in ppm by volume

Type: NUMBER Required: Yes

Commands

None.

Fan Speed

Allows for the control of the fan speed.

Definition

{
    "id": "fanSpeed",
    "version": 1,
    "name": "Fan Speed",
    "status": "proposed",
    "attributes": {
        "fanSpeed": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "title": "PositiveInteger",
                        "type": "integer",
                        "minimum": 0
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {
        "setFanSpeed": {
            "arguments": [
                {
                    "name": "speed",
                    "schema": {
                        "title": "PositiveInteger",
                        "type": "integer",
                        "minimum": 0
                    },
                    "required": true
                }
            ]
        }
    }
}

Attributes

fanSpeed

Type: NUMBER Required: Yes

Commands

setFanSpeed(speed)

Set the fan speed

Arguments:

  • speed
    • Type: NUMBER
    • Required: Yes
    • Description: Set the fan to this speed

Filter Status

Gets the status of the filter.

Definition

{
    "id": "filterStatus",
    "version": 1,
    "name": "Filter Status",
    "status": "proposed",
    "attributes": {
        "filterStatus": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "string",
                        "enum": [
                            "normal",
                            "replace"
                        ]
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {

    }
}

Attributes

filterStatus

Status of the filter

Type: ENUM Required: Yes

Possible values:

  • normal - The filter status is normal
  • replace - The filter status is replace

Commands

None.

Formaldehyde Measurement

Measure formaldehyde levels

Definition

{
    "id": "formaldehydeMeasurement",
    "version": 1,
    "name": "Formaldehyde Measurement",
    "status": "proposed",
    "attributes": {
        "formaldehydeLevel": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1000000
                    },
                    "unit": {
                        "type": "string",
                        "enum": [
                            "ppm",
                            "mg/m^3"
                        ],
                        "default": "ppm"
                    }
                },
                "required": [
                    "value",
                    "unit"
                ]
            }
        }
    },
    "commands": {

    }
}

Attributes

formaldehydeLevel

The level of formaldehyde detected

Type: NUMBER Required: Yes

Commands

None.

Garage Door Control

Allow for the control of a garage door. Deprecated in favor of Door Control.

Definition

{
    "id": "garageDoorControl",
    "version": 1,
    "name": "Garage Door Control",
    "status": "deprecated",
    "attributes": {
        "door": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "string",
                        "enum": [
                            "closed",
                            "closing",
                            "open",
                            "opening",
                            "unknown"
                        ]
                    },
                    "constraints": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                            "values": {
                                "type": "array",
                                "items": {
                                    "type": "string",
                                    "enum": [
                                        "closed",
                                        "closing",
                                        "open",
                                        "opening",
                                        "unknown"
                                    ]
                                }
                            }
                        }
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {
        "close": {
            "arguments": [

            ]
        },
        "open": {
            "arguments": [

            ]
        }
    }
}

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

Illuminance Measurement

Gives the illuminance reading from devices that support it

Definition

{
    "id": "illuminanceMeasurement",
    "version": 1,
    "name": "Illuminance Measurement",
    "status": "live",
    "attributes": {
        "illuminance": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 100000
                    },
                    "unit": {
                        "type": "string",
                        "enum": [
                            "lux"
                        ],
                        "default": "lux"
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {

    }
}

Attributes

illuminance

The illuminance measurement in LUX

Type: NUMBER Required: Yes

Commands

None.

Infrared Level

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

Definition

{
    "id": "infraredLevel",
    "version": 1,
    "name": "Infrared Level",
    "status": "live",
    "attributes": {
        "infraredLevel": {
            "schema": {
                "title": "Percent",
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 100
                    },
                    "unit": {
                        "type": "string",
                        "enum": [
                            "%"
                        ],
                        "default": "%"
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {
        "setInfraredLevel": {
            "arguments": [
                {
                    "name": "level",
                    "schema": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 100
                    },
                    "required": true
                }
            ]
        }
    }
}

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

Lock

Allow for the control of a lock device

Definition

{
    "id": "lock",
    "version": 1,
    "name": "Lock",
    "status": "proposed",
    "attributes": {
        "lock": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "title": "LockState",
                        "type": "string",
                        "enum": [
                            "locked",
                            "unknown",
                            "unlocked",
                            "unlocked with timeout"
                        ]
                    },
                    "data": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                            "method": {
                                "type": "string",
                                "enum": [
                                    "manual",
                                    "keypad",
                                    "auto",
                                    "command"
                                ]
                            },
                            "codeId": {
                                "type": "string"
                            },
                            "timeout": {
                                "title": "Iso8601Date",
                                "type": "string",
                                "pattern": "^(?:[1-9]\\d{3}-?(?:(?:0[1-9]|1[0-2])-?(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-?(?:29|30)|(?:0[13578]|1[02])-?31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-?02-?29)T(?:[01]\\d|2[0-3]):?[0-5]\\d:?[0-5]\\d(?:\\.\\d{3})?(?:Z|[+-][01]\\d(?::?[0-5]\\d)?)$"
                            }
                        }
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {
        "lock": {
            "arguments": [

            ]
        },
        "unlock": {
            "arguments": [

            ]
        }
    }
}

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 -

Commands

lock()

Lock the device

unlock()

Unlock the device

Media Input Source

Allows for the control of the media input source.

Definition

{
    "id": "mediaInputSource",
    "version": 1,
    "name": "Media Input Source",
    "status": "proposed",
    "attributes": {
        "inputSource": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "title": "MediaSource",
                        "type": "string",
                        "enum": [
                            "AM",
                            "CD",
                            "FM",
                            "HDMI",
                            "HDMI2",
                            "USB",
                            "YouTube",
                            "aux",
                            "bluetooth",
                            "digital",
                            "melon",
                            "wifi"
                        ]
                    }
                },
                "required": [
                    "value"
                ]
            }
        },
        "supportedInputSources": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "array",
                        "items": {
                            "title": "MediaSource",
                            "type": "string",
                            "enum": [
                                "AM",
                                "CD",
                                "FM",
                                "HDMI",
                                "HDMI2",
                                "USB",
                                "YouTube",
                                "aux",
                                "bluetooth",
                                "digital",
                                "melon",
                                "wifi"
                            ]
                        }
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {
        "setInputSource": {
            "arguments": [
                {
                    "name": "mode",
                    "schema": {
                        "title": "MediaSource",
                        "type": "string",
                        "enum": [
                            "AM",
                            "CD",
                            "FM",
                            "HDMI",
                            "HDMI2",
                            "USB",
                            "YouTube",
                            "aux",
                            "bluetooth",
                            "digital",
                            "melon",
                            "wifi"
                        ]
                    },
                    "required": true
                }
            ]
        }
    }
}

Attributes

inputSource

Current input source

Type: ENUM Required: Yes

Possible values:

  • AM - Input source is AM
  • CD - Input source is CD
  • FM - Input source is FM
  • HDMI - Input source is HDMI
  • HDMI2 - Input source is HDMI2
  • USB - Input source is USB
  • YouTube - Input source is YouTube
  • aux - Input source is aux
  • bluetooth - Input source is bluetooth
  • digital - Input source is digital
  • melon - Input source is melon
  • wifi - Input source is wifi

supportedInputSources

Supported input sources

Type: JSON_OBJECT Required: Yes

Commands

setInputSource(mode)

Set the input source for the media

Arguments:

  • mode
    • Type: ENUM
    • Required: Yes
    • Description: Set the input source, to AM, CD, FM, HDMI, HDMI2, USB, YouTube, aux, bluetooth, digital, melon, or wifi

Media Playback Repeat

Allows for the control of the media playback repeat.

Definition

{
    "id": "mediaPlaybackRepeat",
    "version": 1,
    "name": "Media Playback Repeat",
    "status": "proposed",
    "attributes": {
        "playbackRepeatMode": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "string",
                        "enum": [
                            "all",
                            "off",
                            "one"
                        ]
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {
        "setPlaybackRepeatMode": {
            "arguments": [
                {
                    "name": "mode",
                    "schema": {
                        "type": "string",
                        "enum": [
                            "all",
                            "off",
                            "one"
                        ]
                    },
                    "required": true
                }
            ]
        }
    }
}

Attributes

playbackRepeatMode

The current mode of the playback repeat mode, “all”, “off” or “one”

Type: ENUM Required: Yes

Possible values:

  • all -
  • off -
  • one -

Commands

setPlaybackRepeatMode(mode)

Set the playback repeat mode

Arguments:

  • mode
    • Type: ENUM
    • Required: Yes
    • Description: Mode to which to the playback repeat mode should be set, “all”, “off” or “one”

Media Playback Shuffle

Allows for the control of media playback shuffle.

Definition

{
    "id": "mediaPlaybackShuffle",
    "version": 1,
    "name": "Media Playback Shuffle",
    "status": "proposed",
    "attributes": {
        "playbackShuffle": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "string",
                        "enum": [
                            "disabled",
                            "enabled"
                        ]
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {
        "setPlaybackShuffle": {
            "arguments": [
                {
                    "name": "shuffle",
                    "schema": {
                        "type": "string",
                        "enum": [
                            "disabled",
                            "enabled"
                        ]
                    },
                    "required": true
                }
            ]
        }
    }
}

Attributes

playbackShuffle

The current state of the playback shuffle

Type: ENUM Required: Yes

Possible values:

  • disabled -
  • enabled -

Commands

setPlaybackShuffle(shuffle)

Set the shuffle playback mode

Arguments:

  • shuffle
    • Type: ENUM
    • Required: Yes
    • Description: Set the shuffle playback to enabled or disabled

Media Playback

Allows for the control of the media playback.

Definition

{
    "id": "mediaPlayback",
    "version": 1,
    "name": "Media Playback",
    "status": "proposed",
    "attributes": {
        "playbackStatus": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "string",
                        "enum": [
                            "pause",
                            "play",
                            "stop",
                            "fast forward",
                            "rewind"
                        ]
                    }
                }
            }
        },
        "supportedPlaybackCommands": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "array",
                        "items": {
                            "title": "MediaPlaybackCommands",
                            "type": "string",
                            "enum": [
                                "pause",
                                "play",
                                "stop",
                                "fastForward",
                                "rewind"
                            ]
                        }
                    }
                }
            }
        }
    },
    "commands": {
        "setPlaybackStatus": {
            "arguments": [
                {
                    "name": "status",
                    "schema": {
                        "type": "string",
                        "enum": [
                            "pause",
                            "play",
                            "stop",
                            "fast forward",
                            "rewind"
                        ]
                    },
                    "required": true
                }
            ]
        },
        "play": {
            "arguments": [

            ]
        },
        "pause": {
            "arguments": [

            ]
        },
        "stop": {
            "arguments": [

            ]
        },
        "fastForward": {
            "arguments": [

            ]
        },
        "rewind": {
            "arguments": [

            ]
        }
    }
}

Attributes

playbackStatus

Status of the media playback

Type: ENUM Required: Yes

Possible values:

  • pause - Media playback is in “pause” state
  • play - Media playback is in “play” state
  • stop - Media playback is in “stop” state
  • fast forward -
  • rewind - Media playback is in “rewind” state

supportedPlaybackCommands

Media playback commands which are supported

Type: JSON_OBJECT Required: Yes

Commands

setPlaybackStatus(status)

Set the playback status

Arguments:

  • status
    • Type: ENUM
    • Required: Yes
    • Description: Set the playback status to “pause”, “play”, “stop”, “fast forward” or “rewind” state.

play()

Set the playback status to “play”

pause()

Set the playback status to “pause”

stop()

Set the playback status to “stop”

fastForward()

Set the playback status to “fast forward”

rewind()

Set the playback status to “rewind”

Motion Sensor

Allows for the ability to read motion sensor device states

Definition

{
    "id": "motionSensor",
    "version": 1,
    "name": "Motion Sensor",
    "status": "live",
    "attributes": {
        "motion": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "title": "ActivityState",
                        "type": "string",
                        "enum": [
                            "active",
                            "inactive"
                        ]
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {

    }
}

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.

Odor Sensor

Gets the odor sensor reading.

Definition

{
    "id": "odorSensor",
    "version": 1,
    "name": "Odor Sensor",
    "status": "proposed",
    "attributes": {
        "odorLevel": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "title": "PositiveInteger",
                        "type": "integer",
                        "minimum": 0
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {

    }
}

Attributes

odorLevel

The current oder sensor level reading

Type: NUMBER Required: Yes

Commands

None.

Oven Mode

Allows for the control of the oven mode.

Definition

{
    "id": "ovenMode",
    "version": 1,
    "name": "Oven Mode",
    "status": "proposed",
    "attributes": {
        "ovenMode": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "string",
                        "enum": [
                            "heating",
                            "grill",
                            "warming",
                            "defrosting"
                        ]
                    },
                    "constraints": {
                        "constraints": {
                            "type": "object",
                            "additionalProperties": false,
                            "properties": {
                                "values": {
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "enum": [
                                            "heating",
                                            "grill",
                                            "warming",
                                            "defrosting"
                                        ]
                                    }
                                }
                            }
                        }
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {
        "setOvenMode": {
            "arguments": [
                {
                    "name": "mode",
                    "schema": {
                        "type": "string",
                        "enum": [
                            "heating",
                            "grill",
                            "warming",
                            "defrosting"
                        ]
                    },
                    "required": true
                }
            ]
        }
    }
}

Attributes

ovenMode

The mode of operation that the oven is set to

Type: ENUM Required: Yes

Possible values:

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

Commands

setOvenMode(mode)

Set the operation mode of the oven

Arguments:

  • mode
    • Type: ENUM
    • Required: Yes
    • Description: The mode to which oven operation should be set to

Oven Operating State

Allows for the control of the oven operational state.

Definition

{
    "id": "ovenOperatingState",
    "version": 1,
    "name": "Oven Operating State",
    "status": "proposed",
    "attributes": {
        "machineState": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "string",
                        "enum": [
                            "ready",
                            "running",
                            "paused"
                        ]
                    }
                }
            }
        },
        "supportedMachineStates": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "enum": [
                                "ready",
                                "running",
                                "paused"
                            ]
                        }
                    }
                }
            }
        },
        "ovenJobState": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "string",
                        "enum": [
                            "cleaning",
                            "cooking",
                            "cooling",
                            "draining",
                            "preheat",
                            "ready",
                            "rinsing"
                        ]
                    }
                }
            }
        },
        "completionTime": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "title": "Iso8601Date",
                        "type": "string",
                        "pattern": "^(?:[1-9]\\d{3}-?(?:(?:0[1-9]|1[0-2])-?(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-?(?:29|30)|(?:0[13578]|1[02])-?31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-?02-?29)T(?:[01]\\d|2[0-3]):?[0-5]\\d:?[0-5]\\d(?:\\.\\d{3})?(?:Z|[+-][01]\\d(?::?[0-5]\\d)?)$"
                    }
                },
                "required": [
                    "value"
                ]
            }
        },
        "operationTime": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "title": "PositiveInteger",
                        "type": "integer",
                        "minimum": 0
                    }
                }
            }
        },
        "progress": {
            "schema": {
                "title": "IntegerPercent",
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 100
                    },
                    "unit": {
                        "type": "string",
                        "enum": [
                            "%"
                        ],
                        "default": "%"
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {
        "setMachineState": {
            "arguments": [
                {
                    "name": "state",
                    "schema": {
                        "type": "string",
                        "enum": [
                            "stop"
                        ]
                    },
                    "required": true
                }
            ]
        },
        "stop": {
            "arguments": [

            ]
        }
    }
}

Attributes

machineState

Current state of the oven

Type: ENUM Required: Yes

Possible values:

  • ready - The oven is in “ready” mode
  • running - The oven is in “running” mode
  • paused - The oven is in “paused” mode

supportedMachineStates

States supported by the oven

Type: JSON_OBJECT Required: Yes

ovenJobState

The state of the oven job

Type: ENUM Required: Yes

Possible values:

  • cleaning - Oven is in “cleaning” state
  • cooking - Oven is in “cooking” state
  • cooling - Oven is in “cooling” state
  • draining - Oven is in “draining” state
  • preheat - Oven is in “preheat” state
  • ready - Oven is in “ready” state
  • rinsing - Oven is in “rinsing” state

completionTime

The completion time for the oven job

Type: DATE Required: Yes

operationTime

Operation time of the oven job

Type: NUMBER Required: Yes

progress

The percentage complete for the oven job

Type: NUMBER Required: Yes

Commands

setMachineState(state)

Set the oven state

Arguments:

  • state
    • Type: ENUM
    • Required: Yes
    • Description: Set the oven to this state

stop()

Stop the oven operation

Oven Setpoint

Allows for the control of the oven set point.

Definition

{
    "id": "ovenSetpoint",
    "version": 1,
    "name": "Oven Setpoint",
    "status": "proposed",
    "attributes": {
        "ovenSetpoint": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "title": "PositiveInteger",
                        "type": "integer",
                        "minimum": 0
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {
        "setOvenSetpoint": {
            "arguments": [
                {
                    "name": "setpoint",
                    "schema": {
                        "title": "PositiveInteger",
                        "type": "integer",
                        "minimum": 0
                    },
                    "required": true
                }
            ]
        }
    }
}

Attributes

ovenSetpoint

Current value of the oven set point

Type: NUMBER Required: Yes

Commands

setOvenSetpoint(setpoint)

Set the oven set point.

Arguments:

  • setpoint
    • Type: NUMBER
    • Required: Yes
    • Description: Set the oven set point to this number

Power Meter

Allows for reading the power consumption from devices that report it

Definition

{
    "id": "powerMeter",
    "version": 1,
    "name": "Power Meter",
    "status": "live",
    "attributes": {
        "power": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "number"
                    },
                    "unit": {
                        "type": "string",
                        "enum": [
                            "W"
                        ],
                        "default": "W"
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {

    }
}

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

{
    "id": "powerSource",
    "version": 1,
    "name": "Power Source",
    "status": "live",
    "attributes": {
        "powerSource": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "string",
                        "enum": [
                            "battery",
                            "dc",
                            "mains",
                            "unknown"
                        ]
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {

    }
}

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

{
    "id": "presenceSensor",
    "version": 1,
    "name": "Presence Sensor",
    "status": "live",
    "attributes": {
        "presence": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "title": "PresenceState",
                        "type": "string",
                        "enum": [
                            "present",
                            "not present"
                        ]
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {

    }
}

Attributes

presence

The current state of the presence sensor

Type: ENUM Required: Yes

Possible values:

  • not present -
  • present - The device is present

Commands

None.

Rapid Cooling

Allows for the control of rapid cooling.

Definition

{
    "id": "rapidCooling",
    "version": 1,
    "name": "Rapid Cooling",
    "status": "proposed",
    "attributes": {
        "rapidCooling": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "string",
                        "enum": [
                            "off",
                            "on"
                        ]
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {
        "setRapidCooling": {
            "arguments": [
                {
                    "name": "rapidCooling",
                    "schema": {
                        "type": "string",
                        "enum": [
                            "off",
                            "on"
                        ]
                    },
                    "required": true
                }
            ]
        }
    }
}

Attributes

rapidCooling

Current status of the rapid cooling

Type: ENUM Required: Yes

Possible values:

  • off - The rapid cooling is in “off” state
  • on - The rapid cooling is in “on” state

Commands

setRapidCooling(rapidCooling)

Set the rapid cooling

Arguments:

  • rapidCooling
    • Type: ENUM
    • Required: Yes
    • Description: Set the rapid cooling to “off” or “on” state

Refrigeration Setpoint

Allows for the control of the refrigeration set point.

Definition

{
    "id": "refrigerationSetpoint",
    "version": 1,
    "name": "Refrigeration Setpoint",
    "status": "proposed",
    "attributes": {
        "refrigerationSetpoint": {
            "schema": {
                "title": "Temperature",
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "title": "TemperatureValue",
                        "type": "number",
                        "minimum": -460,
                        "maximum": 10000
                    },
                    "unit": {
                        "title": "TemperatureUnit",
                        "type": "string",
                        "enum": [
                            "F",
                            "C"
                        ]
                    },
                    "constraints": {
                        "title": "NumberConstraint",
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                            "min": {
                                "type": "number"
                            },
                            "max": {
                                "type": "number"
                            }
                        }
                    }
                },
                "required": [
                    "value",
                    "unit"
                ]
            }
        }
    },
    "commands": {
        "setRefrigerationSetpoint": {
            "arguments": [
                {
                    "name": "setpoint",
                    "schema": {
                        "title": "TemperatureValue",
                        "type": "number",
                        "minimum": -460,
                        "maximum": 10000
                    },
                    "required": true
                }
            ]
        }
    }
}

Attributes

refrigerationSetpoint

The temperature at which refrigeration should trigger

Type: NUMBER Required: Yes

Commands

setRefrigerationSetpoint(setpoint)

Set the refrigeration setpoint.

Arguments:

  • setpoint
    • Type: NUMBER
    • Required: Yes
    • Description: A temperature value to which the refrigeration setpoint should be set to

Relative Humidity Measurement

Allow reading the relative humidity from devices that support it

Definition

{
    "id": "relativeHumidityMeasurement",
    "version": 1,
    "name": "Relative Humidity Measurement",
    "status": "live",
    "attributes": {
        "humidity": {
            "schema": {
                "title": "Percent",
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 100
                    },
                    "unit": {
                        "type": "string",
                        "enum": [
                            "%"
                        ],
                        "default": "%"
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {

    }
}

Attributes

humidity

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

Type: NUMBER Required: Yes

Commands

None.

Robot Cleaner Cleaning Mode

Allows for the control of the robot cleaner cleaning mode.

Definition

{
    "id": "robotCleanerCleaningMode",
    "version": 1,
    "name": "Robot Cleaner Cleaning Mode",
    "status": "proposed",
    "attributes": {
        "robotCleanerCleaningMode": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "string",
                        "enum": [
                            "auto",
                            "part",
                            "repeat",
                            "manual",
                            "stop",
                            "map"
                        ]
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {
        "setRobotCleanerCleaningMode": {
            "arguments": [
                {
                    "name": "mode",
                    "schema": {
                        "type": "string",
                        "enum": [
                            "auto",
                            "part",
                            "repeat",
                            "manual",
                            "stop"
                        ]
                    },
                    "required": true
                }
            ]
        }
    }
}

Attributes

robotCleanerCleaningMode

Current status of the robot cleaner cleaning mode

Type: ENUM Required: Yes

Possible values:

  • auto - The robot cleaner cleaning mode is in “auto” mode
  • part - The robot cleaner cleaning mode is in “part” mode
  • repeat - The robot cleaner cleaning mode is in “repeat” mode
  • manual - The robot cleaner cleaning mode is in “manual” mode
  • stop - The robot cleaner cleaning mode is in “stop” mode
  • map - The robot cleaner cleaning mode is in “map” mode

Commands

setRobotCleanerCleaningMode(mode)

Set the robot cleaner cleaning mode

Arguments:

  • mode
    • Type: ENUM
    • Required: Yes
    • Description: Set the robot cleaner cleaning mode, to “auto”, “part”, “repeat”, “manual” or “stop” modes

Robot Cleaner Movement

Allows for the control of the robot cleaner movement.

Definition

{
    "id": "robotCleanerMovement",
    "version": 1,
    "name": "Robot Cleaner Movement",
    "status": "proposed",
    "attributes": {
        "robotCleanerMovement": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "string",
                        "enum": [
                            "homing",
                            "idle",
                            "charging",
                            "alarm",
                            "powerOff",
                            "reserve",
                            "point",
                            "after",
                            "cleaning"
                        ]
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {
        "setRobotCleanerMovement": {
            "arguments": [
                {
                    "name": "mode",
                    "schema": {
                        "type": "string",
                        "enum": [
                            "homing"
                        ]
                    },
                    "required": true
                }
            ]
        }
    }
}

Attributes

robotCleanerMovement

Current status of the robot cleaner movement

Type: ENUM Required: Yes

Possible values:

  • homing - The robot cleaner movement is in “homing” mode
  • idle - The robot cleaner movement is in “idle” mode
  • charging - The robot cleaner movement is in “charging” mode
  • alarm - The robot cleaner movement is in “alarm” mode
  • powerOff - The robot cleaner movement is in “power off” mode
  • reserve - The robot cleaner movement is in “reserve” mode
  • point - The robot cleaner movement is in “point” mode
  • after - The robot cleaner movement is in “after” mode
  • cleaning - The robot cleaner movement is in “cleaning” mode

Commands

setRobotCleanerMovement(mode)

Set the robot cleaner movement

Arguments:

  • mode
    • Type: ENUM
    • Required: Yes
    • Description: Set the robot cleaner movement mode, to “homing”

Robot Cleaner Turbo Mode

Allows for the control of the robot cleaner turbo mode.

Definition

{
    "id": "robotCleanerTurboMode",
    "version": 1,
    "name": "Robot Cleaner Turbo Mode",
    "status": "proposed",
    "attributes": {
        "robotCleanerTurboMode": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "string",
                        "enum": [
                            "on",
                            "off",
                            "silence"
                        ]
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {
        "setRobotCleanerTurboMode": {
            "arguments": [
                {
                    "name": "mode",
                    "schema": {
                        "type": "string",
                        "enum": [
                            "on",
                            "off",
                            "silence"
                        ]
                    },
                    "required": true
                }
            ]
        }
    }
}

Attributes

robotCleanerTurboMode

Current status of the robot cleaner turbo mode

Type: ENUM Required: Yes

Possible values:

  • on - The robot cleaner turbo is in ‘on’ mode
  • off - The robot cleaner turbo is in ‘off’ mode
  • silence - The robot cleaner turbo is in ‘silence’ mode

Commands

setRobotCleanerTurboMode(mode)

Set the robot cleaner turbo mode

Arguments:

  • mode
    • Type: ENUM
    • Required: Yes
    • Description: Set the robot cleaner movement mode to ‘on’, ‘off’ or ‘silence’ mode

Signal Strength

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

Definition

{
    "id": "signalStrength",
    "version": 1,
    "name": "Signal Strength",
    "status": "live",
    "attributes": {
        "lqi": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 255
                    }
                },
                "required": [
                    "value"
                ]
            }
        },
        "rssi": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "number",
                        "minimum": -200,
                        "maximum": 0
                    },
                    "unit": {
                        "type": "string",
                        "enum": [
                            "dBm"
                        ],
                        "default": "dBm"
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {

    }
}

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.

Smoke Detector

A device that detects the presence or absence of smoke.

Definition

{
    "id": "smokeDetector",
    "version": 1,
    "name": "Smoke Detector",
    "status": "live",
    "attributes": {
        "smoke": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "string",
                        "enum": [
                            "clear",
                            "detected",
                            "tested"
                        ]
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {

    }
}

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 Sensor

A Device that senses sound

Definition

{
    "id": "soundSensor",
    "version": 1,
    "name": "Sound Sensor",
    "status": "live",
    "attributes": {
        "sound": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "string",
                        "enum": [
                            "detected",
                            "not detected"
                        ]
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {

    }
}

Attributes

sound

Whether or not sound was detected by the Device

Type: ENUM Required: Yes

Possible values:

  • detected - Sound is detected
  • not detected -

Commands

None.

Switch Level

Allows for the control of the level of a device like a light or a dimmer switch.

Definition

{
    "id": "switchLevel",
    "version": 1,
    "name": "Switch Level",
    "status": "live",
    "attributes": {
        "level": {
            "schema": {
                "title": "IntegerPercent",
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 100
                    },
                    "unit": {
                        "type": "string",
                        "enum": [
                            "%"
                        ],
                        "default": "%"
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {
        "setLevel": {
            "arguments": [
                {
                    "name": "level",
                    "schema": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 100
                    },
                    "required": true
                },
                {
                    "name": "rate",
                    "schema": {
                        "title": "PositiveInteger",
                        "type": "integer",
                        "minimum": 0
                    },
                    "required": false
                }
            ]
        }
    }
}

Attributes

level

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

Type: NUMBER Required: Yes

Commands

setLevel(level, rate)

Set the level to the given value. If the device supports being turned on and off then it will be turned on if level is greater than 0 and turned off if level is equal to 0.

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 change the level

Switch

Allows for the control of a switch device

Definition

{
    "id": "switch",
    "version": 1,
    "name": "Switch",
    "status": "live",
    "attributes": {
        "switch": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "title": "SwitchState",
                        "type": "string",
                        "enum": [
                            "on",
                            "off"
                        ]
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {
        "off": {
            "arguments": [

            ]
        },
        "on": {
            "arguments": [

            ]
        }
    }
}

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

{
    "id": "tamperAlert",
    "version": 1,
    "name": "Tamper Alert",
    "status": "live",
    "attributes": {
        "tamper": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "string",
                        "enum": [
                            "clear",
                            "detected"
                        ]
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {

    }
}

Attributes

tamper

Type: ENUM Required: Yes

Possible values:

  • clear -
  • detected -

Commands

None.

Temperature Measurement

Get the temperature from a Device that reports current temperature

Definition

{
    "id": "temperatureMeasurement",
    "version": 1,
    "name": "Temperature Measurement",
    "status": "live",
    "attributes": {
        "temperature": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "title": "TemperatureValue",
                        "type": "number",
                        "minimum": -460,
                        "maximum": 10000
                    },
                    "unit": {
                        "title": "TemperatureUnit",
                        "type": "string",
                        "enum": [
                            "F",
                            "C"
                        ]
                    }
                },
                "required": [
                    "value",
                    "unit"
                ]
            }
        }
    },
    "commands": {

    }
}

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

{
    "id": "thermostatCoolingSetpoint",
    "version": 1,
    "name": "Thermostat Cooling Setpoint",
    "status": "live",
    "attributes": {
        "coolingSetpoint": {
            "schema": {
                "title": "Temperature",
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "title": "TemperatureValue",
                        "type": "number",
                        "minimum": -460,
                        "maximum": 10000
                    },
                    "unit": {
                        "title": "TemperatureUnit",
                        "type": "string",
                        "enum": [
                            "F",
                            "C"
                        ]
                    },
                    "constraints": {
                        "title": "NumberConstraint",
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                            "min": {
                                "type": "number"
                            },
                            "max": {
                                "type": "number"
                            }
                        }
                    }
                },
                "required": [
                    "value",
                    "unit"
                ]
            }
        }
    },
    "commands": {
        "setCoolingSetpoint": {
            "arguments": [
                {
                    "name": "setpoint",
                    "schema": {
                        "title": "TemperatureValue",
                        "type": "number",
                        "minimum": -460,
                        "maximum": 10000
                    },
                    "required": true
                }
            ]
        }
    }
}

Attributes

coolingSetpoint

The current cooling setpoint

Type: NUMBER 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

Definition

{
    "id": "thermostatFanMode",
    "version": 1,
    "name": "Thermostat Fan Mode",
    "status": "live",
    "attributes": {
        "thermostatFanMode": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "title": "ThermostatFanMode",
                        "type": "string",
                        "enum": [
                            "auto",
                            "circulate",
                            "followschedule",
                            "on"
                        ]
                    }
                },
                "required": [
                    "value"
                ]
            }
        },
        "supportedThermostatFanModes": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "array",
                        "items": {
                            "title": "ThermostatFanMode",
                            "type": "string",
                            "enum": [
                                "auto",
                                "circulate",
                                "followschedule",
                                "on"
                            ]
                        }
                    }
                }
            }
        }
    },
    "commands": {
        "fanAuto": {
            "arguments": [

            ]
        },
        "fanCirculate": {
            "arguments": [

            ]
        },
        "fanOn": {
            "arguments": [

            ]
        },
        "setThermostatFanMode": {
            "arguments": [
                {
                    "name": "mode",
                    "schema": {
                        "title": "ThermostatFanMode",
                        "type": "string",
                        "enum": [
                            "auto",
                            "circulate",
                            "followschedule",
                            "on"
                        ]
                    },
                    "required": true
                }
            ]
        }
    }
}

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
  • followschedule - The fan is set to follow predefined schedule
  • on - The fan is on

supportedThermostatFanModes

Modes supported by the thermostat

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

{
    "id": "thermostatHeatingSetpoint",
    "version": 1,
    "name": "Thermostat Heating Setpoint",
    "status": "live",
    "attributes": {
        "heatingSetpoint": {
            "schema": {
                "title": "Temperature",
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "title": "TemperatureValue",
                        "type": "number",
                        "minimum": -460,
                        "maximum": 10000
                    },
                    "unit": {
                        "title": "TemperatureUnit",
                        "type": "string",
                        "enum": [
                            "F",
                            "C"
                        ]
                    },
                    "constraints": {
                        "title": "NumberConstraint",
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                            "min": {
                                "type": "number"
                            },
                            "max": {
                                "type": "number"
                            }
                        }
                    }
                },
                "required": [
                    "value",
                    "unit"
                ]
            }
        }
    },
    "commands": {
        "setHeatingSetpoint": {
            "arguments": [
                {
                    "name": "setpoint",
                    "schema": {
                        "title": "TemperatureValue",
                        "type": "number",
                        "minimum": -460,
                        "maximum": 10000
                    },
                    "required": true
                }
            ]
        }
    }
}

Attributes

heatingSetpoint

The current heating setpoint

Type: NUMBER 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

Definition

{
    "id": "thermostatMode",
    "version": 1,
    "name": "Thermostat Mode",
    "status": "live",
    "attributes": {
        "thermostatMode": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "title": "ThermostatMode",
                        "type": "string",
                        "enum": [
                            "auto",
                            "cool",
                            "eco",
                            "rush hour",
                            "emergency heat",
                            "heat",
                            "off"
                        ]
                    }
                },
                "required": [
                    "value"
                ]
            }
        },
        "supportedThermostatModes": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "array",
                        "items": {
                            "title": "ThermostatMode",
                            "type": "string",
                            "enum": [
                                "auto",
                                "cool",
                                "eco",
                                "rush hour",
                                "emergency heat",
                                "heat",
                                "off"
                            ]
                        }
                    }
                }
            }
        }
    },
    "commands": {
        "auto": {
            "arguments": [

            ]
        },
        "cool": {
            "arguments": [

            ]
        },
        "emergencyHeat": {
            "arguments": [

            ]
        },
        "heat": {
            "arguments": [

            ]
        },
        "off": {
            "arguments": [

            ]
        },
        "setThermostatMode": {
            "arguments": [
                {
                    "name": "mode",
                    "schema": {
                        "title": "ThermostatMode",
                        "type": "string",
                        "enum": [
                            "auto",
                            "cool",
                            "eco",
                            "rush hour",
                            "emergency heat",
                            "heat",
                            "off"
                        ]
                    },
                    "required": true
                }
            ]
        }
    }
}

Attributes

thermostatMode

The current mode of a thermostat

Type: ENUM Required: Yes

Possible values:

  • auto - The automatic mode of the thermostat
  • eco - The eco mode of the thermostat
  • rush hour -
  • cool - The cool mode of the thermostat
  • emergency heat -
  • heat - The heat mode of the thermostat
  • off - Off mode for the thermostat

supportedThermostatModes

Modes supported by the thermostat

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: heat.value=Put the thermostat in emergency heat mode

Thermostat Operating State

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

Definition

{
    "id": "thermostatOperatingState",
    "version": 1,
    "name": "Thermostat Operating State",
    "status": "live",
    "attributes": {
        "thermostatOperatingState": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "title": "ThermostatOperatingState",
                        "type": "string",
                        "enum": [
                            "cooling",
                            "fan only",
                            "heating",
                            "idle",
                            "pending cool",
                            "pending heat",
                            "vent economizer"
                        ]
                    },
                    "constraints": {
                        "title": "EnumConstraint",
                        "properties": {
                            "values": {
                                "type": "array"
                            }
                        }
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {

    }
}

Attributes

thermostatOperatingState

The current state that the thermostat is operating in

Type: ENUM Required: Yes

Possible values:

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

Commands

None.

Thermostat Setpoint

Gives the ability to read the current setpoint on a thermostat

Definition

{
    "id": "thermostatSetpoint",
    "version": 1,
    "name": "Thermostat Setpoint",
    "status": "deprecated",
    "attributes": {
        "thermostatSetpoint": {
            "schema": {
                "title": "Temperature",
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "title": "TemperatureValue",
                        "type": "number",
                        "minimum": -460,
                        "maximum": 10000
                    },
                    "unit": {
                        "title": "TemperatureUnit",
                        "type": "string",
                        "enum": [
                            "F",
                            "C"
                        ]
                    },
                    "constraints": {
                        "title": "NumberConstraint",
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                            "min": {
                                "type": "number"
                            },
                            "max": {
                                "type": "number"
                            }
                        }
                    }
                },
                "required": [
                    "value",
                    "unit"
                ]
            }
        }
    },
    "commands": {

    }
}

Attributes

thermostatSetpoint

The current setpoint value

Type: NUMBER Required: Yes

Commands

None.

Tone

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

Definition

{
    "id": "tone",
    "version": 1,
    "name": "Tone",
    "status": "live",
    "attributes": {

    },
    "commands": {
        "beep": {
            "arguments": [

            ]
        }
    }
}

Attributes

None

Commands

beep()

Beep the device

Tv Channel

Allows for the control of the TV channel.

Definition

{
    "id": "tvChannel",
    "version": 1,
    "name": "Tv Channel",
    "status": "proposed",
    "attributes": {
        "tvChannel": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "title": "String",
                        "type": "string",
                        "maxLength": 255
                    }
                }
            }
        }
    },
    "commands": {
        "setTvChannel": {
            "arguments": [
                {
                    "name": "channel",
                    "schema": {
                        "title": "String",
                        "type": "string",
                        "maxLength": 255
                    },
                    "required": true
                }
            ]
        },
        "channelUp": {
            "arguments": [

            ]
        },
        "channelDown": {
            "arguments": [

            ]
        }
    }
}

Attributes

tvChannel

Current status of the TV channel

Type: STRING Required: Yes

Commands

setTvChannel(channel)

Set the TV channel

Arguments:

  • channel
    • Type: STRING
    • Required: Yes
    • Description: The channel to which the TV should be set

channelUp()

Move the TV channel up

channelDown()

Move the TV channel down

Tvoc Measurement

Measure total volatile organic compound levels

Definition

{
    "id": "tvocMeasurement",
    "version": 1,
    "name": "Tvoc Measurement",
    "status": "proposed",
    "attributes": {
        "tvocLevel": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1000000
                    },
                    "unit": {
                        "type": "string",
                        "enum": [
                            "ppm"
                        ],
                        "default": "ppm"
                    }
                },
                "required": [
                    "value",
                    "unit"
                ]
            }
        }
    },
    "commands": {

    }
}

Attributes

tvocLevel

The level of total volatile organic compounds detected

Type: NUMBER Required: Yes

Commands

None.

Ultraviolet Index

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

Definition

{
    "id": "ultravioletIndex",
    "version": 1,
    "name": "Ultraviolet Index",
    "status": "live",
    "attributes": {
        "ultravioletIndex": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 255
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {

    }
}

Attributes

ultravioletIndex

A number representing the ultraviolet index

Type: NUMBER Required: Yes

Commands

None.

Valve

Allows for the control of a valve device

Definition

{
    "id": "valve",
    "version": 1,
    "name": "Valve",
    "status": "live",
    "attributes": {
        "valve": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "string",
                        "enum": [
                            "closed",
                            "open"
                        ]
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {
        "close": {
            "arguments": [

            ]
        },
        "open": {
            "arguments": [

            ]
        }
    }
}

Attributes

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

Voltage Measurement

Get the value of voltage measured from devices that support it

Definition

{
    "id": "voltageMeasurement",
    "version": 1,
    "name": "Voltage Measurement",
    "status": "live",
    "attributes": {
        "voltage": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "title": "Number",
                        "type": "number"
                    },
                    "unit": {
                        "type": "string",
                        "enum": [
                            "V"
                        ],
                        "default": "V"
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {

    }
}

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

{
    "id": "washerMode",
    "version": 1,
    "name": "Washer Mode",
    "status": "proposed",
    "attributes": {
        "washerMode": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "title": "WasherMode",
                        "type": "string",
                        "enum": [
                            "regular",
                            "heavy",
                            "rinse",
                            "spinDry"
                        ]
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {
        "setWasherMode": {
            "arguments": [
                {
                    "name": "mode",
                    "schema": {
                        "title": "WasherMode",
                        "type": "string",
                        "enum": [
                            "regular",
                            "heavy",
                            "rinse",
                            "spinDry"
                        ]
                    },
                    "required": true
                }
            ]
        }
    }
}

Attributes

washerMode

The current mode of the washer

Type: ENUM Required: Yes

Possible values:

  • regular - The washer is in “regular” mode
  • heavy - The washer is in “heavy” mode
  • rinse - The washer is in “rinse” mode
  • spinDry - The washer is in “spin dry” mode

Commands

setWasherMode(mode)

Set the washer mode

Arguments:

  • mode
    • Type: ENUM
    • Required: Yes
    • Description: The mode to which washer should be set, either “regular” or “heavy” or “rinse” or “spinDry”

Washer Operating State

Allows for the control of the washer operational state.

Definition

{
    "id": "washerOperatingState",
    "version": 1,
    "name": "Washer Operating State",
    "status": "proposed",
    "attributes": {
        "machineState": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "title": "MachineState",
                        "type": "string",
                        "enum": [
                            "pause",
                            "run",
                            "stop"
                        ]
                    }
                },
                "required": [
                    "value"
                ]
            }
        },
        "supportedMachineStates": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "array",
                        "items": {
                            "title": "MachineState",
                            "type": "string",
                            "enum": [
                                "pause",
                                "run",
                                "stop"
                            ]
                        }
                    }
                }
            }
        },
        "washerJobState": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "type": "string",
                        "enum": [
                            "airWash",
                            "cooling",
                            "delayWash",
                            "drying",
                            "finish",
                            "none",
                            "preWash",
                            "rinse",
                            "spin",
                            "wash",
                            "weightSensing",
                            "wrinklePrevent"
                        ]
                    },
                    "constraints": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                            "values": {
                                "type": "array",
                                "items": {
                                    "type": "string",
                                    "enum": [
                                        "airWash",
                                        "cooling",
                                        "delayWash",
                                        "drying",
                                        "finish",
                                        "none",
                                        "preWash",
                                        "rinse",
                                        "spin",
                                        "wash",
                                        "weightSensing",
                                        "wrinklePrevent"
                                    ]
                                }
                            }
                        }
                    }
                },
                "required": [
                    "value"
                ]
            }
        },
        "completionTime": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "title": "Iso8601Date",
                        "type": "string",
                        "pattern": "^(?:[1-9]\\d{3}-?(?:(?:0[1-9]|1[0-2])-?(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-?(?:29|30)|(?:0[13578]|1[02])-?31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-?02-?29)T(?:[01]\\d|2[0-3]):?[0-5]\\d:?[0-5]\\d(?:\\.\\d{3})?(?:Z|[+-][01]\\d(?::?[0-5]\\d)?)$"
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {
        "setMachineState": {
            "arguments": [
                {
                    "name": "state",
                    "schema": {
                        "title": "MachineState",
                        "type": "string",
                        "enum": [
                            "pause",
                            "run",
                            "stop"
                        ]
                    },
                    "required": true
                }
            ]
        }
    }
}

Attributes

machineState

Current status of the washer

Type: ENUM Required: Yes

Possible values:

  • pause - The washer is in “pause” mode
  • run - The washer is in “run” mode
  • stop - The washer is in “stop” mode

supportedMachineStates

The states supported by the washer machine

Type: JSON_OBJECT Required: Yes

washerJobState

The job states supported by the washer

Type: ENUM Required: Yes

Possible values:

  • airWash - The washer job is in “airWash” mode
  • cooling - The washer job is in “cooling” mode
  • delayWash - The washer job is in “delayWash” mode
  • drying - The washer job is in “drying” mode
  • finish - The washer job is in “finish” mode
  • none - The washer job is in “none” mode
  • preWash - The washer job is in “preWash” mode
  • rinse - The washer job is in “rinse” mode
  • spin - The washer job is in “spin” mode
  • wash - The washer job is in “wash” mode
  • weightSensing - The washer job is in “weightSensing” mode
  • wrinklePrevent - The washer job is in “wrinklePrevent” mode

completionTime

The completion time for the washer job

Type: DATE Required: Yes

Commands

setMachineState(state)

Set the washer machine state

Arguments:

  • state
    • Type: ENUM
    • Required: Yes
    • Description: Set the washer machine state to “pause”, “run”, or “stop” state

Water Sensor

Get the status off of a water sensor device

Definition

{
    "id": "waterSensor",
    "version": 1,
    "name": "Water Sensor",
    "status": "live",
    "attributes": {
        "water": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "title": "MoistureState",
                        "type": "string",
                        "enum": [
                            "dry",
                            "wet"
                        ]
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {

    }
}

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

{
    "id": "windowShade",
    "version": 1,
    "name": "Window Shade",
    "status": "proposed",
    "attributes": {
        "windowShade": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "value": {
                        "title": "OpenableState",
                        "type": "string",
                        "enum": [
                            "closed",
                            "closing",
                            "open",
                            "opening",
                            "partially open",
                            "unknown"
                        ]
                    },
                    "constraints": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                            "values": {
                                "type": "array",
                                "items": {
                                    "title": "OpenableState",
                                    "type": "string",
                                    "enum": [
                                        "closed",
                                        "closing",
                                        "open",
                                        "opening",
                                        "partially open",
                                        "unknown"
                                    ]
                                }
                            }
                        }
                    }
                },
                "required": [
                    "value"
                ]
            }
        }
    },
    "commands": {
        "close": {
            "arguments": [

            ]
        },
        "open": {
            "arguments": [

            ]
        },
        "presetPosition": {
            "arguments": [

            ]
        }
    }
}

Attributes

windowShade

Type: ENUM Required: Yes

Possible values:

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

Commands

close()

Close the window shade

open()

Open the window shade

presetPosition()

Preset window shade to a position