action.devices.SYNC
Intent ini meminta daftar perangkat yang terkait dengan pengguna tertentu dan kemampuannya.
Hal 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 harus menampilkan semua perangkat yang terkait dengan pengguna.
Hal ini tidak menentukan apakah perangkat tertentu dapat dijangkau. 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 intent. |
[item, ...] |
Objek |
Jenis dan payload yang terkait dengan permintaan intent. |
intent |
Wajib. (Nilai konstanta: Jenis permintaan intent. |
Contoh
Permintaan intent sinkronisasi
{ "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 jelas untuk 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 akun, bukan email). |
errorCode |
String |
Untuk kesalahan sistematis pada SYNC |
debugString |
String |
Error mendetail yang tidak akan 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 semuanya). |
[item, ...] |
Objek |
Metadata perangkat. |
id |
String |
Wajib. ID perangkat di cloud developer. Ini harus unik bagi pengguna dan developer, karena dalam kasus berbagi, kita dapat menggunakannya untuk menghilangkan beberapa tampilan dari perangkat yang sama. Sandi tidak dapat diubah untuk perangkat; jika berubah, Asisten akan memperlakukannya sebagai perangkat baru. |
type |
String |
Wajib. Jenis hardware perangkat. |
traits |
Array |
Wajib. Daftar karakteristik 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 dalam nama produsen, SKU, dll. |
[item, ...] |
String |
Nama default perangkat. |
name |
String |
Wajib. Nama utama perangkat, umumnya diberikan oleh pengguna. Ini juga merupakan nama yang akan dipilih Asisten untuk mendeskripsikan perangkat sebagai 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 oleh Feed Real Time. (benar untuk menggunakan Feed Real Time untuk status pelaporan, dan false untuk menggunakan model polling.) |
notificationSupportedByAgent |
Boolean |
(Default: Menunjukkan apakah notifikasi diaktifkan untuk perangkat. |
roomHint |
String |
Menyediakan ruang 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, 'versi firmware rusak X cahaya Y memerlukan penyesuaian warna', atau 'kerusakan keamanan memerlukan pemberitahuan semua pengguna firmware Z'). |
manufacturer |
String |
Hal ini sangat berguna terutama saat developer adalah hub untuk perangkat lain. Google dapat menyediakan daftar standar produsen di sini, misalnya TP-Link dan Smartthings dengan cara yang sama menjelaskan 'osram'. |
model |
String |
ID SKU atau model perangkat tertentu. |
hwVersion |
String |
Nomor versi tertentu yang dilampirkan ke hardware jika tersedia. |
swVersion |
String |
Nomor versi khusus yang dilampirkan ke software/firmware, jika tersedia. |
attributes |
Objek |
Selaras dengan atribut per fitur yang dijelaskan dalam setiap referensi skema fitur. |
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 namun tidak terbatas pada Informasi Identitas Pribadi. |
otherDeviceIds |
Array |
Daftar ID alternatif yang digunakan untuk mengidentifikasi perangkat yang disinkronkan dengan 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
Menanggapi respons intent
{ "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" } } ] } }