action.devices.EXECUTE

यह इंटेंट, स्मार्ट होम डिवाइसों पर लागू करने के लिए निर्देश भेजता है.

ग्राहक को आइटम भेजने के बाद, हर निर्देश को प्रोसेस करना होगा, उसे संबंधित डिवाइस पर भेजना होगा, और फिर उसे वापस करना होगा EXECUTE रिस्पॉन्स में नई स्थिति.

एक ही EXECUTE इंटेंट, कई निर्देशों वाले कई डिवाइसों को टारगेट कर सकता है. उदाहरण के लिए, ट्रिगर किया गया इंटेंट लाइटें या कई लाइटों को अलग-अलग रंग में सेट कर सकती हैं.

ज़्यादा जानकारी के लिए, क्वेरी और एक्ज़ीक्यूट करना सेक्शन देखें.

अनुरोध का फ़ॉर्मैट

फ़ील्ड टाइप ब्यौरा
requestId String

ज़रूरी है.

अनुरोध का आईडी.

inputs कलेक्शन

ज़रूरी है.

इंटेंट के अनुरोध से मैच करने वाले इनपुट की सूची.

[item, ...] ऑब्जेक्ट

इंटेंट अनुरोध से जुड़ा टाइप और पेलोड.

intent

ज़रूरी है.

(कॉन्सटेंट वैल्यू: "action.devices.EXECUTE")

इंटेंट के अनुरोध का टाइप.

payload ऑब्जेक्ट

ज़रूरी है.

पेलोड के लिए अनुरोध करें.

commands कलेक्शन

ज़रूरी है.

डिवाइस टारगेट और कमांड पेयर की सूची.

[item, ...] ऑब्जेक्ट

निर्देशों का सेट, जिन्हें अटैच किए गए डिवाइस टारगेट पर लागू करना है.

devices कलेक्शन

ज़रूरी है.

टारगेट किए गए डिवाइसों की सूची.

[item, ...] ऑब्जेक्ट

वह डिवाइस टारगेट जिसे लागू करना है.

id String

ज़रूरी है.

सिंक में दिए गए आईडी के मुताबिक डिवाइस आईडी.

customData ऑब्जेक्ट

अगर SYNC में ओपेक customData ऑब्जेक्ट दिया जाता है, तो उसे यहां भेजा जाता है.

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 कलेक्शन

हर ऑब्जेक्ट में, रिस्पॉन्स की जानकारी वाले एक या उससे ज़्यादा डिवाइस होते हैं. एन॰बी॰ इन्हें अनुरोध की तरह ग्रुप में नहीं रखा जा सकता. उदाहरण के लिए, अनुरोध के जवाब में सात लाइटें चालू हो सकती हैं, जिनमें से 3 लाइट काम कर रही हैं और 4 काम नहीं कर रही हैं. इसलिए, जवाब में दो ग्रुप दिखेंगे.

[item, ...] ऑब्जेक्ट

डिवाइस पर एक्ज़ीक्यूशन का नतीजा.

ids कलेक्शन

ज़रूरी है.

इस स्थिति से जुड़े डिवाइस आईडी की सूची.

[item, ...] String

डिवाइस आईडी.

status String

ज़रूरी है.

कार्रवाई का नतीजा.

इस्तेमाल की जा सकने वाली वैल्यू:

SUCCESS
पुष्टि करें कि निर्देश पूरा हो गया है.
PENDING
कमांड को सूची में रखा गया है, लेकिन इसके कामयाब होने की उम्मीद है.
OFFLINE
टारगेट डिवाइस ऑफ़लाइन है या ऐक्सेस नहीं किया जा सकता.
EXCEPTIONS
किसी निर्देश से जुड़ी कोई समस्या या सूचना है. आदेश सफल या विफल हो सकता है. आम तौर पर, यह स्टेटस तब सेट किया जाता है, जब आपको कनेक्ट किए गए किसी दूसरे डिवाइस के बारे में ज़्यादा जानकारी भेजनी होती है.
ERROR
टारगेट डिवाइस निर्देश पूरा नहीं कर पा रहा है.
states ऑब्जेक्ट

हर Trait स्कीमा के रेफ़रंस में, हर विशेषता की स्थितियों के हिसाब से अलाइन किया जाता है. प्लान लागू होने के बाद, ये स्थितियां उपलब्ध होती हैं.

online बूलियन

यह बताता है कि डिवाइस ऑनलाइन है या नहीं. इससे कनेक्ट किया जा सकता है या नहीं.

errorCode String

अगर ज़रूरत हो, तो पहले से सेट किए गए गड़बड़ी के कोड की मदद से गड़बड़ी की स्थिति को बड़ा किया जा रहा है. यह कोड, उपयोगकर्ताओं को दिखने वाली गड़बड़ियों को मैप करेगा.

उदाहरण

इंटेंट के मुताबिक जवाब

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