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



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

このドキュメントでは、Alexaインターフェースで使用するプロパティのスキーマについて説明します。詳細については、Alexaインターフェースとサポートされているロケールの一覧を参照してください。

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

propertyオブジェクトの例

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

property文字列の例

"cookingMode": "TIMECOOK"

Brightness

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

Brightnessの例

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

Channel

数字またはコールサインでチャンネルを表します。numbercallSignおよびaffiliateCallSignアトリビュートを含んだ構造です。これらのアトリビュートのうちひとつがあればチャネルは有効です。ChannelControllerインターフェースで使用します。

フィールド 説明
数値 チャンネルを識別する浮動小数点数です(13.1など)。 文字列
callSign チャネルのコールサイン(NHKなど)です。 文字列
affiliateCallSign チャンネルの現地の系列コールサイン(JOBH-DTVなど)です。 文字列

Channelの例

{
   "name":"channel",
   "value": {
    "number": "6",
    "callSign": "NHK",
    "affiliateCallSign": "JOBH-DTV"
  }
}

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
    }
}

ColorTemperatureInKelvin

ColorTemperatureスキーマは、エンドポイントの色温度を表すプロパティで使用します。有効範囲1000~10000(両端の値を含む)の整数であり、色温度をケルビン度で示します。調整可能な白色照明をサポートするエンドポイントで使用します。

ユーザーのリクエストとその結果のケルビン値の例を以下に示します。

白の色調 colorTemperatureInKelvin値
暖色 2200
電球色 2700
白っぽい色 4000
昼白色 5500
クールホワイト 7000

colorTemperatureInKelvinの例

{
    "name": "colorTemperatureInKelvin",
    "value": 7500
}

Connectivity

エンドポイントの接続状態を表します。EndpointHealthインターフェースで使用します。

フィールド 説明
value エンドポイントの状態を表します。 文字列の列挙値です。次のいずれかになります: OK、UNREACHABLE

Connectivityの例

{
    "name": "connectivity",
    "value":
     {
      "value" : "UNREACHABLE"
     }
}

CookingMode

CookingModeは、電子レンジなどの調理器具の調理モードを表します。CookingModeはオブジェクトまたは文字列です。有効な値のリストについては、CookingModeの値を参照してください。

CookingModeのオブジェクト形式

CookingModeでは完全オブジェクト形式を使用できます。オプションのcustomNameアトリビュートを含めるにはオブジェクト形式を使用する必要があります。スマートホームは常にCookingModeをオブジェクト形式でLambda関数に送信します。

オブジェクト形式の例

"cookingMode":
{
  "value": "TIMECOOK"
}

カスタム名を使用するオブジェクト形式の例

"cookingMode":
{
  "value": "REHEAT",
  "customName": "QUICK_REHEAT"
}

CookingModeの文字列形式

CookingModeを、オブジェクトではなく文字列として省略化できます。

文字列形式の例

"cookingMode": "TIMECOOK"

CookingModeの値

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

説明
DEFROST 調理機器の解凍モードを表します。
OFF 調理機器の電源がオフであることを表します。
PRESET 調理機器のプリセットモードや他の自動調理を表します。
REHEAT 調理機器の自動再加熱モードを表します。
TIMECOOK 時間と電力レベルの調理設定を表します。

DateTime

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

DateTimeの例

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

DetectionState

センサーの検出状態を表します。MotionSensorおよびContactSensor機能で使用します。

Detectionの例

{
  "name": "detectionState",
  "value": "DETECTED"
}

Detectionの状態値

detectionの有効な状態値は次のとおりです。

説明
DETECTED センサーで変更があったことが検出されたことを表します。
NOT_DETECTED センサーで変更が検出されなかったことを表します。

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"
}

Enablement Mode

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

EnablementModeの値

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

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

EnumeratedPowerLevel

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

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

EnumeratedPowerLevelの例

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

EqualizerBands

イコライザー帯域のコンフィギュレーションを表します。EqualizerBandsは帯域とその値のリストを提供します。リストの各要素には2つのフィールドがあります。

フィールド 説明
name エンドポイントでサポートされるイコライザー帯域の名前です。 文字列サポートされる値: BASS、TREBLE、MIDRANGE
value イコライザー帯域の専用周波数の値です。 整数

EqualizerBandsの例

この例では3つの帯域の値をレポートしています。

[
    {
        "name": "BASS",
        "value": -2
    },
    {
        "name": "MIDRANGE",
        "value": 4
    },
    {
        "name": "TREBLE",
        "value": 0
    }
]

EqualizerMode

イコライザーモードを表します。次のモードがサポートされています: MOVIE、MUSIC、NIGHT、SPORT、TV

