action.devices.EXECUTE

Bu amaç, akıllı ev cihazlarında yürütülecek komutlar gönderir.

Sipariş karşılama işleminiz her komutu işlemeli, ilgili cihaza iletmeli ve EXECUTE yanıtındaki yeni durum

Tek bir EXECUTE amacı, birden fazla komutla birden çok cihazı hedefleyebilir. Örneğin, tetiklenen bir amaç, bir grup cihazda hem parlaklığı hem de rengi ayarlayabilir veya birden fazla ışığı farklı renklere ayarlayabilirsiniz.

Daha fazla bilgi için Sorgu ve yürütme bölümünü inceleyin.

İstek biçimi

Alanlar Tür Açıklama
requestId String

Zorunludur.

İsteğin kimliği.

inputs Dizi

Zorunludur.

Amaç isteğiyle eşleşen girişlerin listesi.

[item, ...] Nesne

Amaç isteğiyle ilişkili tür ve yük.

intent

Zorunludur.

(Sabit değer: "action.devices.EXECUTE")

Amaç istek türü.

payload Nesne

Zorunludur.

İstek yükünü UYGULAMA

commands Dizi

Zorunludur.

Cihaz hedefi ve komut çiftlerinin listesi.

[item, ...] Nesne

Ekli cihaz hedeflerinde yürütülecek komut kümesi.

devices Dizi

Zorunludur.

Hedef cihazların listesi.

[item, ...] Nesne

Yürütülecek cihaz hedefi.

id String

Zorunludur.

SYNC'te sağlanan kimliğe göre cihaz kimliği.

customData Nesne

Opak customData nesnesi SYNC'te sağlanırsa buraya gönderilir.

execution Dizi

Zorunludur.

Hedef cihazlarda yürütülecek komutların listesi.

[item, ...] Nesne

Cihaz komutu.

command String

Zorunludur.

Genellikle eşlik eden parametrelerle birlikte yürütülecek komut.

params Nesne

Her komutun parametreleriyle uyumlu olur.

Örnekler

Amaç isteğini yürütün

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

Yanıt biçimi

Alanlar Tür Açıklama
requestId String

Zorunludur.

İlgili isteğin kimliği.

payload Nesne

Zorunludur.

Intent yanıtı yükü.

errorCode String

Kimlik doğrulama hataları ve geliştirici sisteminin kullanılamamasıyla ilgili işlemin tamamına yönelik bir hata kodu. Bağımsız cihaz hataları için cihaz nesnesindeki errorCode'u kullanın.

debugString String

Kullanıcılara hiçbir zaman gösterilmeyecek olan ancak geliştirme sırasında günlüğe kaydedilebilen veya kullanılabilecek ayrıntılı hata.

commands Dizi

Her nesnede, yanıt ayrıntılarına sahip bir veya daha fazla cihaz bulunur. Not: Bunlar, istekteki gibi gruplandırılamaz. Örneğin, istek 7 ışığı açabilir, 3 lamba başarılı, 4 ışık yanıp sönebilir. Bunun sonucunda da yanıtta iki grup olur.

[item, ...] Nesne

Cihaz yürütme sonucu.

ids Dizi

Zorunludur.

Bu duruma karşılık gelen cihaz kimliklerinin listesi.

[item, ...] String

Cihaz kimliği.

status String

Zorunludur.

Yürütme işleminin sonucu.

Desteklenen değerler:

SUCCESS
Komutun başarılı olduğunu onaylayın.
PENDING
Komut sıraya alındı ancak başarılı olması bekleniyor.
OFFLINE
Hedef cihaz çevrimdışı durumda veya erişilemez durumda.
EXCEPTIONS
Bir komutla ilişkili bir sorun veya uyarı varsa. Komut başarılı veya başarısız olabilir. Bu durum türü genellikle başka bir bağlı cihaz hakkında ek bilgi göndermek istediğinizde ayarlanır.
ERROR
Hedef cihaz, komutu gerçekleştiremiyor.
states Nesne

Her özellik şeması referansında açıklanan özellik başına durumlarla hizalanır. Bunlar, varsa yürütme işleminden sonraki durumlardır.

online Boole

Cihazın online (yani erişilebilir) olup olmadığını gösterir.

errorCode String

Gerekirse önceden ayarlanmış hata kodlarından, kullanıcılara sunulan hatalarla eşlenecek HATA durumu genişletilir.

Örnekler

Amaç yanıtını Yürütme

{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "on": true,
          "online": true
        }
      },
      {
        "ids": [
          "456"
        ],
        "status": "ERROR",
        "errorCode": "deviceTurnedOff"
      }
    ]
  }
}