メモ
CLOVA Developer Center βでは CLOVA Home Extensionの情報登録を受け付けておりません。CLOVA Home Extensionを利用した連携に興味のある企業様は、LINE Partners よりお問い合わせください。
CLOVA Home Extensionメッセージを送信する際、payload
には以下のような共有オブジェクトが含まれます。
オブジェクト | 説明 |
---|---|
ActionInfoObject | エンドポイント制御動作の情報を持っています。 |
AirQualityInfoObject | 空気質の情報を持っています。 |
ApplianceInfoObject | IoTデバイスの情報を持っています。 |
BatteryInfoObject | バッテリーの情報を持っています。 |
BillInfoObject | 利用料金の情報を持っています。 |
BrightnessInfoObject | 照明や画面の輝度情報を持っています。 |
ColorInfoObject | エンドポイントの照明や画面、電球の色の情報を持っています。 |
ColorTemperatureInfoObject | エンドポイントの照明や画面、電球の色温度の情報を持っています。 |
ConsumptionInfoObject | 電力の使用量情報を持っています。 |
CountInfoObject | 任意の回数に関する情報を持っています。 |
CustomCommandInfoObject | カスタムコマンドの情報を持っています。 |
CustomInfoObject | 任意の名前、必要な単位・数値情報を直接入力する際に使用できます。 |
ExpendableInfoObject | エンドポイントの消耗品の使用量や残り寿命に関する情報を持っています。 |
FineDustInfoObject | PM10の情報を持っています。 |
IntensityLevelInfoObject | 圧力や水圧の強度情報を持っています。 |
ModeInfoObject | 運転モードの情報を持っています。 |
HumidityInfoObject | 湿度情報を持っています。 |
PeriodInfoObject | 期間情報を持っています。 |
PhaseInfoObject | エンドポイントの動作の段階情報を持っています。 |
ProgressiveTaxBracketInfoObject | 累進税の段階情報を持っています。 |
SceneInfoObject | シーンの情報を持っています。 |
SittingStateInfoObject | スマートチェアなどのエンドポイントに対する、ユーザーの着席情報を持っています。 |
SleepScoreInfoObject | 睡眠スコアの情報を持っています。 |
SpeedInfoObject | 速度情報を持っています。 |
TemperatureInfoObject | 温度情報を持っています。 |
TVChannelNameInfoObject | テレビのチャンネル名を持っています。 |
TVChannelInfoObject | テレビチャンネルの情報を持っています。 |
TVInputSourceNameInfoObject | テレビの入力ソースの情報を持っています。 |
UltraFineDustInfoObject | PM2.5の情報を持っています。 |
VolumeInfoObject | 音量情報を持っています。 |
エンドポイント制御動作の情報を持っているオブジェクトです。1つのデバイスに対して、1つの動作を指示するコマンドを表します。
フィールド名 | データ型 | フィールドの説明 | 必須/任意 |
---|---|---|---|
applianceId |
string | エンドポイントのID | 必須/常時 |
action |
string | エンドポイントの制御動作。動作のリストについては、ApplianceInfoObjectのActions項目を参照してください。 | 必須/常時 |
// サンプル:DiscoverAppliancesResponseメッセージで使用されたサンプル
{
"header": {
"messageId": "99f9d8ff-9366-4cab-a90c-b4c7eca0abbe",
"name": "DiscoverAppliancesResponse",
"namespace": "ClovaHome",
"payloadVersion": "1.0"
},
"payload": {
"customCommands": [
{
"name": "おはよう",
"actions": [
{
"applianceId": "device-001",
"action": "TurnOn"
},
{
"applianceId": "device-0012",
"action": "TurnOff"
},
{
"applianceId": "device-0013",
"action": "TurnOn"
}
]
},
{
"name": "おやすみ",
"actions": [
{
"applianceId": "device-0011",
"action": "TurnOn"
},
{
"applianceId": "device-0012",
"action": "TurnOff"
},
{
"applianceId": "device-0013",
"action": "TurnOn"
}
]
}
],
"discoveredAppliances": [
{
"applianceId": "device-001",
"manufacturerName": "device-manufacturer-name",
"modelName": "スマート照明",
"version": "v1.0",
"friendlyName": "リビングの照明",
"friendlyDescription": "スマートフォンで制御できる照明",
"isIr": false,
"isReachable": true,
"actions": [
"DecrementBrightness",
"HealthCheck",
"IncrementBrightness",
"SetBrightness",
"TurnOn",
"TurnOff"
],
"applianceTypes": ["LIGHT"],
"additionalApplianceDetails": {}
},
{
"applianceId": "device-002",
"manufacturerName": "device-manufacturer-name",
"modelName": "スマートコンセント",
"version": "v1.0",
"friendlyName": "キッチンのコンセント",
"friendlyDescription": "節電コンセント",
"isIr": false,
"isReachable": true,
"actions": [
"HealthCheck",
"TurnOn",
"TurnOff"
],
"applianceTypes": ["SMARTPLUG"],
"additionalApplianceDetails": {},
"location": "LIVING_ROOM",
"tags": ["勉強", "ブラウンの部屋", "おでかけの際に電源をオフにするデバイス"]
}
]
}
}
空気質の情報を持っているオブジェクトです。エンドポイントで測定された空気質を示します。文字列で表されます。
フィールド名 | データ型 | フィールドの説明 | 必須/任意 |
---|---|---|---|
index |
string | 空気質の指数。次のいずれかの値を持ちます。
|
必須/常時 |
// サンプル:GetAirQualityResponseメッセージで使用されたサンプル
{
"header": {
"messageId": "33da6561-0149-4532-a30b-e0de8f75c4cf",
"name": "GetAirQualityResponse",
"namespace": "ClovaHome",
"payloadVersion": "1.0"
},
"payload": {
"airQuality": {
"index": "good"
}
}
}
IoTデバイスの情報を持っているオブジェクトです。ユーザーアカウントに登録されているデバイスのリストをCEKに渡したり、特定のエンドポイントをターゲットに指定して、CLOVA Home Extensionにそのエンドポイントの操作をリクエストする際に使われます。
フィールド名 | データ型 | フィールドの説明 | 必須/任意 |
---|---|---|---|
actions[] |
string array | エンドポイントでサポートされている動作のリスト。クライアントは、ユーザーがIoTデバイスを操作する際、エンドポイントでサポートされている動作の範囲内でリクエストするように案内する必要があります。 | 任意/常時 |
actionsNeededUserConfirmation[] |
string array | ユーザーへの動作確認が必要な動作のリスト。ここに指定された動作のリクエストを行う前に、ユーザーに対して、例えば「エアコンをつけますか?」のような確認を行います。HealthCheckおよび情報取得系の動作(GetXxx)などの指定は無視されます。 | 任意/条件付 |
additionalApplianceDetails |
object | メーカーまたはIoTサービスが提供する追加情報を持っているフィールド | 任意/条件付き |
applianceId |
string | エンドポイントのID | 必須/常時 |
applianceTypes[] |
string array | エンドポイントのタイプ。applicationType によって、そのエンドポイントでサポートされている動作を示すactions フィールドの値が異なります。IoTサービスでユーザーアカウントに登録されているエンドポイントのタイプを、次のいずれかに指定する必要があります。備考を参考にして、エンドポイントのタイプを入力します。 |
必須/常時 |
friendlyName |
string | ユーザーがつけたエンドポイントの名前 | 任意/常時 |
friendlyDescription |
string | エンドポイントの説明 | 任意/常時 |
isIr |
boolean | エンドポイントのコントロールに、赤外線通信を利用するかどうかを示すフィールド
メモ エンドポイントを赤外線通信でコントロールする場合、CLOVAはユーザーにエンドポイントのコントロール結果を伝えません。 |
任意/条件付き |
isReachable |
boolean | エンドポイントが遠隔操作できる状態にあるかどうかを示す値
|
任意/常時 |
manufacturerName |
string | デバイスメーカーの名前 | 任意/常時 |
modelName |
string | デバイスのモデル名 | 任意/常時 |
version |
string | メーカーのソフトウェアバージョン | 任意/常時 |
location |
string | エンドポイントが設置されている場所。Locations項目内のコードを入力します。入力したコードに対応する位置情報のテキストがtags フィールドに追加されます。 |
任意/常時 |
tags[] |
string array | ユーザーがデバイスに追加したタグのリスト。ユーザーはCLOVAアプリまたはIoTサービスで、デバイスの設置場所、使用目的、メーカーなど、さまざまな属性をタグとしてデバイスに追加することができます。同じ属性(タグ)を持つデバイスは、同じグループになります。同じグループ内に、同じ動作がサポートされているデバイスがある場合、同時に制御することができます。 | 任意/常時 |
DiscoverAppliancesRequest
メッセージでユーザーのデバイスリストをリクエストすると、CLOVA Home ExtensionはadditionalApplianceDetails
を除くすべてのフィールドを設定して返す必要があります。その際、 actions
の値は通常applianceTypes
によって決定され、applianceTypes
フィールドの値により次の値を持ちます。
applianceTypes | 説明 | サポートされる動作 |
---|---|---|
"AIRCONDITIONER" |
冷暖房機 | DecrementFanSpeed, DecrementTargetTemperature, GetCurrentTemperature, GetDeviceState, GetTargetTemperature, HealthCheck, IncrementFanSpeed, IncrementTargetTemperature, ReleaseMode, SetFanSpeed, SetMode, SetTargetTemperature, TurnOff, TurnOn |
"AIRPURIFIER" |
空気清浄機 | DecrementFanSpeed, GetAirQuality, GetDeviceState, GetHumidity, HealthCheck, IncrementFanSpeed, ReleaseMode, SetFanSpeed, SetMode, TurnOff, TurnOn |
"AIRSENSOR" |
空気質測定器 | GetAirQuality, GetCurrentTemperature, GetFineDust, GetHumidity, GetUltraFineDust, HealthCheck |
"BIDET" |
温水洗浄便座 | Close, GetDeviceState, GetExpendableState, HealthCheck, Open, TurnOff, TurnOn |
"BODYWEIGHTSCALE" |
体重計 | GetDeviceState, HealthCheck |
"CLOTHESCAREMACHINE" |
衣類管理機 | GetRemainingTime, HealthCheck, TurnOff, TurnOn |
"CLOTHESDRYER" |
衣類乾燥機 | GetDeviceState, HealthCheck, TurnOff, TurnOn |
"CLOTHESWASHER" |
洗濯機 | GetDeviceState, GetPhase, GetRemainingTime, HealthCheck, TurnOff, TurnOn |
"DEHUMIDIFIER" |
除湿器 | GetCurrentTemperature, GetDeviceState, GetHumidity, HealthCheck, SetFanSpeed, TurnOff, TurnOn |
"DISHWASHER" |
食器洗い機 | GetPhase, GetRemainingTime, HealthCheck, TurnOff, TurnOn |
"ELECTRICKETTLE" |
電気ポット | GetCurrentTemperature, HealthCheck, TurnOff, TurnOn |
"ELECTRICTOOTHBRUSH" |
電動歯ブラシ | GetDeviceState, HealthCheck |
"FAN" |
扇風機 | DecrementFanSpeed, HealthCheck, IncrementFanSpeed, ReleaseMode, SetFanSpeed, SetMode, TurnOff, TurnOn |
"HEATER" |
ヒーター | DecrementTargetTemperature, GetCurrentTemperature, GetDeviceState, GetTargetTemperature, HealthCheck, IncrementTargetTemperature, SetTargetTemperature, TurnOff, TurnOn |
"HUMIDIFIER" |
加湿器 | GetCurrentTemperature, GetDeviceState, GetHumidity, HealthCheck, SetFanSpeed, TurnOff, TurnOn |
"LIGHT" |
スマート照明 | DecrementBrightness, HealthCheck, IncrementBrightness, SetBrightness, SetColor, SetColorTemperature, SetMode, TurnOff, TurnOn |
"MASSAGECHAIR" |
マッサージチェア | DecrementIntensityLevel, HealthCheck, IncrementIntensityLevel, TurnOff, TurnOn |
"MICROWAVE" |
電子レンジ | GetRemainingTime, HealthCheck, TurnOff, TurnOn |
"MOTIONSENSOR" |
モーションセンサー | GetDeviceState, HealthCheck |
"OPENCLOSESENSOR" |
開閉センサー | GetCloseTime, GetDeviceState, GetOpenState, GetOpenTime, HealthCheck |
"OVEN" |
オーブン | GetDeviceState, HealthCheck |
"POWERSTRIP" |
テーブルタップ | GetConsumption, GetEstimateBill, GetProgressiveTaxBracket, HealthCheck, TurnOff, TurnOn |
"PURIFIER" |
浄水器 | GetDeviceState, GetExpendableState, GetTargetTemperature, HealthCheck, ReleaseMode, SetMode, SetTargetTemperature |
"RANGE" |
クッキングヒーター・コンロ | GetDeviceState, HealthCheck |
"RANGEHOOD" |
レンジフード | GetDeviceState, HealthCheck, TurnOff, TurnOn |
"REFRIGERATOR" |
冷蔵庫 | GetDeviceState, HealthCheck, SetFreezerTargetTemperature, SetFridgeTargetTemperature, SetMode |
"RICECOOKER" |
炊飯器 | GetCleaningCycle, GetDeviceState, GetExpendableState, GetKeepWarmTime, GetPhase, GetRemainingTime, HealthCheck, ReleaseMode, SetMode, Stop, TurnOff, TurnOn |
"ROBOTVACUUM" |
ロボット掃除機 | Charge, GetBatteryInfo, GetDeviceState, HealthCheck, TurnOff, TurnOn |
"SETTOPBOX" |
セットトップボックス | ChangeInputSource, DecrementChannel, DecrementVolume, HealthCheck, IncrementChannel, IncrementVolume, Mute, SetChannel, SetChannelByName, SetInputSourceByName, StartRecording, StopRecording, TurnOff, TurnOn, Unmute |
"SLEEPINGMONITOR" |
睡眠センサー | GetAsleepDuration, GetAwakeDuration, GetDeviceState, GetSleepScore, GetSleepStartTime, HealthCheck, TurnOff, TurnOn |
"SMARTBED" |
スマートベッド | HealthCheck, Lower, Raise, Stop |
"SMARTCHAIR" |
スマートチェア | GetCurrentSittingState, GetRightPostureRatio, GetUsageTime, HealthCheck |
"SMARTCURTAIN" |
スマートカーテン | Close, GetDeviceState, GetOpenState, HealthCheck, Open, Stop |
"SMARTHUB" |
スマートハブ | GetCurrentTemperature, GetDeviceState, GetHumidity, GetTargetTemperature, HealthCheck, SetMode |
"SMARTLOCK" |
スマートロック | GetDeviceState, GetLockState, SetLockState |
"SMARTMETER" |
電力量計 | GetConsumption, GetDeviceState, GetCurrentBill, GetEstimateBill, HealthCheck |
"SMARTPLUG" |
スマートプラグ | GetConsumption, GetDeviceState, GetEstimateBill, HealthCheck, TurnOff, TurnOn |
"SMARTTV" |
スマートテレビ | ChangeInputSource, DecrementChannel, DecrementVolume, HealthCheck, IncrementChannel, IncrementVolume, Mute, SetChannel, SetChannelByName, SetInputSourceByName, StartRecording, StopRecording, TurnOff, TurnOn, Unmute |
"SMARTVALVE" |
スマートバルブ | GetLockState, SetLockState |
"SMOKESENSOR" |
煙センサー | GetDeviceState, HealthCheck |
"SWITCH" |
家庭内のコンセントの電源を制御するスイッチ | HealthCheck, TurnOff, TurnOn |
"THERMOSTAT" |
温度調節器 | DecrementTargetTemperature, GetCurrentTemperature, GetTargetTemperature, HealthCheck, IncrementTargetTemperature, SetMode, SetTargetTemperature, TurnOff, TurnOn |
"VENTILATOR" |
換気扇 | GetDeviceState, HealthCheck, TurnOff, TurnOn |
"WATERBOILER" |
温水器 | GetDeviceState, HealthCheck, ReleaseMode, SetMode, TurnOff, TurnOn |
メモ
エンドポイントデバイスの機能上の制約によって、そのエンドポイントのapplianceTypesでサポートされているactionsのうち、いずれかを選択して使用することもできます。例えば、ユーザーが登録した空気清浄機(AIRPURIFIER
タイプ)にファンの回転速度を調節する機能がない場合、そのエンドポイントのタイプでサポートされているactionsのうち、IncrementFanSpeedとDecrementFanSpeedを除いてDiscoverAppliancesResponseメッセージを返す必要があります。ちなみに、ユーザーがエンドポイントでサポートされていない動作(action)をリクエストした場合、CEKはすぐユーザーに有効な範囲外のリクエストであることを伝えます。
actions項目と関連するインターフェースは、以下の表のとおりです。
メモ
DiscoverAppliancesResponse
メッセージでユーザーが登録したIoTデバイスのリストをCEKに返す際、各デバイスの位置を`location`フィールドに追加しておくと、そのIoTデバイスの位置が自動的に設定されます。
以下の表は、location
フィールドでサポートされている位置情報です。ユーザーの発話を分析したり、ユーザーにデバイスを見せる際に使用します。
location の値 |
位置情報 |
---|---|
ATTIC |
屋根裏部屋 |
BALCONY |
ベランダ |
BATH_ROOM |
バスルーム |
BED_ROOM |
ベッドルーム |
DINING_ROOM |
ダイニング |
ENTRANCE |
玄関 |
FIRST_ROOM |
部屋1 |
HALLWAY |
廊下 |
KITCHEN |
キッチン |
LIBRARY |
書斎 |
LIVING_ROOM |
リビング |
POWDER_ROOM |
洗面所 |
ROOM |
部屋 |
SECOND_ROOM |
部屋2 |
SMALL_CHILD_ROOM |
子供部屋 |
SMALL_BATH_ROOM |
トイレ |
STAIRS |
階段 |
THIRD_ROOM |
部屋3 |
WAREHOUSE |
倉庫 |
YARD |
庭 |
JAPANESE_STYLE_ROOM |
和室 |
//例1:DiscoverAppliancesResponseメッセージで使用されたサンプル
{
"header": {
"messageId": "99f9d8ff-9366-4cab-a90c-b4c7eca0abbe",
"name": "DiscoverAppliancesResponse",
"namespace": "ClovaHome",
"payloadVersion": "1.0"
},
"payload": {
"discoveredAppliances": [
{
"applianceId": "device-001",
"manufacturerName": "device-manufacturer-name",
"modelName": "スマート照明",
"version": "v1.0",
"friendlyName": "リビングの照明",
"friendlyDescription": "スマートフォンで制御できる照明",
"isIr": false,
"isReachable": true,
"actions": [
"HealthCheck",
"TurnOn",
"TurnOff"
],
"applianceTypes": ["LIGHT"],
"additionalApplianceDetails": {},
"location": "LIVING_ROOM"
},
{
"applianceId": "device-002",
"manufacturerName": "device-manufacturer-name",
"modelName": "スマートコンセント",
"version": "v1.0",
"friendlyName": "キッチンのコンセント",
"friendlyDescription": "節電コンセント",
"isIr": false,
"isReachable": true,
"actions": [
"HealthCheck",
"TurnOn",
"TurnOff"
],
"applianceTypes": ["SMARTPLUG"],
"additionalApplianceDetails": {},
"location": ""
}
]
}
}
//例2:TurnOnRequestメッセージで使用されたサンプル
{
"header": {
"messageId": "6c04fc2d-64dd-41a0-9162-7cb0d4cf7c08",
"name": "TurnOnRequest",
"namespace": "ClovaHome",
"payloadVersion": "1.0"
},
"payload": {
"accessToken": "92ebcb67fe33",
"appliance": {
"applianceId": "device-001"
}
}
}
エンドポイントのバッテリー情報を持っているオブジェクトです。バッテリー残量のパーセントを示す整数(0~100)で表されます。
フィールド名 | データ型 | フィールドの説明 | 必須/任意 |
---|---|---|---|
value |
number | バッテリー残量(%) | 必須/常時 |
//例1:GetBatteryInfoRequestメッセージで使用されたサンプル
{
"header": {
"messageId": "6c04fc2d-64dd-41a0-9162-7cb0d4cf7c08",
"name": "GetBatteryInfoRequest",
"namespace": "ClovaHome",
"payloadVersion": "1.0"
},
"payload": {
"accessToken": "92ebcb67fe33",
"appliance": {
"applianceId": "device-010"
}
}
}
//例2:GetBatteryInfoResponseメッセージで使用されたサンプル
{
"header": {
"messageId": "4ec35000-88ce-4724-b7e4-7f52050558fd",
"name": "GetBatteryInfoResponse",
"namespace": "ClovaHome",
"payloadVersion": "1.0"
},
"payload": {
"batteryInfo": {
"value": 40
}
}
}
エンドポイントが測定した電力使用量に基づいて計算された料金情報を持っているオブジェクトです。金額と通貨単位が別のフィールドで表されます。
フィールド名 | データ型 | フィールドの説明 | 必須/任意 |
---|---|---|---|
currency |
string | 通貨単位(ISO 4217) | 必須/常時 |
value |
number | 料金の金額 | 必須/常時 |
// サンプル:GetCurrentBillResponseメッセージで使用されたサンプル
{
"header": {
"messageId": "33da6561-0149-4532-a30b-e0de8f75c4cf",
"name": "GetCurrentBillResponse",
"namespace": "ClovaHome",
"payloadVersion": "1.0"
},
"payload": {
"currentBill": {
"value": 2990,
"currency": "JPY"
},
"applianceResponseTimestamp": "2017-11-23T20:30:54+09:00"
}
}
照明や画面の輝度情報を持っているオブジェクトです。変更する照明や画面の明るさ、または変更前後の明るさのパーセントを示す整数(0~100)で表されます。
フィールド名 | データ型 | フィールドの説明 | 必須/任意 |
---|---|---|---|
value |
number | 輝度(%) | 必須/常時 |
//例1:IncrementBrightnessRequestメッセージで使用されたサンプル
{
"header": {
"messageId": "6c04fc2d-64dd-41a0-9162-7cb0d4cf7c08",
"name": "IncrementBrightnessRequest",
"namespace": "ClovaHome",
"payloadVersion": "1.0"
},
"payload": {
"accessToken": "92ebcb67fe33",
"appliance": {
"applianceId": "device-010"
},
"deltaBrightness": {
"value": 40
}
}
}
//例2:IncrementBrightnessConfirmationメッセージで使用されたサンプル
{
"header": {
"messageId": "4ec35000-88ce-4724-b7e4-7f52050558fd",
"name": "DecrementBrightnessConfirmation",
"namespace": "ClovaHome",
"payloadVersion": "1.0"
},
"payload": {
"targetBrightness": {
"value": 40
},
"previousState": {
"targetBrightness": {
"value": 20
}
}
}
}
DecrementBrightnessConfirmation
DecrementBrightnessRequest
IncrementBrightnessConfirmation
IncrementBrightnessRequest
SetBrightnessConfirmation
SetBrightnessRequest
エンドポイントの照明や画面、電球の色の情報を持っているオブジェクトです。変更するエンドポイントの照明や画面、電球の色や変更前後の色を示します。(HSV)値で表されます。
フィールド名 | データ型 | フィールドの説明 | 必須/任意 |
---|---|---|---|
brightness |
number | 明度(0~100)。特定のデバイスの明度の設定にBrightnessInfoObjectが使用されている場合、このフィールドは省略されることがあります。 | 任意/条件付き |
hue |
number | 色相(0~360) | 必須/常時 |
saturation |
number | 彩度(0~100) | 必須/常時 |
// サンプル:SetColorRequestメッセージで使用されたサンプル
{
"header": {
"messageId": "a97dff79-5684-4535-8df3-193713c478aa",
"name": "SetColorRequest",
"namespace": "ClovaHome",
"payloadVersion": "1.0"
},
"payload": {
"accessToken": "92ebcb67fe33",
"appliance": {
"applianceId": "device-020"
},
"color": {
"hue": 100,
"saturation": 100,
"brightness": 100
}
}
}
エンドポイントの照明や画面、電球の色温度情報を持っているオブジェクトです。変更するエンドポイントの照明や画面、電球の色温度、または変更前後の色温度を示します。単位はK(ケルビン)です。
フィールド名 | データ型 | フィールドの説明 | 必須/任意 |
---|---|---|---|
value |
number | 色温度(K、ケルビン) | 必須/常時 |
// サンプル:SetColorTemperatureRequestメッセージで使用されたサンプル
{
"header": {
"messageId": "a97dff79-5684-4535-8df3-193713c478aa",
"name": "SetColorTemperatureRequest",
"namespace": "ClovaHome",
"payloadVersion": "1.0"
},
"payload": {
"accessToken": "92ebcb67fe33",
"appliance": {
"applianceId": "device-020"
},
"colorTemperature": {
"value": 3600
}
}
}
エンドポイントで測定されたエネルギーまたはリソースの使用量情報を持っているオブジェクトです。エネルギー使用量の数値と単位が別のフィールドで表されます。
フィールド名 | データ型 | フィールドの説明 | 必須/任意 |
---|---|---|---|
name |
string | エネルギーまたはリソースを使用する項目 | 必須/常時 |
unit |
string | エネルギーまたはリソースの使用単位(例、電気:kW) | 必須/常時 |
value |
number | エネルギーまたはリソースの使用値 | 必須/常時 |
// サンプル:GetConsumptionResponseメッセージで使用されたサンプル
{
"header": {
"messageId": "33da6561-0149-4532-a30b-e0de8f75c4cf",
"name": "GetConsumptionResponse",
"namespace": "ClovaHome",
"payloadVersion": "1.0"
},
"payload": {
"consumption": [
{
"name": "電気使用量",
"value": 79.7,
"unit": "kW"
}
],
"applianceResponseTimestamp": "2017-11-23T20:30:54+09:00"
}
}
任意の回数に関する情報を持っているオブジェクトです。任意の回数、所定のリクエストを発行したいことを示します。
フィールド名 | データ型 | フィールドの説明 | 必須/任意 |
---|---|---|---|
value |
number | リクエストの発行回数 | 必須/常時 |
//例:ChangeInputSourceRequestメッセージで使用されたサンプル
// 「テレビの入力を3回変えて」と発話した場合
{
"header": {
"messageId": "33da6561-0149-4532-a30b-e0de8f75c4cf",
"name": "ChangeInputSourceRequest",
"namespace": "ClovaHome",
"payloadVersion": "1.0"
},
"payload": {
"accessToken": "92ebcb67fe33",
"appliance": {
"applianceId": "device-007"
},
"count": {
"value": 3
}
}
}
カスタムコマンドの情報を持っているオブジェクトです。ユーザーがCLOVAアプリで登録したカスタムコマンドの情報を持っています。DiscoverAppliancesResponse
メッセージ内のデバイス照会結果に、ユーザーのアカウントに登録されているコマンドが追加されます。このオブジェクトには、カスタムコマンドを呼び出すと処理されるエンドポイント制御動作が含まれます。
フィールド名 | データ型 | フィールドの説明 | 必須/任意 |
---|---|---|---|
name |
string | カスタムコマンドの名前 | 必須/常時 |
actions[] |
ActionInfoObject array | カスタムコマンドで処理するエンドポイント制御動作のリスト | 必須/常時 |
// サンプル:DiscoverAppliancesResponseメッセージで使用されたサンプル
{
"header": {
"messageId": "99f9d8ff-9366-4cab-a90c-b4c7eca0abbe",
"name": "DiscoverAppliancesResponse",
"namespace": "ClovaHome",
"payloadVersion": "1.0"
},
"payload": {
"customCommands": [
{
"name": "おはよう",
"actions": [
{
"applianceId": "device-001",
"action": "TurnOn"
},
{
"applianceId": "device-0012",
"action": "TurnOff"
},
{
"applianceId": "device-0013",
"action": "TurnOn"
}
]
},
{
"name": "おやすみ",
"actions": [
{
"applianceId": "device-0011",
"action": "TurnOn"
},
{
"applianceId": "device-0012",
"action": "TurnOff"
},
{
"applianceId": "device-0013",
"action": "TurnOn"
}
]
}
],
"discoveredAppliances": [
{
"applianceId": "device-001",
"manufacturerName": "device-manufacturer-name",
"modelName": "スマート照明",
"version": "v1.0",
"friendlyName": "リビングの照明",
"friendlyDescription": "スマートフォンで制御できる照明",
"isIr": false,
"isReachable": true,
"actions": [
"DecrementBrightness",
"HealthCheck",
"IncrementBrightness",
"SetBrightness",
"TurnOn",
"TurnOff"
],
"applianceTypes": ["LIGHT"],
"additionalApplianceDetails": {}
},
{
"applianceId": "device-002",
"manufacturerName": "device-manufacturer-name",
"modelName": "スマートコンセント",
"version": "v1.0",
"friendlyName": "キッチンのコンセント",
"friendlyDescription": "節電コンセント",
"isIr": false,
"isReachable": true,
"actions": [
"HealthCheck",
"TurnOn",
"TurnOff"
],
"applianceTypes": ["SMARTPLUG"],
"additionalApplianceDetails": {},
"location": "LIVING_ROOM",
"tags": ["勉強", "ブラウンの部屋", "おでかけの際に電源をオフにするデバイス"]
}
]
}
}
任意の名前、必要な単位や数値で情報を直接入力する際に使用されるオブジェクトです。共有オブジェクトで提供されるオブジェクトで情報を表すことができない場合、このオブジェクトを使用するか、またはGetDeviceStateResponse
メッセージでエンドポイントのすべての情報を提供することができます。
フィールド名 | データ型 | フィールドの説明 | 必須/任意 |
---|---|---|---|
name |
string | エンドポイントのステータス情報や測定対象を示す任意の名前。ユーザーに応答する際、このフィールドに入力された値が音声で出力されます。 | 必須/常時 |
value |
numberまたはstring | ステータス値または測定値 | 必須/常時 |
unit |
string | エンドポイントのステータス値または測定値の単位。value フィールドの型がstringの場合には省略され、numberの場合には次の値を持ちます。
|
任意/条件付き |
// サンプル:GetDeviceStateResponseメッセージで使用されたサンプル
{
"header": {
"messageId": "33da6561-0149-4532-a30b-e0de8f75c4cf",
"name": "GetDeviceStateResponse",
"namespace": "ClovaHome",
"payloadVersion": "1.0"
},
"payload": {
"states": [
{
"name": "冷凍室の温度",
"value": -11,
"unit": "celsius"
},
{
"name": "冷蔵室の温度",
"value": 2,
"unit": "celsius"
},
{
"name": "冷蔵室の湿度",
"value": 10,
"unit": "percentage"
},
],
"applianceResponseTimestamp": "2017-11-23T20:31:18+09:00"
}
}
エンドポイントの消耗品の使用量や残り寿命に関する情報を持っているオブジェクトです。エンドポイントの消耗品の使用量や残り寿命を示します。
フィールド名 | データ型 | フィールドの説明 | 必須/任意 |
---|---|---|---|
name |
string | 消耗品名 | 必須/常時 |
remainingTime |
string | 消耗品の残り寿命(継続時間、ISO 8601) | 任意/条件付き |
usage |
CustomInfoObject | 消耗品の使用量(回数またはパーセントで表す) | 任意/条件付き |
// サンプル:GetExpendableStateResponseメッセージで使用されたサンプル
{
"header": {
"messageId": "33da6561-0149-4532-a30b-e0de8f75c4cf",
"name": "GetExpendableStateResponse",
"namespace": "ClovaHome",
"payloadVersion": "1.0"
},
"payload": {
"expendableInfo": [
{
"name": "パッキン",
"remainingTime": "P0001-04-10"
},
{
"name": "フィルター1",
"usage": {
"value": 80,
"unit": "percentage"
}
}
],
"applianceResponseTimestamp": "2017-11-23T20:31:18+09:00"
}
}
PM10の情報を持っているオブジェクトです。エンドポイントが測定したPM10の指数やレベルを示す数字で表されます。
フィールド名 | データ型 | フィールドの説明 | 必須/任意 |
---|---|---|---|
value |
number | PM10指数 | 任意/条件付き |
index |
string | PM10レベル。次のいずれかの値を持ちます。
|
必須/常時 |
// サンプル:GetFineDustResponseメッセージで使用されたサンプル
{
"header": {
"messageId": "33da6561-0149-4532-a30b-e0de8f75c4cf",
"name": "GetFineDustResponse",
"namespace": "ClovaHome",
"payloadVersion": "1.0"
},
"payload": {
"fineDust": {
"value": 77,
"index": "normal"
}
}
}
圧力/水圧の強度情報を持っているオブジェクトです。エンドポイントの持つ圧力/水圧の強度を示します。
フィールド名 | データ型 | フィールドの説明 | 必須/任意 |
---|---|---|---|
value |
number | 圧力/水圧の強度 | 任意/条件付き |
// サンプル:IncrementIntensityLevelConfirmationメッセージで使用されたサンプル
{
"header": {
"messageId": "be3dde71-84c0-48cf-80d8-440c1ede54d8",
"name": "IncrementIntensityLevelConfirmation",
"namespace": "ClovaHome",
"payloadVersion": "1.0"
},
"payload": {
"intensityLevel": {
"value": 1
},
"previousState": {
"intensityLevel": {
"value": 2
}
}
}
}
DecrementIntensityLevelConfirmation
DecrementIntensityLevelRequest
IncrementIntensityLevelConfirmation
IncrementIntensityLevelRequest
運転モード(operation mode)の情報を持っているオブジェクトです。変更する運転モードの名前や、変更前後の運転モードを示します。文字列で表されます。
フィールド名 | データ型 | フィールドの説明 | 必須/任意 |
---|---|---|---|
value |
string | 運転モード(Operation mode) | 必須/常時 |
エンドポイントのタイプ | 運転モードのリストおよび説明 |
---|---|
"AIRCONDITIONER" |
|
"AIRPURIFIER" |
|
"FAN" |
|
"LIGHT" |
|
"PURIFIER" |
|
"REFRIGERATOR" |
|
"RICECOOKER" |
|
"SMARTHUB" |
|
"THERMOSTAT" |
|
"WATERBOILER" |
|
//例1:SetModeRequestメッセージで使用されたサンプル-サーモスタット
{
"header": {
"messageId": "33da6561-0149-4532-a30b-e0de8f75c4cf",
"name": "SetModeRequest",
"namespace": "ClovaHome",
"payloadVersion": "1.0"
},
"payload": {
"accessToken": "92ebcb67fe33",
"appliance": {
"applianceId": "device-006"
},
"mode": {
"value": "hotwater"
}
}
}
//例2:SetModeRequestメッセージで使用されたサンプル-スマートハブ
{
"header": {
"messageId": "b4151a0d-1ec5-4ed0-a39a-1538c356b93b",
"name": "SetModeRequest",
"namespace": "ClovaHome",
"payloadVersion": "1.0"
},
"payload": {
"accessToken": "92ebcb67fe33",
"appliance": {
"applianceId": "device-011"
},
"mode": {
"value": "indoor"
}
}
}
//例3:SetModeConfirmationメッセージで使用されたサンプル
{
"header": {
"messageId": "b7434bd2-c397-461d-b08d-a4a427455c8f",
"name": "SetModeConfirmation",
"namespace": "ClovaHome",
"payloadVersion": "1.0"
},
"payload": {
"mode": {
"value": "sleep"
}
}
}
湿度情報を持っているオブジェクトです。エンドポイントで測定された湿度を示します。文字列で表されます。
フィールド名 | データ型 | フィールドの説明 | 必須/任意 |
---|---|---|---|
value |
number | 湿度(%) | 必須/常時 |
// サンプル:GetHumidityResponseメッセージで使用されたサンプル
{
"header": {
"messageId": "33da6561-0149-4532-a30b-e0de8f75c4cf",
"name": "GetHumidityResponse",
"namespace": "ClovaHome",
"payloadVersion": "1.0"
},
"payload": {
"fineDust": {
"value": 40
}
}
}
使用量や推定料金などの測定データを照会する際に、その照会期間の情報を持っているオブジェクトです。
フィールド名 | データ型 | フィールドの説明 | 必須/任意 |
---|---|---|---|
end |
string | 期間の終了日時(タイムスタンプ、ISO 8601) | 必須/常時 |
start |
string | 期間の開始日時(タイムスタンプ、ISO 8601) | 必須/常時 |
// サンプル:GetUsageTimeRequestメッセージで使用されたサンプル
{
"header": {
"messageId": "59a3f5bc-4c38-4d4c-9b71-3a037bf9f9b0",
"name": "GetUsageTimeRequest",
"namespace": "ClovaHome",
"payloadVersion": "1.0"
},
"payload": {
"accessToken": "92ebcb67fe33",
"appliance": {
"applianceId": "device-028"
},
"period": {
"start": "2018-03-28T00:10:00+09:00",
"end": "2018-03-28T23:59:59+09:00"
}
}
}
エンドポイントの動作の段階情報を持っているオブジェクトです。現在の動作の段階、または以前の動作の段階を示します。
フィールド名 | データ型 | フィールドの説明 | 必須/任意 |
---|---|---|---|
value |
string | 動作の段階を表す文字列 | 必須/常時 |
//例1:GetPhaseResponseメッセージで使用されたサンプル
{
"header": {
"messageId": "b502dd42-b698-4d3b-9ddb-bbdda70f254f",
"name": "GetPhaseResponse",
"namespace": "ClovaHome",
"payloadVersion": "1.0"
},
"payload": {
"phase": {
"value": "脱水",
},
"applianceResponseTimestamp": "2017-11-23T20:30:19+09:00"
}
}
//例2:StopConfirmationメッセージで使用されたサンプル
{
"header": {
"messageId": "a4349fd5-7c1c-4fae-9bbd-291749bdd63a",
"name": "StopConfirmation",
"namespace": "ClovaHome",
"payloadVersion": "1.0"
},
"payload": {
"phase": {
"value": "洗濯"
}
}
}
累進税の段階情報を持っているオブジェクトです。
フィールド名 | データ型 | フィールドの説明 | 必須/任意 |
---|---|---|---|
value |
number | 累進税の段階 | 必須/常時 |
//例1:GetProgressiveTaxBracketResponseメッセージで使用されたサンプル
{
"header": {
"messageId": "b502dd42-b698-4d3b-9ddb-bbdda70f254f",
"name": "GetProgressiveTaxBracketResponse",
"namespace": "CLOVAHome",
"payloadVersion": "1.0"
},
"payload": {
"progressiveTaxBracket": {
"value": 1
},
"applianceResponseTimestamp": "2017-11-23T20:30:19+09:00"
}
}
シーンの情報を持っているオブジェクトです。ユーザーアカウントに登録されているシーンのリストをCEKに渡したり、特定のエンドポイントをターゲットに指定して、CLOVA Home Extensionにそのエンドポイントの操作をリクエストする際に使われます。
フィールド名 | データ型 | フィールドの説明 | 必須/任意 |
---|---|---|---|
needsUserConfirmation |
boolean | シーンの実行にユーザ確認が必要かどうかのフラグ | 任意/常時 |
sceneId |
string | エンドポイントのID | 必須/常時 |
sceneName |
string | エンドポイントの名前 | 必須/常時 |
additionalSceneDetails |
object | メーカーまたはIoTサービスが提供する追加情報を持っているフィールド | 任意/常時 |
スマートチェアなどのデバイスに対する、ユーザーの着席情報を持っているオブジェクトです。
フィールド名 | データ型 | フィールドの説明 | 必須/任意 |
---|---|---|---|
value |
boolean | 着席状態
|
必須/常時 |
// サンプル:GetCurrentSittingStateResponseメッセージで使用されたサンプル
{
"header": {
"messageId": "33da6561-0149-4532-a30b-e0de8f75c4cf",
"name": "GetCurrentSittingStateResponse",
"namespace": "ClovaHome",
"payloadVersion": "1.0"
},
"payload": {
"sittingState": {
"value": true
},
"recentlySittingPeriod": {
"start": "2018-03-28T00:10:00+09:00",
"end": "2018-03-28T23:59:59+09:00"
},
"applianceResponseTimestamp": "2018-03-29T14:32:13+09:00"
}
}
睡眠スコアの情報を持っているオブジェクトです。期間に対する結果の場合、平均値です。
フィールド名 | データ型 | フィールドの説明 | 必須/任意 |
---|---|---|---|
value |
number | 睡眠スコア | 必須/常時 |
// サンプル:GetSleepScoreResponseメッセージで使用されたサンプル
{
"header": {
"messageId": "33da6561-0149-4532-a30b-e0de8f75c4cf",
"name": "GetSleepScoreResponse",
"namespace": "ClovaHome",
"payloadVersion": "1.0"
},
"payload": {
"sleepScore": {
"value": 80
},
"applianceResponseTimestamp": "2018-03-29T14:32:13+09:00"
}
}
速度情報を持っているオブジェクトです。変更する速度や、変更前後の設定速度を示します。整水で表されます。
フィールド名 | データ型 | フィールドの説明 | 必須/任意 |
---|---|---|---|
value |
number | 速度の値 | 必須/常時 |
//例1:IncrementFanSpeedRequestメッセージで使用されたサンプル
{
"header": {
"messageId": "6c04fc2d-64dd-41a0-9162-7cb0d4cf7c08",
"name": "IncrementFanSpeedRequest",
"namespace": "ClovaHome",
"payloadVersion": "1.0"
},
"payload": {
"accessToken": "92ebcb67fe33",
"appliance": {
"applianceId": "device-004"
},
"deltaFanSpeed": {
"value": 1
}
}
}
//例2:IncrementFanSpeedConfirmationメッセージで使用されたサンプル
{
"header": {
"messageId": "4ec35000-88ce-4724-b7e4-7f52050558fd",
"name": "IncrementFanSpeedConfirmation",
"namespace": "ClovaHome",
"payloadVersion": "1.0"
},
"payload": {
"targetFanSpeed": {
"value": 3
},
"previousState": {
"targetFanSpeed": {
"value": 2
}
}
}
}
DecrementFanSpeedConfirmation
DecrementFanSpeedRequest
IncrementFanSpeedConfirmation
IncrementFanSpeedRequest
SetFanSpeedConfirmation
SetFanSpeedRequest
温度情報を持っているオブジェクトです。変更する温度の度合、変更前後の設定温度や現在の設定温度を示します。小数第1位までの数字で表されます。
フィールド名 | データ型 | フィールドの説明 | 必須/任意 |
---|---|---|---|
value |
number | 温度の値 | 必須/常時 |
//例1:IncrementTargetTemperatureRequestメッセージで使用されたサンプル
{
"header": {
"messageId": "6c04fc2d-64dd-41a0-9162-7cb0d4cf7c08",
"name": "IncrementTargetTemperatureRequest",
"namespace": "ClovaHome",
"payloadVersion": "1.0"
},
"payload": {
"accessToken": "92ebcb67fe33",
"appliance": {
"applianceId": "device-001"
},
"deltaTemperature": {
"value": 1
}
}
}
//例2:IncrementTargetTemperatureConfirmationメッセージで使用されたサンプル
{
"header": {
"messageId": "4ec35000-88ce-4724-b7e4-7f52050558fd",
"name": "IncrementTargetTemperatureConfirmation",
"namespace": "ClovaHome",
"payloadVersion": "1.0"
},
"payload": {
"targetTemperature": {
"value": 25
},
"previousState": {
"targetTemperature": {
"value": 21
}
}
}
}
DecrementTargetTemperatureConfirmation
DecrementTargetTemperatureRequest
GetCurrentTemperatureRequest
GetCurrentTemperatureResponse
GetTargetTemperatureRequest
GetTargetTemperatureResponse
IncrementTargetTemperatureConfirmation
IncrementTargetTemperatureRequest
SetFreezerTargetTemperatureConfirmation
SetFreezerTargetTemperatureRequest
SetFridgeTargetTemperatureConfirmation
SetFridgeTargetTemperatureRequest
SetTargetTemperatureConfirmation
SetTargetTemperatureRequest
テレビのチャンネル名の情報を持っているオブジェクトです。変更するチャンネルや変更前後のチャンネル名を示します。文字列で表されます。
フィールド名 | データ型 | フィールドの説明 | 必須/任意 |
---|---|---|---|
value |
string | テレビのチャンネル名 | 必須/常時 |
//例1:SetChannelByNameRequestメッセージで使用されたサンプル
{
"header": {
"messageId": "6c04fc2d-64dd-41a0-9162-7cb0d4cf7c08",
"name": "SetChannelByNameRequest",
"namespace": "ClovaHome",
"payloadVersion": "1.0"
},
"payload": {
"accessToken": "92ebcb67fe33",
"appliance": {
"applianceId": "device-006"
},
"channel": {
"value": "sbs"
}
}
}
//例2:SetChannelByNameConfirmationメッセージで使用されたサンプル
{
"header": {
"messageId": "4ec35000-88ce-4724-b7e4-7f52050558fd",
"name": "SetChannelByNameConfirmation",
"namespace": "ClovaHome",
"payloadVersion": "1.0"
},
"payload": {
"channelName": {
"value": "sbs"
}
}
}
テレビのチャンネル番号情報を持っているオブジェクトです。変更するチャンネルや変更前後のチャンネル番号を示します。数字で表されます。
フィールド名 | データ型 | フィールドの説明 | 必須/任意 |
---|---|---|---|
value |
number | テレビのチャンネル番号 | 必須/常時 |
//例1:SetChannelRequestメッセージで使用されたサンプル
{
"header": {
"messageId": "33da6561-0149-4532-a30b-e0de8f75c4cf",
"name": "SetChannelRequest",
"namespace": "ClovaHome",
"payloadVersion": "1.0"
},
"payload": {
"accessToken": "92ebcb67fe33",
"appliance": {
"applianceId": "device-007"
},
"channel": {
"value": 15
},
"subChannel": {
"value": 1
}
}
}
//例2:SetChannelConfirmationメッセージで使用されたサンプル
{
"header": {
"messageId": "4ec35000-88ce-4724-b7e4-7f52050558fd",
"name": "SetChannelConfirmation",
"namespace": "ClovaHome",
"payloadVersion": "1.0"
},
"payload": {
"channel": {
"value": 15
},
"subChannel": {
"value": 1
}
}
}
DecrementChannelConfirmation
DecrementChannelRequest
IncrementChannelConfirmation
IncrementChannelRequest
SetChannelConfirmation
SetChannelRequest
テレビの入力ソース名の情報を持っているオブジェクトです。変更する入力ソースや変更前後の入力ソース名を示します。文字列で表されます。
フィールド名 | データ型 | フィールドの説明 | 必須/任意 |
---|---|---|---|
value |
string | テレビの入力ソース名 | 必須/常時 |
//例1:SetInputSourceByNameRequestメッセージで使用されたサンプル
{
"header": {
"messageId": "6c04fc2d-64dd-41a0-9162-7cb0d4cf7c08",
"name": "SetInputSourceByNameRequest",
"namespace": "ClovaHome",
"payloadVersion": "1.0"
},
"payload": {
"accessToken": "92ebcb67fe33",
"appliance": {
"applianceId": "device-006"
},
"sourceName": {
"value": "HDMI1"
}
}
}
//例2:SetInputSourceByNameConfirmationメッセージで使用されたサンプル
{
"header": {
"messageId": "4ec35000-88ce-4724-b7e4-7f52050558fd",
"name": "SetInputSourceByNameConfirmation",
"namespace": "ClovaHome",
"payloadVersion": "1.0"
},
"payload": {
"sourceName": {
"value": "HDMI1"
}
}
}
PM2.5の情報を持っているオブジェクトです。エンドポイントで測定されたPM2.5の指数を示します。数字で表されます。
フィールド名 | データ型 | フィールドの説明 | 必須/任意 |
---|---|---|---|
value |
number | PM2.5指数 | 任意/条件付き |
index |
number | PM2.5レベル。次のいずれかの値を持ちます。
|
必須/常時 |
// サンプル:GetUltraFineDustResponseメッセージで使用されたサンプル
{
"header": {
"messageId": "33da6561-0149-4532-a30b-e0de8f75c4cf",
"name": "GetUltraFineDustResponse",
"namespace": "ClovaHome",
"payloadVersion": "1.0"
},
"payload": {
"ultraFineDust": {
"value": 44,
"index": "good"
}
}
}
スピーカーの音量情報を持っているオブジェクトです。調整する音量や調整前後の音量を示します。整数で表されます。
フィールド名 | データ型 | フィールドの説明 | 必須/任意 |
---|---|---|---|
value |
number | 音量の値 | 必須/常時 |
//例1:IncrementVolumeRequestメッセージで使用されたサンプル
{
"header": {
"messageId": "6c04fc2d-64dd-41a0-9162-7cb0d4cf7c08",
"name": "IncrementVolumeRequest",
"namespace": "ClovaHome",
"payloadVersion": "1.0"
},
"payload": {
"accessToken": "92ebcb67fe33",
"appliance": {
"applianceId": "device-005"
},
"deltaVolume": {
"value": 10
}
}
}
//例2:IncrementVolumeConfirmationメッセージで使用されたサンプル
{
"header": {
"messageId": "4ec35000-88ce-4724-b7e4-7f52050558fd",
"name": "IncrementVolumeConfirmation",
"namespace": "ClovaHome",
"payloadVersion": "1.0"
},
"payload": {
"targetVolume": {
"value": 20
},
"previousState": {
"targetVolume": {
"value": 10
}
}
}
}