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

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:

SUCCESS
Pastikan perintah berhasil.
PENDING
Perintah diantrekan, tetapi diharapkan berhasil.
OFFLINE
Perangkat target dalam status offline atau tidak dapat dijangkau.
EXCEPTIONS
Ada masalah atau pemberitahuan terkait perintah. Perintah dapat berhasil atau gagal. Jenis status ini biasanya disetel saat Anda ingin mengirim informasi tambahan tentang perangkat lain yang terhubung.
ERROR
Perangkat target tidak dapat menjalankan perintah.
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"
      }
    ]
  }
}