action.devices.EXECUTE
このインテントは、スマートホーム デバイスで実行するコマンドを送信します。
フルフィルメントは、各コマンドを処理し、対応するデバイスに送信し、EXECUTE レスポンスで新しい状態を返す必要があります。
1 つの EXECUTE インテントで、複数のコマンドを使用して、複数のデバイスをターゲットにできます。たとえば、トリガーされた 1 つのインテントで、一連のライトの明るさと色の両方を設定することも、複数のライトをそれぞれ異なる色に設定することもできます。
詳細については、クエリと実行をご覧ください。
リクエスト フォーマット
| フィールド | タイプ | 説明 | 
|---|---|---|
requestId | 
    String | 
       必須。 リクエストの ID。  | 
  
inputs | 
    配列 | 
       必須。 インテント リクエストに一致する入力のリスト。  | 
  
[item, ...] | 
    オブジェクト | 
       インテントのリクエストに関連付けられているタイプとペイロード。  | 
  
intent | 
    
       必須。 (定数値:  インテントのリクエスト タイプ。  | 
  |
payload | 
    オブジェクト | 
       必須。 EXECUTE リクエスト ペイロード。  | 
  
commands | 
    配列 | 
       必須。 デバイス ターゲットとコマンドのペアのリスト。  | 
  
[item, ...] | 
    オブジェクト | 
       接続されたデバイス ターゲットで実行するコマンドのセット。  | 
  
devices | 
    配列 | 
       必須。 対象デバイスのリスト。  | 
  
[item, ...] | 
    オブジェクト | 
       実行するデバイスターゲット。  | 
  
id | 
    String | 
       必須。 デバイス ID(SYNC で指定された ID のとおり)。  | 
  
customData | 
    オブジェクト | 
       中身のわからない customData オブジェクトが SYNC で与えられている場合は、ここで送信されます。  | 
  
execution | 
    配列 | 
       必須。 ターゲット デバイスで実行するコマンドのリスト。  | 
  
[item, ...] | 
    オブジェクト | 
       デバイス コマンド。  | 
  
command | 
    String | 
       必須。 実行するコマンド。通常、パラメータを伴います。  | 
  
params | 
    オブジェクト | 
       各コマンドのパラメータに一致します。  | 
  
例
EXECUTE インテント リクエスト
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123", "customData": { "fooValue": 74, "barValue": true, "bazValue": "sheepdip" } }, { "id": "456", "customData": { "fooValue": 36, "barValue": false, "bazValue": "moarsheep" } } ], "execution": [ { "command": "action.devices.commands.OnOff", "params": { "on": true } } ] } ] } } ] }
回答の形式
| フィールド | タイプ | 説明 | 
|---|---|---|
requestId | 
    String | 
       必須。 対応するリクエストの ID。  | 
  
payload | 
    オブジェクト | 
       必須。 インテント レスポンス ペイロード。  | 
  
errorCode | 
    String | 
       トランザクション全体のエラーコード(認証が失敗した場合やデベロッパー システムが利用できない場合)。個々のデバイスのエラーには、デバイス オブジェクト内の errorCode を使用します。  | 
  
debugString | 
    String | 
       レスポンス エラーの詳細。ユーザーには表示されませんが、開発中にログに記録または使用される可能性があります。  | 
  
commands | 
    配列 | 
       各オブジェクトには、1 つ以上のデバイスとレスポンスの詳細が含まれます。注意: リクエストと同じ形ではグループ化されない可能性があります。たとえば、7 つのライトをオンにするリクエストに対して、3 つのライトが成功し、4 つが失敗した場合、レスポンスでは 2 つのグループになります。  | 
  
[item, ...] | 
    オブジェクト | 
       デバイスの実行結果。  | 
  
ids | 
    配列 | 
       必須。 このステータスに対応するデバイス ID のリスト。  | 
  
[item, ...] | 
    String | 
       デバイス ID  | 
  
status | 
    String | 
       必須。 実行オペレーションの結果。 サポートされている値: 
  | 
  
states | 
    オブジェクト | 
       各特徴スキーマ リファレンスで説明されている特徴ごとの状態と整合しています。利用可能であれば、実行後の状態を表します。  | 
  
online | 
    ブール値 | 
       デバイスがオンライン(つまり到達可能)かどうかを示します。  | 
  
errorCode | 
    String | 
       ERROR 状態を、必要に応じて、プリセットのエラーコードから拡張します。ユーザーに表示されるエラーに対応付けられます。  | 
  
debugString | 
    String | 
       コマンドレベルのエラーの詳細。ユーザーには表示されませんが、開発中にログに記録または使用される可能性があります。  | 
  
例
EXECUTE インテント レスポンス
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "on": true, "online": true } }, { "ids": [ "456" ], "status": "ERROR", "errorCode": "deviceTurnedOff" } ] } }