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



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

このドキュメントでは、状態の変更を表すために使用されるプロパティのスキーマを説明しています。

Brightness

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

Brightnessの例

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

Channel

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

フィールド 説明
number チャンネルを識別する浮動小数点数です(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
}

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 時間と電力レベルの調理設定を表します。

Connectivity

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

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

Connectivityの例

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

DateTime

特定の日付と時刻を協定世界時(UTC)で表します。DateTimeはISO 8601形式の日付と時刻の文字列であり、RFC 3339バリアントが適用されますDateTime文字列は常に時差のないUTCで指定します。たとえば「YYYY-MM-DDTHH:MM:SSZ」のようになります

DateTimeの例

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

Detection

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

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

Detectionの例

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

Duration

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

形式は次のとおりです。 PTHHMMSSS

それぞれの文字の意味は、以下のとおりです。

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

以下は、3分15秒の期間の例です。 PT3M15S

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

以下は-30秒の差分を表す期間を示します。

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

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

FoodCount

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

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

ユーザーが1ダースを指定する場合の例です。

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

FoodItem

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

また、FoodItemにはfoodQuantityが含まれています。これは食材の数、または重量や体積で表された食材です。

フィールド/値 説明
foodName ユーザーに指定された食材の名前を表します。 文字列
foodCategory Alexaが判別する食材のカテゴリーを説明します。 文字列の列挙値です。次のいずれかを指定します: BEEF、BEVERAGE、CHICKEN、FISH、MEAT、PASTA、PIZZA、POPCORN、PORK、POTATO、SHRIMP、SOUP、TURKEY、WATER
foodQuantity 調理する食材の量です。数量、重量、または体積で指定できます。 ポリモーフィズムなFoodQuantityの子要素であり、FoodCountWeightVolumeのいずれかです。@typeフィールドでフィールドに含まれるオブジェクトの型を指定します。

FoodItemの例

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

FoodQuantity

食材の数量を表すポリモーフィズム型です。FoodQuantityが記述される場合は、食材の量のタイプを表す@typeフィールドが含まれます。@type値を使用してそのfoodQuantityに対して指定できる他のフィールドを判別します。FoodQuantityは次の子要素を取ることができます。

FoodQuantityの例

以下の例は、Weightを含むfoodQuantity型を表しています。

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

以下の例は、FoodCountを含むfoodQuantity型を表しています

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

Input

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

Inputの例

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

有効な値は次のとおりです: 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は次の値を含む文字列の列挙値です。

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

LockStateの例

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

MuteState

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

MuteStateの例

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

Percentage

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

percentageの例

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

PlaybackState

エンドポイントの再生状態を表す単一のプロパティstateを定義します。stateの有効な値は次のとおりです: PLAYING、PAUSED、STOPPED

例:playbackState:

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

PowerState

デバイスの電源状態を表します。PowerStateは2つの文字列値を含む列挙値です。

  • ON
  • OFF

powerStateの例

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

PowerLevel

電力レベルを表すポリモーフィズム型です。powerLevelが記述される場合は、子要素の型を識別する@typeフィールドが含まれます。@typeフィールドを使用して、そのpowerLevelに指定できる他の値を判別します。PowerLevelは、次のいずれかの子要素型を含めることができます。

EnumeratedPowerLevelを含むPowerLevelの例

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

IntegralPowerLevelを含むPowerLevelの例

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

RecordingState

エンドポイントの録画録音状態を表します。RecordingStateは2つの文字列値を含む列挙値です。

  • RECORDING
  • NOT_RECORDING

RecordingStateの例

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

Temperature

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

フィールド/値 説明
value 指定されたスケールの温度の数値を表す倍精度値です。
scale 「CELSIUS」、「FAHRENHEIT」、「KELVIN」のいずれかの文字列

lowerSetpoint temperatureの例

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

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のみ 現在の設定を変更し、指定された時刻にその変更を終了します。開始時刻は即時とみなされます。
durationのみ 操作は、リクエストが発生次第即時、または可能な限り速やかに開始され、指定された期間継続します。エンドポイントがすぐに操作を開始できない場合、リクエストされた時刻ではなく、実際の開始時刻から指定された期間、操作が継続されます。つまり、操作のウォームアップ期間は含めず、エンドポイントで操作が開始されてからの期間のみが含まれます。
start
および
duration
操作は指定された日付/時刻に開始され、指定された期間だけ継続されます。
end
および
duration
操作は指定された期間継続され、指定された日付/時刻に終了します。

startを使用した例

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

startとdurationを使用した例

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

durationを使用した例

{
     "duration":"PT30M"
}

Volume

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

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

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 MILLILITERとして定義されます。かつ1/231 US_FLUID_GALLON
CUBIC_FOOT ヤード・ポンド法および米国慣用単位 厳密に28.316846592 LITERとして定義されます。かつ1728 CUBIC_INCHまたは576⁄77 US_FLUID_GALLONです。

Volumeの例

以下は、1 1/4リットルを表す例です。

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

VolumeLevel

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

VolumeLevelの例

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

Weight

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

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

Weight.Unit列挙値

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

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


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

単位 システム 説明
METRIC_POUND メートル法 500 GRAM
MICROGRAM メートル法 1/1000 MILLIGRAM
MILLIGRAM メートル法 1/1000 GRAM
OUNCE ヤード・ポンド法 1/16 POUND

1 1/4グラムの例

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