機能のプロパティのスキーマ



機能のプロパティのスキーマ

このドキュメントでは、Alexaインターフェースで使用できる以下のプロパティのスキーマについて説明します。


詳細については、Alexaインターフェースとサポートされているロケールの一覧を参照してください。

概要

多くのプロパティが文字列またはオブジェクトとして表現できます。

プロパティが文字列として表される例

"cookingMode": "TIMECOOK"

プロパティがオブジェクトとして表される例

{
    "name": "cookingMode",
    "value": "TIMECOOK"
}

Brightness

スマート電球などの機器の輝度を表します。有効な値は、0~100までの範囲(両端の値を含む)の整数です。

Brightnessの例

{
  "name": "brightness",
  "value": 45
 }

Color

エンドポイントの色を表すプロパティに使用します。色相(hue)、彩度(saturation)、輝度(brightness)フィールドを含む構造であり、それぞれ倍精度の数値です。色を変更できるエンドポイントで使用します。

フィールド 説明
hue 色の色相アトリビュートです。0.0~360.0(両端の値を含む)の範囲の倍精度です。 Double
saturation 色の彩度アトリビュートです。0.0~1.0(両端の値を含む)の範囲の倍精度です。 Double
brightness 色の輝度アトリビュートです。0.0~1.0(両端の値を含む)の範囲の倍精度です。 Double

Colorの例

{
    "name": "color",
    "value": {
        "hue": 350.5,
        "saturation": 0.7138,
        "brightness": 0.6524
    }
}

Count

ボックス内のドーナツの数、用紙の束のページ数など、項目の数を表します。

Countの例

{
    "name": "count",
    "value": 12
}

DateTime

特定の日付と時刻を協定世界時(UTC)で表します。DateTimeは、ISO 8601形式YYYY-MM-DDThh:mm:ssZに則ったRFC 3339プロファイルを使用する文字列です。DateTime文字列は必ずUTCで指定します。

DateTimeの例

{
  "name": "cookCompletionTime",
  "value": "2017-08-30T01:18:21Z"
}

Duration

期間を表します。期間はISO 8601期間形式で表されます。cookingの操作では、期間の値を時刻部分のみに制限する必要があります。正または負の値を使用できます。

形式はPT*H*H*M*M*SS*Sで、それぞれの文字の意味は、以下のとおりです。

  • P: 必須。期間です。
  • T: 必須。時刻です。
  • H: 時を表し、時を指定する場合に時の値の後ろに付けます。
  • M: 分を表し、分を指定する場合に分の値の後ろに付けます。
  • S: 秒を表し、秒を指定する場合に秒の値の後ろに付けます。

期間が3分15秒の場合

{
  "name": "cookDuration",
  "value": "PT3M15S"
}

差分が-30秒の場合

{
  "name": "cookDurationDelta",
  "value": "PT-30S"
}

EnablementMode

enablementModeは、エンドポイントの機能の状態を表すために使用します。

EnablementModeの値

enablementModeの有効な値は次のとおりです。

説明
ENABLED 機能が有効であることを示します。
DISABLED 機能が無効であることを示します。

EnumeratedPowerLevel

値のリストから調理の電力レベルを指定します。ポリモーフィズムなPowerLevelの子要素です。

フィールド 説明
value 電力レベルを示す文字列の列挙値です。以下のいずれかになります: LOW、MEDIUM、HIGH 文字列

EnumeratedPowerLevelの例

{
  "name": "EnumeratedPowerLevel",
  "value": "MEDIUM"
}

featureAvailabilityは、機能をエンドポイントで使用できるかどうかを表します。

FeatureAvailabilityの値

featureAvailabilityの有効な値は次のとおりです。

説明
ENABLED 機能が有効であることを示します。
DISABLED 機能が無効であることを示します。
SUBSCRIPTION_REQUIRED 機能は用意されているが、ユーザーがそれを利用するにはサブスクリプションを購入する必要があることを示しています。

IntegralPowerLevel

数値のスケール上で整数で表される電力レベルを指定します。ポリモーフィズムなPowerLevelの子要素です。

