action.devices.SYNC
Intent ini meminta daftar perangkat yang terkait dengan pengguna tertentu dan kemampuannya.
Ini dipicu selama penautan akun atau saat pengguna menyinkronkan ulang perangkat mereka secara manual. fulfillment Anda harus merespons dengan karakteristik dan atribut yang didukung untuk setiap perangkat.
Respons SYNC
Anda akan menampilkan semua perangkat yang terkait dengan pengguna.
Tindakan ini tidak menentukan apakah ada perangkat tertentu yang dapat dijangkau. Hal ini ditangani oleh
QUERY
dan
EXECUTE
respons.
Untuk mengetahui detail selengkapnya, lihat Mengidentifikasi dan menyinkronkan.
Format permintaan
Kolom | Jenis | Deskripsi |
---|---|---|
requestId |
String |
Wajib. ID permintaan. |
inputs |
Array |
Wajib. Daftar input yang cocok dengan permintaan intent. |
[item, ...] |
Objek |
Jenis dan payload yang terkait dengan permintaan intent. |
intent |
Wajib. (Nilai konstanta: Jenis permintaan intent. |
Contoh
Permintaan intent SYNC
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "inputs": [ { "intent": "action.devices.SYNC" } ] }
Format respons
Kolom | Jenis | Deskripsi |
---|---|---|
requestId |
String |
Wajib. ID permintaan terkait. |
payload |
Objek |
Wajib. Payload respons intent. |
agentUserId |
String |
Wajib. Mencerminkan ID pengguna unik (dan tidak dapat diubah) pada platform agen. String ini buram bagi Google, jadi jika ada formulir yang tidak dapat diubah vs bentuk yang dapat diubah di sisi agen, gunakan bentuk yang tidak dapat diubah (misalnya, nomor rekening, bukan email). |
errorCode |
String |
Untuk error sistematis pada SYNC |
debugString |
String |
{i>Error<i} terperinci yang tidak akan pernah ditampilkan kepada pengguna tetapi mungkin dicatat atau digunakan selama pengembangan. |
devices |
Array |
Wajib. Daftar perangkat yang dimiliki pengguna. Nol atau beberapa perangkat ditampilkan (tidak ada perangkat yang berarti pengguna tidak memiliki perangkat, atau telah memutuskan sambungan semua perangkat). |
[item, ...] |
Objek |
Metadata perangkat. |
id |
String |
Wajib. ID perangkat di cloud developer. Nama ini harus unik bagi pengguna dan developer, karena dalam kasus berbagi, kami dapat menggunakannya untuk menghapus beberapa tampilan dari perangkat yang sama. Nilai ini harus tidak dapat diubah untuk perangkat; jika berubah, Asisten akan memperlakukannya sebagai perangkat baru. |
type |
String |
Wajib. Jenis hardware perangkat. |
traits |
Array |
Wajib. Daftar karakteristik yang dimiliki perangkat ini. Ini mendefinisikan perintah, atribut, dan status yang didukung perangkat. |
[item, ...] |
String |
Nama karakteristik yang didukung. |
name |
Objek |
Wajib. Nama perangkat ini. |
defaultNames |
Array |
Daftar nama yang diberikan oleh developer, bukan pengguna, sering kali nama produsen, SKU, dll. |
[item, ...] |
String |
Nama default perangkat. |
name |
String |
Wajib. Nama utama perangkat, umumnya diberikan oleh pengguna. Nama ini juga akan digunakan Asisten untuk mendeskripsikan perangkat dalam respons. |
nicknames |
Array |
Nama tambahan yang diberikan oleh pengguna untuk perangkat. |
[item, ...] |
String |
Nama panggilan perangkat. |
willReportState |
Boolean |
Wajib. Menunjukkan apakah status perangkat ini akan diperbarui melalui Feed Real Time. (benar untuk menggunakan Feed Real Time untuk status pelaporan, dan salah untuk menggunakan model polling.) |
notificationSupportedByAgent |
Boolean |
(Default: Menunjukkan apakah notifikasi diaktifkan untuk perangkat. |
roomHint |
String |
Memberikan ruangan perangkat saat ini di rumah pengguna untuk menyederhanakan penyiapan. |
deviceInfo |
Objek |
Berisi kolom yang menjelaskan perangkat untuk digunakan dalam logika satu kali jika diperlukan (misalnya, 'firmware rusak versi X dari cahaya Y memerlukan penyesuaian warna', atau 'kerusakan keamanan perlu memberi tahu semua pengguna tentang firmware Z'). |
manufacturer |
String |
Hal ini sangat berguna jika developer menjadi pusat untuk perangkat lain. Google dapat memberikan daftar produsen standar di sini sehingga mis. TP-Link dan Smartthings keduanya menggambarkan 'osram' dengan cara yang sama. |
model |
String |
Model atau ID SKU perangkat tertentu. |
hwVersion |
String |
Nomor versi spesifik yang terpasang ke hardware jika tersedia. |
swVersion |
String |
Nomor versi spesifik yang disertakan pada software/firmware, jika tersedia. |
attributes |
Objek |
Disesuaikan dengan atribut per karakteristik yang dijelaskan di setiap referensi skema karakteristik. |
customData |
Objek |
Objek yang ditentukan oleh developer yang akan dilampirkan ke permintaan QUERY dan EXECUTE mendatang, maksimum 512 byte per perangkat. Gunakan objek ini untuk menyimpan informasi tambahan tentang perangkat yang mungkin diperlukan layanan cloud Anda, seperti region global perangkat. Data dalam objek ini memiliki beberapa batasan: Tidak ada informasi sensitif, termasuk tetapi tidak terbatas pada Informasi Identitas Pribadi. |
otherDeviceIds |
Array |
Daftar ID alternatif yang digunakan untuk mengidentifikasi perangkat yang disinkronkan di cloud untuk eksekusi lokal. |
[item, ...] |
Objek |
ID perangkat alternatif. |
agentId |
String |
ID agen. Umumnya, ini adalah project ID di konsol Actions. |
deviceId |
String |
Wajib. ID perangkat yang ditentukan oleh agen. ID perangkat harus unik. |
Contoh
Respons intent 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" } } ] } }