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"
}
]
}
}