フィールド 説明
value 電力レベルを表す数値です。 整数

IntegralPowerLevelの例

{
  "name": "IntegralPowerLevel",
  "value": 5
}

Name

nameは、人物の氏名を表すために使用します。

Nameの詳細

フィールド 説明
firstName 人物の名前です。 文字列
lastName 人物の姓です。 文字列
nickNames 人物のニックネームの配列です。値は文字列です。 配列

Nameの例

{
    "name": {
      "firstName": "花子",
      "lastName": "山田",
      "nickNames": ["花ちゃん"]
    }
}

Percentage

パーセント値を表します。有効範囲は0から100までの整数です。

Percentageの例

{
 "name": "percentage",
 "value": 74
}

PlaybackState

playbackStateは、メディアを再生するエンドポイントの状態を示すために使用します。

例:playbackState:

{
  "name": "playbackState",
  "value": {
    "state": "PLAYING"
  }
}

PlaybackStateの値

playbackStateの有効な値は次のとおりです。

説明
PLAYING エンドポイントはメディアを再生中です。
PAUSED エンドポイントがメディアを一時停止しました。
STOPPED エンドポイントはメディアを再生していません。

PowerLevel

powerLevelは、デバイスの電力レベルを表すために使用します。powerLevelオブジェクトには、子要素の型を識別するtypeフィールドが含まれます。@typeフィールドは、powerLevelに指定できる値を決定します。有効なタイプは次のとおりです。

EnumeratedPowerLevelを含むpowerLevelの例

{
"powerLevel": {
    "@type": "EnumeratedPowerLevel",
    "value": "MEDIUM"
  }
}

IntegralPowerLevelを含むpowerLevelの例

{
"powerLevel": {
    "@type": "IntegralPowerLevel",
    "value": 5
  }
}

PowerState

powerStateは、デバイスの電源がオンかオフかを示すために使用します。有効な値はONまたはOFFです。

powerStateの例

{
  "name": "powerState",
  "value": "OFF"
}

Quantity

quantityオブジェクトは、液体の量を表すために使用します。

フィールド 説明
value 液体の量です。
unit 液体の量の単位です。

Quantityの例

"quantity":
{
  "value": "2.5",
  "unit": "ミリリットル"
}

Quantityのunit値

quantityのunitには以下の値を使用できます。値は文字列です。

システム 説明
MILLILITER メートル法 1リットルの1/1000です。
US_FLUID_OUNCE 米国慣用単位 1ガロンの1/128です。

Range

値の範囲を表すには、rangeを使用します。

Rangeの例

{
  "name": "range",
  "value": {
    "minimum": -100,
    "maximum": 100
  }
}

RecordingState

recordingStateは、エンドポイントの記録状態を表すために使用します。有効な値はRECORDINGNOT_RECORDINGです。

RecordingStateの例

{
  "name": "recordingState",
  "value": "RECORDING"
}

Temperature

エンドポイントの温度を表すプロパティで使用する、値とスケールを含む構造です。

フィールド 説明
value 温度です。 Double
scale 温度の単位です。 温度単位文字列です。

lowerSetpoint temperatureの例

{
    "name": "lowerSetpoint",
    "value": {
        "value": 68.0,
        "scale": "FAHRENHEIT"
    }
}

温度単位

説明
CELSIUS 摂氏です。
FAHRENHEIT 華氏です。
KELVIN ケルビンです。

ThermostatMode

ThermostatModeはサーモスタットの暖房モードと冷房モードを表します。有効な値のリストについては、ThermostatModeの値を参照してください。

"thermostatMode":
{
  "value": "HEAT"
}

ThermostatModeの値

ThermostatModeでは以下の値を使用できます。値は文字列です。

説明
AUTO 現在の温度と設定温度に基づいた自動暖房および自動冷房モードです。
COOL 冷房モードです。
HEAT 暖房モードです。
ECO エコモードです。
OFF 暖房及び冷房はオフですが、デバイスの電源はついている状態を表します。

