action.cihazlar.EXECUTE

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

Sipariş karşılama işlemi her komutu işlemeli, ilgili cihaza iletmeli ve EXECUTE yanıtında yeni durumu döndürmelidir.

Tek bir EXECUTE amacı, birden fazla komutla birden fazla cihazı hedefleyebilir. Örneğin, tetiklenen bir amaç bir grup ışıkta hem parlaklığı hem de rengi ayarlayabilir veya birden fazla ışığın her birini farklı bir renge ayarlayabilir.

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

İstek biçimi

Alanlar Tür Açıklama
requestId Dize

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.

Yürütme isteği yükü.

commands Dizi

Zorunludur.

Cihaz hedefi ve komut çiftleri listesi.

[item, ...] Nesne

Ekli cihaz hedeflerinde yürütülecek komut grubu.

devices Dizi

Zorunludur.

Hedef cihazların listesi.

[item, ...] Nesne

Yürütülecek cihaz hedefi.

id Dize

Zorunludur.

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

customData Nesne

Opak customData nesnesi SYNC'de sağlanmışsa buraya gönderilir.

execution Dizi

Zorunludur.

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

[item, ...] Nesne

Cihaz komutu.

command Dize

Zorunludur.

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

params Nesne

Her bir komutun parametreleriyle uyumlu.

Örnekler

Yürütme isteği

{
  "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 Dize

Zorunludur.

İlgili isteğin kimliği.

payload Nesne

Zorunludur.

Intent yanıt yükü.

errorCode Dize

Kimlik doğrulama hataları ve geliştirici sisteminin kullanılamaması ile ilgili işlemin tamamı için hata kodu. Cihaz hataları için cihaz nesnesindeki errorCode'u kullanın.

debugString Dize

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

commands Dizi

Her nesne, yanıt ayrıntılarına sahip bir veya daha fazla cihaz içerir. Not: Bunlar istekteki gibi gruplandırılamaz. Örneğin, istek 7 ışığı açabilir, 3 ışık başarılı ve 4 başarısız olabilir, dolayısıyla yanıtta iki grup olabilir.

[item, ...] Nesne

Cihaz yürütme sonucu.

ids Dizi

Zorunludur.

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

[item, ...] Dize

Cihaz kimliği.

status Dize

Zorunludur.

Yürütme işleminin sonucu.

Desteklenen değerler:

SUCCESS
Komutun başarılı olduğunu doğrulayın.
PENDING
Komut sıraya alındı ancak başarıyla tamamlanması bekleniyor.
OFFLINE
Hedef cihaz çevrimdışı durumda veya erişilemez.
EXCEPTIONS
Bir komutla ilişkili sorun veya uyarı var. Komut başarılı veya başarısız olabilir. Bu durum türü, genellikle bağlı başka bir 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 durumlara uygun şekilde ayarlanır. Varsa yürütmeden sonraki durumlardır.

online Boole

Cihazın online (yani erişilebilir) olup olmadığını belirtir.

errorCode Dize

Gerektiğinde, kullanıcılara sunulan hataları eşleyecek hazır hata hata kodlarından kaynaklanan ERROR durumu genişletiliyor.

Örnekler

UYGULAMA YANITI DEVAM ET

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