機能のプロパティのスキーマ
このドキュメントでは、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
がポリモーフィズム型の子要素である場合、最初のフィールドはJSONの@type
インジケーターになります。例についてはPowerLevelを参照してください。EnumeratedPowerLevelの例
{
"name": "EnumeratedPowerLevel",
"value": "MEDIUM"
}
featureAvailability
は、機能をエンドポイントで使用できるかどうかを表します。
FeatureAvailabilityの値
featureAvailabilityの有効な値は次のとおりです。
値 | 説明 |
---|---|
ENABLED |
機能が有効であることを示します。 |
DISABLED |
機能が無効であることを示します。 |
SUBSCRIPTION_REQUIRED |
機能は用意されているが、ユーザーがそれを利用するにはサブスクリプションを購入する必要があることを示しています。 |
IntegralPowerLevel
数値のスケール上で整数で表される電力レベルを指定します。ポリモーフィズムなPowerLevelの子要素です。
フィールド | 説明 | 型 |
---|---|---|
value |
電力レベルを表す数値です。 | 整数 |
IntegralPowerLevel
がポリモーフィズム型の子要素である場合、最初のフィールドはJSONの@type
インジケーターになります。例についてはPowerLevelを参照してください。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
は、エンドポイントの記録状態を表すために使用します。有効な値はRECORDING
とNOT_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
ja-JP
ロケールでのみサポートされています。デバイスで特定のディレクティブのユーザー確認が必要な場合は、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