action.devices.EXECUTE
Intent ini mengirimkan perintah untuk dieksekusi di perangkat smart home.
fulfillment Anda harus memproses setiap perintah, mengirimkannya ke perangkat yang sesuai, dan mengembalikan
status baru dalam respons EXECUTE
.
Satu intent EXECUTE
dapat menargetkan beberapa perangkat dengan beberapa perintah.
Misalnya, intent yang dipicu dapat mengatur kecerahan dan warna pada serangkaian
lampu atau dapat mengatur beberapa lampu
masing-masing dengan warna yang berbeda.
Untuk mengetahui detail selengkapnya, lihat Kueri dan jalankan.
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. MENGeksekusi payload permintaan. |
commands |
Array |
Wajib. Daftar pasangan target dan perintah perangkat. |
[item, ...] |
Objek |
Serangkaian perintah yang akan dieksekusi pada target perangkat yang terpasang. |
devices |
Array |
Wajib. Daftar perangkat target. |
[item, ...] |
Objek |
Target perangkat yang akan dieksekusi. |
id |
String |
Wajib. ID Perangkat, sesuai ID yang diberikan dalam SYNC. |
customData |
Objek |
Jika objek customData buram diberikan di SYNC, objek tersebut akan dikirim di sini. |
execution |
Array |
Wajib. Daftar perintah yang akan dieksekusi pada perangkat target. |
[item, ...] |
Objek |
Perintah perangkat. |
command |
String |
Wajib. Perintah untuk dieksekusi, biasanya dengan parameter yang menyertainya. |
params |
Objek |
Selaras dengan parameter untuk setiap perintah. |
Contoh
Mengeksekusi permintaan intent
{ "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 terkait. |
payload |
Objek |
Wajib. Payload respons intent. |
errorCode |
String |
Kode error untuk seluruh transaksi untuk kegagalan autentikasi dan ketidaktersediaan sistem developer. Untuk error perangkat individual, gunakan errorCode dalam objek perangkat. |
debugString |
String |
{i>Error<i} terperinci yang tidak akan pernah ditampilkan kepada pengguna tetapi mungkin dicatat atau digunakan selama pengembangan. |
commands |
Array |
Setiap objek berisi satu atau beberapa perangkat dengan detail respons. T.B. Topik 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 dua kelompok sebagai 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 dari operasi yang dijalankan. Nilai yang didukung:
|
states |
Objek |
Selaras dengan status per karakteristik yang dijelaskan di setiap referensi skema karakteristik. Ini adalah status setelah eksekusi, jika tersedia. |
online |
Boolean |
Menunjukkan apakah perangkat online (dapat dijangkau) atau tidak. |
errorCode |
String |
Memperluas status ERROR jika diperlukan dari kode error preset, yang akan memetakan ke error yang ditampilkan kepada pengguna. |
Contoh
MELAKSANAKAN respons intent
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "on": true, "online": true } }, { "ids": [ "456" ], "status": "ERROR", "errorCode": "deviceTurnedOff" } ] } }