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