フィールド 説明
value エンドポイントでサポートされるモードまたはイコライザーモードです。 文字列サポートされる値: MOVIE、MUSIC、NIGHT、SPORT、TV

EqualizerModeの例

{
  "name": "mode",
  "value": "MUSIC"
}

FeatureAvailability

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

FeatureAvailabilityの値

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

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

FoodCategory

foodCategoryは食材のカテゴリーを表します。foodCategoryでは以下の値を使用できます。値は文字列です。

BEEFBEVERAGECHICKENFISHMEATPIZZAPOPCORNPORKPOTATOSHRIMPSOUPSTEAKTURKEYVEGETABLEWATER

FoodCount

食材の数を表します。ポリモーフィズムなFoodQuantityの子要素型です。

フィールド 説明
value 食材の必要数 数字、つまり値には整数または浮動小数点数を使用できます。

FoodCountの例

{
    "@type": "FoodCount",
    "value": 12
}

FoodItem

食材を表します。食材は、ユーザーが指定する名前と、その名前に対してAlexaが分類するカテゴリーで構成されています。たとえば、ユーザーが「ポークチョップ」と指定すると、Alexaが分類するカテゴリーはPORKになります。

フィールド 説明
foodName ユーザーに指定された食材の名前を表します。 文字列
foodCategory Alexaが判別する食材のカテゴリーを説明します。 foodCategoryの値です。
foodQuantity 調理する食材の量です。数量、重量、または体積で指定します。 foodQuantityオブジェクトです。

FoodItemの例

{
  "name": "foodItem",
  "value": {
    "foodName": "カッパーリバーサーモン",
    "foodCategory": "FISH",
    "foodQuantity": {
      "@type": "Weight",
      "value": "2.5",
      "unit": "POUND"
    }
  }
}

FoodQuantity

foodQuantityは、食材の量を表すために使用します。@typeフィールドで、量の種類として FoodCountVolume、またはWeightを指定します。

数を含めたfoodQuantityの例

"foodQuantity":
{
    "@type": "FoodCount",
    "value": 12
}

量を含めたfoodQuantityの例

"foodQuantity":
{
    "@type": "Volume",
    "value": 1.25,
    "unit": "LITER"
},

重さを含めたfoodQuantityの例

"foodQuantity":
{
    "@type": "Weight",
    "value": "2.5",
    "unit": "POUND"
},

Input

オーディオエンドポイント、またはビデオエンドポイントの入力状態を表します。値は入力デバイスを表す文字列です。InputControllerインターフェースで使用します。

Inputの例

{
  "inputs": [
    {
      "name": "HDMI 1"
    },
    {
      "name": "HDMI 2"
    }
  ]
}

入力値

inputの名前として有効な値は次のとおりです。

AUX 1AUX 2AUX 3AUX 4AUX 5AUX 6AUX 7BLURAYCABLECDCOAX 1COAX 2COMPOSITE 1DVDGAMEHD RADIOHDMI 1HDMI 2HDMI 3HDMI 4HDMI 5HDMI 6HDMI 7HDMI 8HDMI 9HDMI 10HDMI ARCINPUT 1INPUT 2INPUT 3INPUT 4INPUT 5INPUT 6INPUT 7INPUT 8INPUT 9INPUT 10IPODLINE 1LINE 2LINE 3LINE 4LINE 5LINE 6LINE 7MEDIA PLAYEROPTICAL 1OPTICAL 2PHONOPLAYSTATIONPLAYSTATION 3PLAYSTATION 4SATELLITESMARTCASTTUNERTVUSB DACVIDEO 1VIDEO 2VIDEO 3XBOX

IntegralPowerLevel

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

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

IntegralPowerLevelの例

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

LockState

lockStateは、ロック状態を表すために使用します。

LockStateの例

{
  "name": "lockState",
  "value": "LOCKED"
}

LockStateの値

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

説明
LOCKED 機器が現在ロックされていることを表します。
UNLOCKED 機器が現在ロック解除されていることを表します。
JAMMED ロック機構で不具合が発生したため、ロックがロック状態またはロック解除状態に遷移できなかったことを表します。

MuteState

オーディオデバイスの消音状態を表します。単一のブール値で、trueはデバイスが消音状態、falseは消音されていないことを表します。Speakerインターフェースで使用します。

MuteStateの例

{
    "name": "muted",
    "value": false
}

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です。

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
操作は指定された期間継続され、指定された日付/時刻に終了します。

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です。

VolumeLevel

オーディオの音量レベルを0~100のスケールで表すプロパティに使用します。値は0~100までの範囲の単一の整数です。Speakerインターフェースで使用します。

VolumeLevelの例

{
   "name":"volume",
   "value":"50"
}

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ポンドです