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

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:

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