action.devices.EXECUTE
Intent ini mengirim perintah untuk dijalankan di perangkat smart home.
Fulfillment Anda harus memproses setiap perintah, mengirimkannya ke perangkat yang sesuai, dan menampilkan
status baru dalam respons EXECUTE
.
Satu intent EXECUTE
dapat menargetkan beberapa perangkat dengan beberapa perintah.
Misalnya, intent yang dipicu dapat menetapkan kecerahan dan warna pada serangkaian lampu atau dapat menetapkan beberapa lampu ke warna yang berbeda.
Untuk mengetahui detail selengkapnya, lihat Membuat kueri dan menjalankannya.
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. |
|
payload |
Objek |
Wajib. Payload permintaan EXECUTE. |
commands |
Array |
Wajib. Daftar pasangan target dan perintah perangkat. |
[item, ...] |
Objek |
Kumpulan perintah yang akan dieksekusi di target perangkat yang terpasang. |
devices |
Array |
Wajib. Daftar perangkat target. |
[item, ...] |
Objek |
Target perangkat yang akan dieksekusi. |
id |
String |
Wajib. ID Perangkat, sesuai dengan ID yang diberikan di SYNC. |
customData |
Objek |
Jika objek customData buram disediakan di SYNC, objek tersebut akan dikirim ke sini. |
execution |
Array |
Wajib. Daftar perintah yang akan dieksekusi di perangkat target. |
[item, ...] |
Objek |
Perintah perangkat. |
command |
String |
Wajib. Perintah yang akan dieksekusi, biasanya dengan parameter yang menyertainya. |
params |
Objek |
Selaras dengan parameter untuk setiap perintah. |
Contoh
Permintaan intent 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 } } ] } ] } } ] }
Format respons
Kolom | Jenis | Deskripsi |
---|---|---|
requestId |
String |
Wajib. ID permintaan yang sesuai. |
payload |
Objek |
Wajib. Payload respons intent. |
errorCode |
String |
Kode error untuk seluruh transaksi karena kegagalan autentikasi dan ketidaktersediaan sistem developer. Untuk setiap error perangkat, gunakan errorCode dalam objek perangkat. |
debugString |
String |
Error respons mendetail yang tidak akan pernah ditampilkan kepada pengguna, tetapi dapat dicatat ke dalam log atau digunakan selama pengembangan. |
commands |
Array |
Setiap objek berisi satu atau beberapa perangkat dengan detail respons. Catatan: Ini mungkin tidak dikelompokkan dengan cara yang sama seperti dalam permintaan. Misalnya, permintaan dapat menyalakan 7 lampu, dengan 3 lampu berhasil dan 4 gagal, sehingga ada dua grup dalam respons. |
[item, ...] |
Objek |
Hasil eksekusi perangkat. |
ids |
Array |
Wajib. Daftar ID perangkat yang sesuai dengan status ini. |
[item, ...] |
String |
ID Perangkat. |
status |
String |
Wajib. Hasil operasi eksekusi. Nilai yang didukung:
|
states |
Objek |
Selaras dengan status per sifat yang dijelaskan dalam setiap referensi skema sifat. Ini adalah status setelah eksekusi, jika tersedia. |
online |
Boolean |
Menunjukkan apakah perangkat online (yaitu, dapat dijangkau) atau tidak. |
errorCode |
String |
Memperluas status ERROR jika diperlukan dari kode error preset, yang akan dipetakan ke error yang ditampilkan kepada pengguna. |
debugString |
String |
Error tingkat perintah mendetail yang tidak akan pernah ditampilkan kepada pengguna, tetapi dapat dicatat ke dalam log atau digunakan selama pengembangan. |
Contoh
Respons intent EXECUTE
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "on": true, "online": true } }, { "ids": [ "456" ], "status": "ERROR", "errorCode": "deviceTurnedOff" } ] } }