action.devices.EXECUTE
Intent ini mengirimkan perintah untuk dieksekusi pada perangkat smart home.
fulfillment Anda harus memproses setiap perintah, mengirimkannya ke perangkat yang sesuai, dan menampilkan
status baru di respons EXECUTE
.
Satu intent EXECUTE
dapat menargetkan beberapa perangkat dengan beberapa perintah.
Misalnya, intent yang dipicu dapat menetapkan kecerahan dan warna pada kumpulan
lampu atau menetapkan beberapa lampu masing-masing ke warna yang berbeda.
Untuk mengetahui detail selengkapnya, lihat Kueri dan eksekusi.
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. EXECUTE payload permintaan. |
commands |
Array |
Wajib. Daftar pasangan perangkat dan target perangkat. |
[item, ...] |
Objek |
Kumpulan perintah yang akan dijalankan di target perangkat yang terpasang. |
devices |
Array |
Wajib. Daftar perangkat target. |
[item, ...] |
Objek |
Target perangkat untuk dieksekusi. |
id |
String |
Wajib. ID Perangkat, sesuai dengan ID yang disediakan di SYNC. |
customData |
Objek |
Jika objek customData buram disediakan di SYNC, objek tersebut akan dikirim di sini. |
execution |
Array |
Wajib. Daftar perintah yang akan dijalankan pada perangkat target. |
[item, ...] |
Objek |
Perintah perangkat. |
command |
String |
Wajib. Perintah untuk mengeksekusi, biasanya dengan parameter yang menyertainya. |
params |
Objek |
Selaras dengan parameter untuk setiap perintah. |
Contoh
Permintaan intent EKSEKUSI
{ "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 terkait kegagalan autentikasi dan ketidaktersediaan sistem developer. Untuk masing-masing error perangkat, gunakan errorCode dalam objek perangkat. |
debugString |
String |
Error mendetail yang tidak akan ditampilkan kepada pengguna, tetapi mungkin dicatat atau digunakan selama pengembangan. |
commands |
Array |
Setiap objek berisi satu atau beberapa perangkat dengan detail respons. N.B. Ini mungkin tidak dikelompokkan dengan cara yang sama seperti dalam permintaan. Misalnya, permintaan mungkin menyalakan 7 lampu, dengan 3 lampu berhasil dan 4 lampu gagal, sehingga dengan 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 fitur yang dijelaskan dalam setiap referensi skema fitur. 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. |
Contoh
EVES intent respons
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "on": true, "online": true } }, { "ids": [ "456" ], "status": "ERROR", "errorCode": "deviceTurnedOff" } ] } }