TimeInterval

間隔を表します。TimeIntervalはオペレーションの開始時刻、終了時刻、および継続期間を表します。時間間隔のうちいずれか1つまたは2つのフィールドを指定できますが、3つすべてを指定するとエラーが発生します。

フィールド 説明
start DateTime 間隔の開始時刻です
end DateTime 間隔の終了時刻です
duration Duration 間隔の期間です

startとendを使用した例

{
    "start":"2017-10-04T14:00Z",
    "end":"2017-10-04T14:15Z"
}

startとdurationを使用した例

{
    "start":"2017-10-04T14:00Z",
    "duration":"PT30M"
}

durationのみを使用した例

{
     "duration":"PT30M"
}

以下の表に、サポートされているフィールドの組み合わせをリストし、結果を説明します。すべての組み合わせをサポートしていない機能もあることに注意してください。機能のドキュメントを確認して、ディレクティブで受信できるフィールドの組み合わせを確認してください。

フィールド 結果の説明
startのみ 指定された日付/時刻に変更を行い、その変更を無期限で継続します。指定された時刻に設定を変更し、次に定期的にスケジュールされたイベントが発生したときに再度変更する場合に使用します。定期的にスケジュールされたイベントが発生しない場合は、ユーザーが次に設定を変更するまではこの変更が適用されます。
endのみ 現在の設定を変更し、指定された時刻にその変更を終了します。開始時刻は即時とみなされます。
durationのみ 操作は、リクエストが発生次第即時、または可能な限り速やかに開始され、指定された期間継続します。エンドポイントがすぐに操作を開始できない場合、リクエストされた時刻ではなく、実際の開始時刻から指定された期間、操作が継続されます。つまり、操作のウォームアップ期間は含めず、エンドポイントで操作が開始されてからの期間のみが含まれます。
start
および
duration
操作は指定された日付/時刻に開始され、指定された期間だけ継続されます。
end
および
duration
操作は指定された期間継続され、指定された日付/時刻に終了します。

VerificationsRequired

デバイスで特定のディレクティブのユーザー確認が必要な場合は、verificationsRequiredプロパティを使用して、ディレクティブと確認タイプを指定します。verificationsRequired プロパティには、verificationオブジェクトの配列が含まれており、それぞれがディレクティブに必要な確認を指定します。

現在、このプロパティはAlexa.ThermostatControllerおよびAlexa.PowerControllerインターフェイスでのみサポートされています。

フィールド 説明 必須
directive ユーザー確認が必要なディレクティブの名前です。 文字列
methods methodオブジェクトの配列です。 配列

methodオブジェクトは、確認メソッドを表すポリモーフィズム型オブジェクトです。オブジェクトには、子要素の型を識別する@typeフィールドが含まれます。@typeフィールドは、methodに指定できる値を決定します。

フィールド 説明 必須
@type 確認方法のタイプ。現時点でサポートされる値は、Confirmationのみです。 文字列

VerificationsRequiredの例

全体の検出例については、ユーザー確認が必要なエアコンの検出応答例を参照してください。

{
  "verificationsRequired": [
    {
      "directive": "SetThermostatMode",
      "methods": [{
        "@type": "Confirmation"
      }]
    },
    {
      "directive": "SetTargetTemperature",
      "methods": [{
        "@type": "Confirmation"
      }]
    }
  ]
}

Volume

複数の異なる標準単位のいずれかを使用して体積単位として数量を表します。ポリモーフィズムなFoodQuantityの子要素型として使用できます。

フィールド 説明
value 指定された単位での体積です。 数値
unit 単位を示す文字列の列挙値です。 体積単位の文字列です。

Volumeの例

次の例は1と1/4リットルを示しています。

{
"name" : "volume",
  "value": {
      "value": 1.25,
      "unit": "LITER"
  }
}

Volumeのunit値

Alexaからスキルに送信される単位:

