action.devices.EXECUTE

Bu intent, akıllı ev cihazlarında çalıştırılacak komutlar gönderir.

Yerine getirmeniz her komutu işlemeli, ilgili cihaza iletmeli ve EXECUTE yanıtında yeni durumu döndürmelidir.

Tek bir EXECUTE intent, birden fazla komutla birden fazla cihazı hedefleyebilir. Örneğin, tetiklenen bir intent, bir ışık grubunun hem parlaklığını hem de rengini ayarlayabilir veya birden fazla ışığı farklı renklere ayarlayabilir.

Daha fazla bilgi için Sorgu oluşturma ve yürütme bölümüne bakın.

İstek biçimi

Alanlar Tür Açıklama
requestId String

Zorunludur.

İsteğin kimliği.

inputs Dizi

Zorunludur.

Intent isteğiyle eşleşen girişlerin listesi.

[item, ...] Nesne

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

intent

Zorunludur.

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

Intent istek türü.

payload Nesne

Zorunludur.

EXECUTE istek yükü.

commands Dizi

Zorunludur.

Cihaz hedefi ve komut çiftlerinin listesi.

[item, ...] Nesne

Ekli cihaz hedeflerinde çalıştırılacak komutlar grubu.

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

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

execution Dizi

Zorunludur.

Hedef cihazlarda çalıştırılacak 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 olmalıdır.

Örnekler

EXECUTE intent request

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

Yetkilendirme hataları ve geliştirici sisteminin kullanılamaması nedeniyle işlemin tamamı için bir hata kodu. Tek tek cihaz hataları için cihaz nesnesinde errorCode değerini kullanın.

debugString String

Kullanıcılara hiçbir zaman gösterilmeyecek ancak geliştirme sırasında kaydedilebilecek veya kullanılabilecek ayrıntılı yanıt hatası.

commands Dizi

Her nesne, yanıt ayrıntılarını içeren bir veya daha fazla cihaz içerir. Not: Bunlar, istektekiyle aynı şekilde gruplandırılmayabilir. Örneğin, istek 7 ışığı açabilir. Bu durumda, 3 ışık başarılı olurken 4 ışık başarısız olur ve yanıtta iki grup bulunur.

[item, ...] Nesne

Cihaz yürütme sonucu.

ids Dizi

Zorunludur.

Bu duruma karşılık gelen cihaz kimlikleri 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.
EXCEPTIONS
Bir komutla ilişkili bir sorun veya uyarı var. Komut başarılı veya başarısız olabilir. Bu durum türü genellikle başka bir bağlı cihazla ilgili 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 uyumludur. Bunlar, varsa yürütme sonrası durumlar.

online Boole

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

errorCode String

Gerekirse önceden ayarlanmış hata kodlarından ERROR durumunu genişleterek kullanıcılara sunulan hatalarla eşleştirin.

debugString String

Kullanıcılara hiçbir zaman gösterilmeyen ancak geliştirme sırasında kaydedilebilen veya kullanılabilen ayrıntılı komut düzeyinde hata.

Örnekler

EXECUTE intent response

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