action.devices.SYNC
このインテントは、特定のユーザーとその機能に関連付けられているデバイスのリストをリクエストします。
アカウントのリンク時またはユーザーの操作時にトリガーされます。 ユーザーが手動でデバイスを再同期した場合。フルフィルメントは 対応しているトレイトと属性が含まれています。
SYNC
レスポンスでは、ユーザーに関連付けられているすべてのデバイスが返されます。
特定のデバイスが到達可能かどうかは判断できません。これは
QUERY
、
回答は EXECUTE
件です。
詳しくは、識別と同期をご覧ください。
リクエストの形式
フィールド | タイプ | 説明 |
---|---|---|
requestId |
String |
必須。 リクエストの ID。 |
inputs |
配列 |
必須。 インテント リクエストに一致する入力のリスト。 |
[item, ...] |
オブジェクト |
インテント リクエストに関連付けられているタイプとペイロード。 |
intent |
必須。 (定数値: インテントのリクエスト タイプ。 |
例
SYNC インテント リクエスト
{
"requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
"inputs": [
{
"intent": "action.devices.SYNC"
}
]
}
レスポンスの形式
フィールド | タイプ | 説明 |
---|---|---|
requestId |
String |
必須。 対応するリクエストの ID。 |
payload |
オブジェクト |
必須。 インテント レスポンス ペイロード。 |
agentUserId |
String |
必須。 エージェントのプラットフォーム上の一意の(不変の)ユーザー ID を反映します。この文字列は Google からは見えないため、エージェント側に不変な形式と可変な形式がある場合は、不変な形式を使用します(例: メールアドレスではなくアカウント番号)。 |
errorCode |
String |
SYNC での体系的なエラーの場合 |
debugString |
String |
エラーの詳細。ユーザーには表示されませんが、開発中にログに記録または使用される可能性があります。 |
devices |
配列 |
必須。 ユーザーが所有するデバイスのリスト。0 個以上のデバイスが返されます(0 個は、ユーザーがデバイスを持っていないか、すべてのデバイスの接続を解除したことを意味します)。 |
[item, ...] |
オブジェクト |
デバイスのメタデータ。 |
id |
String |
必須。 デベロッパーのクラウド内にあるデバイスの ID。これは、ユーザーとデベロッパーに対して一意である必要があります。共有の場合、これを使用して同じデバイスの複数のビューの重複を除去する可能性があるためです。デバイスで不変である必要があります。変更されると、アシスタントはそのデバイスを新しいデバイスとして扱います。 |
type |
String |
必須。 デバイスのハードウェアの種類。 |
traits |
配列 |
必須。 このデバイスのトレイトのリスト。デバイスがサポートするコマンド、属性、状態を定義します。 |
[item, ...] |
String |
サポートされているトレイトの名前。 |
name |
オブジェクト |
必須。 デバイスの名前。 |
defaultNames |
配列 |
ユーザーではなくデベロッパーが指定した名前のリスト(多くの場合はメーカー名、SKU など)。 |
[item, ...] |
String |
デバイスのデフォルト名。 |
name |
String |
必須。 デバイスのプライマリ名。通常はユーザーが提供します。アシスタントがレスポンスの中でデバイスを示す名前でもあります。 |
nicknames |
配列 |
ユーザーがデバイスに付けた追加の名前。 |
[item, ...] |
String |
デバイスのニックネーム。 |
willReportState |
ブール値 |
必須。 このデバイスの状態がリアルタイム フィードによって更新されるかどうかを示します(状態の報告にリアルタイム フィードを使用する場合は true、ポーリング モデルを使用する場合は false)。 |
notificationSupportedByAgent |
ブール値 |
(デフォルト: デバイスで通知が有効になっているかどうかを示します。 |
roomHint |
String |
セットアップを簡素化するために、ユーザー宅内で現在デバイスがある部屋を示します。 |
deviceInfo |
オブジェクト |
必要に応じて、1 回限りのロジックで使用するデバイスを記述するフィールドが含まれます(例: 「ライト Y のファームウェア バージョン X が破損しているため、色を調整する必要がある」、「セキュリティ上の欠陥により、ファームウェア Z をすべてのユーザーに通知する必要がある」)。 |
manufacturer |
String |
デベロッパーが他のデバイスのハブである場合に特に便利です。たとえば、TP-Link と Smartthings の両方が「osram」を同じように表すよう、Google がここでメーカーの標準リストを提供する場合があります。 |
model |
String |
特定デバイスのモデルまたは SKU ID。 |
hwVersion |
String |
ハードウェアのバージョン番号(ある場合)。 |
swVersion |
String |
ソフトウェア / ファームウェアのバージョン番号(ある場合)。 |
attributes |
オブジェクト |
各トレイト スキーマ リファレンスに記載されているトレイトごとの属性と連携。 |
customData |
オブジェクト |
今後の QUERY リクエストと EXECUTE リクエストに添付される、デベロッパーが定義したオブジェクト(デバイスあたり最大 512 バイト)。このオブジェクトを使用して、デバイスのグローバル リージョンなど、クラウド サービスが必要とする可能性のあるデバイスに関する追加情報を格納します。このオブジェクトのデータにはいくつかの制約があります。つまり、個人を特定できる情報(個人を特定できる情報を含むがこれらに限定されない)を含む機密情報が含まれていないこと。 |
otherDeviceIds |
配列 |
ローカル実行用のクラウド同期デバイスを識別するために使用される代替 ID のリスト。 |
[item, ...] |
オブジェクト |
代替デバイス ID。 |
agentId |
String |
エージェントの ID。通常、これは Actions Console のプロジェクト ID です。 |
deviceId |
String |
必須。 エージェントによって定義されたデバイス ID。デバイス ID は一意である必要があります。 |
例
SYNC インテント レスポンス
{
"requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
"payload": {
"agentUserId": "1836.15267389",
"devices": [
{
"id": "123",
"type": "action.devices.types.OUTLET",
"traits": [
"action.devices.traits.OnOff"
],
"name": {
"defaultNames": [
"My Outlet 1234"
],
"name": "Night light",
"nicknames": [
"wall plug"
]
},
"willReportState": false,
"roomHint": "kitchen",
"deviceInfo": {
"manufacturer": "lights-out-inc",
"model": "hs1234",
"hwVersion": "3.2",
"swVersion": "11.4"
},
"otherDeviceIds": [
{
"deviceId": "local-device-id"
}
],
"customData": {
"fooValue": 74,
"barValue": true,
"bazValue": "foo"
}
},
{
"id": "456",
"type": "action.devices.types.LIGHT",
"traits": [
"action.devices.traits.OnOff",
"action.devices.traits.Brightness",
"action.devices.traits.ColorSetting"
],
"name": {
"defaultNames": [
"lights out inc. bulb A19 color hyperglow"
],
"name": "lamp1",
"nicknames": [
"reading lamp"
]
},
"willReportState": false,
"roomHint": "office",
"attributes": {
"colorModel": "rgb",
"colorTemperatureRange": {
"temperatureMinK": 2000,
"temperatureMaxK": 9000
},
"commandOnlyColorSetting": false
},
"deviceInfo": {
"manufacturer": "lights out inc.",
"model": "hg11",
"hwVersion": "1.2",
"swVersion": "5.4"
},
"customData": {
"fooValue": 12,
"barValue": false,
"bazValue": "bar"
}
}
]
}
}