Capability Property Schemas Reference
This reference contains the definitions for properties shared by Alexa capability interfaces.
How to represent properties
Alexa interfaces define most capability properties as strings, integers, or objects.
String property example
"cookingMode": "TIMECOOK"
Integer property example
"value": 45
Object property examples
{
"name": "cookingMode",
"value": "TIMECOOK"
}
{
"@type": "count",
"value": 12
}
Brightness
Indicates the brightness of an appliance, such as a smart light bulb. Valid values are integers from 0 – 100, inclusive.
Brightness example
{
"name": "brightness",
"value": 45
}
Color
Object that represents the color of an endpoint. The structure includes hue, saturation, and brightness fields, which are each double precision numbers. For use by endpoints that are able to change color.
Field | Description | Type |
---|---|---|
hue |
Indicates the hue attribute of the color. A double that ranges from 0.0 to 360.0, inclusive. | Double |
saturation |
Indicates the saturation attribute of the color. A double that ranges from 0.0 to 1.0, inclusive. | Double |
brightness |
Indicates the brightness attribute of the color. A double that ranges from 0.0 to 1.0, inclusive. | Double |
Color example
{
"name": "color",
"value": {
"hue": 350.5,
"saturation": 0.7138,
"brightness": 0.6524
}
}
Count
Represents the count of an item, such as the number of doughnuts in a box, or the number of pages in a ream of paper.
Count example
{
"@type": "count",
"value": 12
}
DateTime
Represents a specific date and time in Coordinated Universal Time (UTC). Defined as a string in RFC 3339 profile of the ISO 8601 format, YYYY-MM-DDThh:mm:ssZ
. DateTime
strings are always specified in UTC with no offsets.
DateTime example
{
"name": "cookCompletionTime",
"value": "2017-08-30T01:18:21Z"
}
Duration
The Duration
property represents a period of time in ISO 8601 duration format. For cooking operations, you should limit the duration value to the time portion only. This value can be a positive or negative value.
The format is PT*H*H*M*M*SS*S
, where:
- P: Required and indicates a duration.
- T: Required and indicates a time.
- H: Indicates hour and is preceded by the number of hours, if hours are specified.
- M: Indicates minutes, and is preceded by the number of minutes, if minutes are specified.
- S: Indicates seconds, preceded by the number of seconds, if seconds are specified.
Duration
is a descendant of a polymorphic type, the first field is a JSON @type
indicator. For an example, see InventoryLevelUsageSensor.Three minute and 15 second duration example
{
"name": "cookDuration",
"value": "PT3M15S"
}
Delta of –30 seconds example
{
"name": "cookDurationDelta",
"value": "PT-30S"
}
Percentage
Use percentage
to represent an amount as a percent. Integer with a valid range of 0 – 100.
percentage
is a descendant of a polymorphic type, the first field is a JSON @type
indicator. For an example, see InventoryLevelSensor.Percentage example
{
"name": "percentage",
"value": 74
}
Temperature
Used for properties that represent a temperature.
Field | Description | Type |
---|---|---|
value |
The temperature. | Double |
scale |
The scale of the temperature. | A temperature scale string. |
lowerSetpoint temperature example
{
"name": "lowerSetpoint",
"value": {
"value": 68.0,
"scale": "FAHRENHEIT"
}
}
Temperature scales
Value | Description |
---|---|
CELSIUS |
The Celsius temperature scale. |
FAHRENHEIT |
The Fahrenheit temperature scale. |
KELVIN |
The Kelvin temperature scale. |
ThermostatMode
ThermostatMode
represents the heating and cooling modes for a thermostat. For the list of valid values, see ThermostatMode Values.
ThermostatMode example
"thermostatMode":
{
"value": "HEAT"
}
ThermostatMode values
You can use the following values for ThermostatMode
. The values are strings.
Value | Description |
---|---|
AUTO |
Indicates automatic heating or cooling based on the current temperature and the setpoint. |
COOL |
Indicates cooling mode. |
HEAT |
Indicates heating mode. |
ECO |
Indicates economy mode. |
OFF |
Indicates that heating and cooling is off, but the device might still have power. |
TimeInterval
Represents a time duration. A TimeInterval
indicates when an operation should start, end and/or how long it should last. Specify one or two of the time interval fields. If you specify all three fields, an error occurs.
Field | Type | Description |
---|---|---|
start |
DateTime | The start time for this time interval. |
end |
DateTime | The end time for this time interval. |
duration |
Duration | The duration of this time interval. |
Example with start and end
{
"start":"2017-10-04T14:00Z",
"end":"2017-10-04T14:15Z"
}
Example with start and duration
{
"start":"2017-10-04T14:00Z",
"duration":"PT30M"
}
Example with duration only
{
"duration":"PT30M"
}
The following table lists the supported field combinations, and describes the result. Note that a capability might not support all the combinations and you should check the documentation for a capability to understand what field combinations you could expect to receive in a directive.
Field | Result description |
---|---|
start only |
Makes a change at the specified date/time and continue the change for an indefinite duration. Used to make a settings change at a specified time, and change again when the next regularly scheduled event occurs. If no regularly scheduled event occurs, the change is applied until the user makes another settings change. |
end only |
Make a change to a current setting, and end that change at a specified time. The start time is inferred to be immediate. |
duration only |
The operation begins immediately, or as soon as possible, after the request occurs and continues for the specified duration. When an endpoint can't immediately begin the operation, continue the operation for the specified duration from the actual start time, and not from the requested time. In other words, don't include the warm up period for an operation. |
start and duration |
The operation begins at the specified start date/time and continues for the specified duration exactly. |
end and duration |
The operation continues for the specified duration, ending at the specified date/time. |
Volume
Indicates a quantity as a unit of volume in one of several different standard units. Can be a descendant type of the polymorphic FoodQuantity.
Field | Description | Type |
---|---|---|
value |
The volume in the specified units | number |
unit |
A string enumeration value that indicates the unit of measure. | A volume unit string. |
Volume
is a descendant of a polymorphic type, the first field is a JSON @type
indicator. For an example, see FoodQuantity.Volume example
The following example shows 1 1/4 liters.
{
"name" : "volume",
"value": {
"value": 1.25,
"unit": "LITER"
}
}
Volume unit values
The following table shows the valid values for volume units.
Unit | System | Description |
---|---|---|
LITER |
Metric | ISO Standard unit of volume. Can be sent to Alexa as LITRE. |
MILLILITER |
Metric | 1/1000 LITER. Can be sent to Alexa as MILLILITRE. |
METRIC_CUP |
Metric | 250 MILLILITER. |
METRIC_TEASPOON |
Metric | 5 MILLILITER. |
UK_TABLESPOON |
Metric | 15 MILLILITER, also equal to 3 TEASPOON |
AU_TABLESPOON |
Metric | 20 MILLILITER, also equal to 4 TEASPOON |
CUBIC_CENTIMETER or CUBIC_CENTIMETRE |
Metric | 1 MILLILITER. Note that Alexa recognizes both spellings. |
CUBIC_METER or CUBIC_METRE |
Metric | 1000 LITER. Note that Alexa recognizes both spellings. |
CUBIC_INCH |
Imperial and U.S. Customary | Defined as exactly 16.387064 MILLILITER. Also 1/231 US_FLUID_GALLON |
CUBIC_FOOT |
Imperial and U.S. Customary | Defined as exactly 28.316846592 LITER. Also 1728 CUBIC_INCH or 576⁄77 US_FLUID_GALLON. |
CUBIC_YARD |
Imperial and U.S. Customary | Defined as exactly 764.55 LITER. Also 27 CUBIC_FOOT or 201.974029 US_FLUID_GALLON |
UK_GALLON |
Imperial | Exactly 4.54609 liters |
UK_QUART |
Imperial | 1/4 UK_GALLON (2 UK_PINT) |
UK_PINT |
Imperial | 1/8 UK_GALLON (2 UK_CUP) |
UK_CUP |
Imperial | 1/16 UK_GALLON (2 UK_GILL) |
UK_GILL |
Imperial | 1/32 UK_GALLON (5 UK_FLUID_OUNCE) |
UK_FLUID_OUNCE |
Imperial | 1/160 UK_GALLON |
UK_OUNCE |
Imperial | 1/160 UK_GALLON |
UK_DRAM |
Imperial | 1/8 UK_FLUID_OUNCE |
US_FLUID_GALLON |
U.S. Customary | Exactly 3.785411784 liters |
US_FLUID_QUART |
U.S. Customary | 1/4 US_FLUID_GALLON |
US_FLUID_PINT |
U.S. Customary | 1/8 US_FLUID_GALLON |
US_FLUID_CUP |
U.S. Customary | 1/16 US_FLUID_GALLON |
US_FLUID_OUNCE |
U.S. Customary | 1/128 US_FLUID_GALLON |
US_TABLESPOON |
U.S. Customary | 1/2 US_FLUID_OUNCE |
US_TEASPOON |
U.S. Customary | 1/6 US_FLUID_OUNCE |
US_DRAM |
U.S. Customary | 1/8 US_FLUID_OUNCE |
US_DRY_GALLON |
U.S. Customary | Exactly 4.40488377086 liters |
US_DRY_QUART |
U.S. Customary | 1/4 US_DRY_GALLON |
US_DRY_PINT |
U.S. Customary | 1/8 US_DRY_GALLON |
US_DRY_CUP |
U.S. Customary | 1/16 US_DRY_GALLON |
US_DRY_OUNCE |
U.S. Customary | 1/128 US_DRY_GALLON |
Weight
Indicates a quantity as a unit of weight or mass in one of several different standard units. Can be a descendant type of the polymorphic FoodQuantity.
Field | Description | Type |
---|---|---|
value |
The weight in the specified units. | Number |
unit |
A string enumeration value that indicates the unit of measure. | A weight unit string. |
weight
is a descendant of a polymorphic type, the first field is a JSON @type
indicator. For an example, see FoodQuantity.Weight example
{
"name" : "weight",
"value": {
"value": 1.25,
"unit": "GRAM"
}
}
Weight unit values
The following table shows the unit values that represent weight.
Unit | System | Description |
---|---|---|
GRAM |
Metric | 1/1000 KILOGRAM |
KILOGRAM |
Metric | ISO Standard unit of mass/weight |
OUNCE |
Imperial | 1/16 POUND. |
POUND |
Imperial | Exactly 0.45359237 KILOGRAM |
METRIC_POUND |
Metric | 500 GRAM |
MICROGRAM |
Metric | 1/1000 MILLIGRAM |
MILLIGRAM |
Metric | 1/1000 GRAM |
OUNCE |
Imperial | 1/16 POUND |
Alexa units of measure
You can use the following units of measure:
- Alexa.Unit.Angle.Degrees
- Alexa.Unit.Angle.Radians
- Alexa.Unit.Distance.Feet
- Alexa.Unit.Distance.Inches
- Alexa.Unit.Distance.Kilometers
- Alexa.Unit.Distance.Meters
- Alexa.Unit.Distance.Miles
- Alexa.Unit.Distance.Yards
- Alexa.Unit.Mass.Grams
- Alexa.Unit.Mass.Kilograms
- Alexa.Unit.Percent
- Alexa.Unit.Temperature.Celsius
- Alexa.Unit.Temperature.Degrees
- Alexa.Unit.Temperature.Fahrenheit
- Alexa.Unit.Temperature.Kelvin
- Alexa.Unit.Volume.CubicFeet
- Alexa.Unit.Volume.CubicMeters
- Alexa.Unit.Volume.Gallons
- Alexa.Unit.Volume.Liters
- Alexa.Unit.Volume.Pints
- Alexa.Unit.Volume.Quarts
- Alexa.Unit.Weight.Ounces
- Alexa.Unit.Weight.Pounds
Related topics
Last updated: Mar 01, 2024