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: "action.devices.EXECUTE")

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:

SUCCESS
Konfirmasi bahwa perintah berhasil.
PENDING
Perintah dimasukkan ke dalam antrean, tetapi diharapkan berhasil.
OFFLINE
Perangkat target dalam keadaan offline atau tidak dapat dijangkau.
EXCEPTIONS
Terjadi masalah atau notifikasi yang terkait dengan perintah. Perintah dapat berhasil atau gagal. Jenis status ini biasanya ditetapkan ketika Anda ingin mengirim informasi tambahan tentang perangkat terhubung lainnya.
ERROR
Perangkat target tidak dapat menjalankan perintah tersebut.
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"
      }
    ]
  }
}