単位 システム 説明
LITER メートル法 体積のISO標準単位です。AlexaからはLITREとして送信されます。
MILLILITER メートル法 1/1000 LITERです。AlexaからはMILLILITREとして送信されます。
TEASPOON メートル法 5 MILLILITERです。
UK_GALLON ヤード・ポンド法 厳密に4.54609リットルです。
US_FLUID_GALLON 米国慣用単位 厳密に3.785411784リットルです。
US_FLUID_OUNCE 米国慣用単位 1/128 US_FLUID_GALLON
US_DRY_GALLON 米国慣用単位 厳密に4.40488377086リットルです。
US_DRY_OUNCE 米国慣用単位 1/128 US_DRY_GALLON


Alexaが理解できるその他の単位:

単位 システム 説明
UK_TABLESPOON メートル法 15 MILLILITERかつ3 TEASPOONに等しい
AU_TABLESPOON メートル法 20 MILLILITERかつ4 TEASPOONに等しい
CUBIC_CENTIMETERまたはCUBIC_CENTIMETRE メートル法 1 MILLILITERです。Alexaは両方のスペルを認識します。
CUBIC_METERまたはCUBIC_METRE メートル法 1000 LITERです。Alexaは両方のスペルを認識します。
UK_OUNCE ヤード・ポンド法 1/160 UK_GALLON
UK_QUART ヤード・ポンド法 1/4 UK_GALLON (2 UK_PINT)
UK_PINT ヤード・ポンド法 1/8 UK_GALLON (2 UK_CUP)
UK_CUP ヤード・ポンド法 1/16 UK_GALLON (2 UK_GILL)
UK_GILL ヤード・ポンド法 1/32 UK_GALLON (5 UK_OUNCE)
UK_OUNCE ヤード・ポンド法 1/160 UK_GALLON
UK_DRAM ヤード・ポンド法 1/8 UK_OUNCE
US_FLUID_QUART 米国慣用単位 1/4 US_FLUID_GALLON
US_FLUID_PINT 米国慣用単位 1/8 US_FLUID_GALLON
US_FLUID_CUP 米国慣用単位 1/16 US_FLUID_GALLON
US_TABLESPOON 米国慣用単位 1/2 US_FLUID_OUNCE
US_TEASPOON 米国慣用単位 1/6 US_FLUID_OUNCE
US_DRAM 米国慣用単位 1/8 US_FLUID_OUNCE
US_DRY_QUART 米国慣用単位 1/4 US_DRY_GALLON
US_DRY_PINT 米国慣用単位 1/8 US_DRY_GALLON
US_DRY_CUP 米国慣用単位 1/16 US_DRY_GALLON
CUBIC_INCH ヤード・ポンド法および米国慣用単位 厳密に16.387064ミリリットルとして定義されます。また1/231 US_FLUID_GALLONです。
CUBIC_FOOT ヤード・ポンド法および米国慣用単位 厳密に28.316846592リットルとして定義されます。また1728 CUBIC_INCHまたは576⁄77 US_FLUID_GALLONです。

Weight

複数の異なる標準単位で重量または量の単位として数量を表します。ポリモーフィズムなFoodQuantityの子要素型として使用できます。

フィールド/値 説明
value 指定された単位で表された重量です。 数値
unit 単位を示す文字列の列挙値です。 重量単位の文字列です。

Weightの例

{
"name" : "weight",
  "value": {
      "value": 1.25,
      "unit": "GRAM"
  }
}

Weightのunit値

Alexaからスキルに送信される、またはAlexaに送信できる単位:

単位 システム 説明
GRAM メートル法 1/1000キログラムです
KILOGRAM メートル法 量/重量のISO標準単位です
OUNCE ヤード・ポンド法 1/16ポンドです
POUND ヤード・ポンド法 厳密に0.45359237キログラムです


Alexaが理解できるその他の単位:

単位 システム 説明
METRIC_POUND メートル法 500グラムです
MICROGRAM メートル法 1/1000ミリグラムです
MILLIGRAM メートル法 1/1000グラムです
OUNCE ヤード・ポンド法 1/16ポンドです

Alexaの測定単位

次の測定単位を使用できます。

  • 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