action.devices.SYNC
Maksud ini meminta daftar perangkat yang terkait dengan pengguna tertentu dan kemampuannya.
Peristiwa ini dipicu selama penautan akun atau saat pengguna menyinkronkan ulang perangkatnya secara manual. Pemenuhan Anda harus merespons dengan atribut dan karakteristik yang didukung untuk setiap perangkat.
Respons SYNC
Anda harus menampilkan semua perangkat yang terkait dengan pengguna.
Hal ini tidak menentukan apakah perangkat tertentu dapat dijangkau. Hal ini ditangani oleh respons
QUERY
dan
EXECUTE
.
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 maksud. |
[item, ...] |
Objek |
Jenis dan payload yang terkait dengan permintaan intent. |
intent |
Wajib. (Nilai konstanta: Jenis permintaan intent. |
Contoh
Permintaan maksud SYNC
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "inputs": [ { "intent": "action.devices.SYNC" } ] }
Format respons
Kolom | Jenis | Deskripsi |
---|---|---|
requestId |
String |
Wajib. ID permintaan yang sesuai. |
payload |
Objek |
Wajib. Payload respons intent. |
agentUserId |
String |
Wajib. Mencerminkan ID pengguna unik (dan tidak dapat diubah) di platform agen. String ini tidak transparan bagi Google, jadi jika ada formulir yang tidak dapat diubah vs. formulir yang dapat diubah di sisi agen, gunakan formulir yang tidak dapat diubah (misalnya, nomor rekening, bukan email). |
errorCode |
String |
Untuk error sistematis di SYNC |
debugString |
String |
Error mendetail yang tidak akan pernah ditampilkan kepada pengguna, tetapi dapat dicatat atau digunakan selama pengembangan. |
devices |
Array |
Wajib. Daftar perangkat yang dimiliki pengguna. Nol atau lebih banyak perangkat ditampilkan (nol perangkat berarti pengguna tidak memiliki perangkat, atau telah membatalkan tautan semua perangkat). |
[item, ...] |
Objek |
Metadata perangkat. |
id |
String |
Wajib. ID perangkat di cloud developer. ID ini harus unik untuk pengguna dan developer, karena dalam kasus berbagi, kami dapat menggunakan ID ini untuk menghapus duplikat beberapa tampilan perangkat yang sama. ID ini harus tidak dapat diubah untuk perangkat; jika ID ini berubah, Asisten akan memperlakukannya sebagai perangkat baru. |
type |
String |
Wajib. Jenis hardware perangkat. |
traits |
Array |
Wajib. Daftar trait yang dimiliki perangkat ini. Hal ini menentukan perintah, atribut, dan status yang didukung perangkat. |
[item, ...] |
String |
Nama karakteristik yang didukung. |
name |
Objek |
Wajib. Nama perangkat ini. |
defaultNames |
Array |
Daftar nama yang disediakan oleh developer, bukan pengguna, sering kali berupa nama produsen, SKU, dll. |
[item, ...] |
String |
Nama default perangkat. |
name |
String |
Wajib. Nama utama perangkat, umumnya diberikan oleh pengguna. Nama ini juga merupakan nama yang akan lebih disukai Asisten untuk mendeskripsikan perangkat dalam respons. Nama akan dipangkas jika melebihi batas 60 titik kode Unicode (karakter) dan tidak ada error yang akan ditampilkan. Developer bertanggung jawab untuk menangani nama panjang. |
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 oleh Feed Real Time. (benar untuk menggunakan Feed Real Time untuk melaporkan status, dan salah untuk menggunakan model polling.) |
notificationSupportedByAgent |
Boolean |
(Default: Menunjukkan apakah notifikasi diaktifkan untuk perangkat. |
roomHint |
String |
Menyediakan ruangan saat ini dari perangkat di rumah pengguna untuk menyederhanakan penyiapan. |
deviceInfo |
Objek |
Berisi kolom yang menjelaskan perangkat untuk digunakan dalam logika sekali pakai jika diperlukan (misalnya, 'versi firmware X yang rusak pada lampu Y memerlukan penyesuaian warna', atau 'kelemahan keamanan mengharuskan semua pengguna firmware Z diberi tahu'). |
manufacturer |
String |
Sangat berguna saat developer adalah hub untuk perangkat lain. Google dapat menyediakan daftar standar produsen di sini sehingga, misalnya, TP-Link dan Smartthings mendeskripsikan 'osram' dengan cara yang sama. |
model |
String |
ID model atau SKU perangkat tertentu. |
hwVersion |
String |
Nomor versi spesifik yang terlampir pada hardware jika tersedia. |
swVersion |
String |
Nomor versi spesifik yang dilampirkan ke software/firmware, jika tersedia. |
attributes |
Objek |
Sejajar dengan atribut per-trait yang dijelaskan dalam setiap referensi skema trait. |
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 oleh layanan cloud Anda, seperti wilayah 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 ke cloud untuk eksekusi lokal. |
[item, ...] |
Objek |
ID perangkat alternatif. |
agentId |
String |
ID agen. Biasanya, 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" } } ] } }