action.devices.EXECUTE
यह इंटेंट, स्मार्ट होम डिवाइसों पर निर्देश भेजता है.
आपके फ़ुलफ़िलमेंट को हर निर्देश को प्रोसेस करना चाहिए, उसे संबंधित डिवाइस पर भेजना चाहिए, और EXECUTE
रिस्पॉन्स में नई स्थिति दिखानी चाहिए.
एक EXECUTE
इंटेंट, कई निर्देशों के साथ कई डिवाइसों को टारगेट कर सकता है.
उदाहरण के लिए, ट्रिगर किया गया इंटेंट, लाइट के सेट पर चमक और रंग, दोनों को सेट कर सकता है. इसके अलावा, एक से ज़्यादा लाइटों को अलग-अलग रंग में सेट कर सकता है.
ज़्यादा जानकारी के लिए, क्वेरी करना और उसे लागू करना देखें.
अनुरोध का फ़ॉर्मैट
फ़ील्ड | टाइप | ब्यौरा |
---|---|---|
requestId |
String |
ज़रूरी है. अनुरोध का आईडी. |
inputs |
कलेक्शन |
ज़रूरी है. इंटेंट के अनुरोध से मैच करने वाले इनपुट की सूची. |
[item, ...] |
ऑब्जेक्ट |
इंटेंट अनुरोध से जुड़ा टाइप और पेलोड. |
intent |
ज़रूरी है. (कॉन्स्टेंट वैल्यू: इंटेंट के अनुरोध का टाइप. |
|
payload |
ऑब्जेक्ट |
ज़रूरी है. EXECUTE request payload. |
commands |
कलेक्शन |
ज़रूरी है. डिवाइस टारगेट और निर्देश के पेयर की सूची. |
[item, ...] |
ऑब्जेक्ट |
अटैच किए गए डिवाइस टारगेट पर लागू करने के लिए निर्देशों का सेट. |
devices |
कलेक्शन |
ज़रूरी है. टारगेट किए गए डिवाइसों की सूची. |
[item, ...] |
ऑब्जेक्ट |
डिवाइस टारगेट, जिसे लागू करना है. |
id |
String |
ज़रूरी है. डिवाइस आईडी, जो SYNC में दिए गए आईडी के हिसाब से होता है. |
customData |
ऑब्जेक्ट |
अगर SYNC में ओपैक कस्टम डेटा ऑब्जेक्ट दिया जाता है, तो उसे यहां भेजा जाता है. |
execution |
कलेक्शन |
ज़रूरी है. टारगेट किए गए डिवाइसों पर लागू करने के लिए निर्देशों की सूची. |
[item, ...] |
ऑब्जेक्ट |
डिवाइस के लिए निर्देश. |
command |
String |
ज़रूरी है. आम तौर पर, पैरामीटर के साथ इस्तेमाल किया जाने वाला कमांड. |
params |
ऑब्जेक्ट |
हर निर्देश के पैरामीटर के साथ अलाइन किया गया. |
उदाहरण
इंटेंट के अनुरोध को लागू करना
{ "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 } } ] } ] } } ] }
रिस्पॉन्स का फ़ॉर्मैट
फ़ील्ड | टाइप | ब्यौरा |
---|---|---|
requestId |
String |
ज़रूरी है. उससे जुड़े अनुरोध का आईडी. |
payload |
ऑब्जेक्ट |
ज़रूरी है. इंटेंट रिस्पॉन्स पेलोड. |
errorCode |
String |
पुष्टि न हो पाने और डेवलपर सिस्टम उपलब्ध न होने की वजह से, पूरे लेन-देन के लिए गड़बड़ी का कोड. डिवाइस से जुड़ी अलग-अलग गड़बड़ियों के लिए, डिवाइस ऑब्जेक्ट में errorCode का इस्तेमाल करें. |
debugString |
String |
गड़बड़ी के बारे में ज़्यादा जानकारी देने वाला जवाब, जो उपयोगकर्ताओं को कभी नहीं दिखाया जाएगा. हालांकि, इसे डेवलपमेंट के दौरान लॉग किया जा सकता है या इसका इस्तेमाल किया जा सकता है. |
commands |
कलेक्शन |
हर ऑब्जेक्ट में, जवाब की जानकारी वाले एक या एक से ज़्यादा डिवाइस होते हैं. ध्यान दें, हो सकता है कि इन्हें अनुरोध में बताए गए तरीके से ग्रुप न किया गया हो. उदाहरण के लिए, अनुरोध से सात लाइटें चालू हो सकती हैं, जिनमें से तीन लाइटें चालू होंगी और चार लाइटें नहीं होंगी. इसलिए, जवाब में दो ग्रुप होंगे. |
[item, ...] |
ऑब्जेक्ट |
डिवाइस पर स्क्रिप्ट लागू करने का नतीजा. |
ids |
कलेक्शन |
ज़रूरी है. इस स्थिति से जुड़े डिवाइस आईडी की सूची. |
[item, ...] |
String |
डिवाइस आईडी. |
status |
String |
ज़रूरी है. 'कार्रवाई को लागू करें' के नतीजे. इस्तेमाल की जा सकने वाली वैल्यू:
|
states |
ऑब्जेक्ट |
हर ट्रैट स्कीमा रेफ़रंस में बताई गई हर ट्रैट की स्थितियों के साथ अलाइन किया गया. अगर उपलब्ध हो, तो ये स्टेटस, एक्ज़ीक्यूशन के बाद दिखते हैं. |
online |
बूलियन |
इससे पता चलता है कि डिवाइस ऑनलाइन है या नहीं. |
errorCode |
String |
अगर ज़रूरी हो, तो पहले से तय किए गए गड़बड़ी कोड से गड़बड़ी की स्थिति को बड़ा किया जा सकता है. यह स्थिति, उपयोगकर्ताओं को दिखाई गई गड़बड़ियों से मैप होगी. |
debugString |
String |
कमांड-लेवल की ज़्यादा जानकारी वाली गड़बड़ी, जो उपयोगकर्ताओं को कभी नहीं दिखाई जाएगी. हालांकि, इसे डेवलपमेंट के दौरान लॉग किया जा सकता है या इसका इस्तेमाल किया जा सकता है. |
उदाहरण
EXECUTE इंटेंट का रिस्पॉन्स
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "on": true, "online": true } }, { "ids": [ "456" ], "status": "ERROR", "errorCode": "deviceTurnedOff" } ] } }