action.devices.EXECUTE

این هدف دستوراتی را برای اجرا در دستگاه های خانه هوشمند ارسال می کند.

انجام شما باید هر دستور را پردازش کند، آن را به دستگاه مربوطه ارسال کند و وضعیت جدید را در پاسخ EXECUTE برگرداند.

یک هدف EXECUTE می تواند چندین دستگاه را با چندین دستور هدف قرار دهد. به عنوان مثال، یک هدف راه‌اندازی شده ممکن است هم روشنایی و هم رنگ را روی مجموعه‌ای از چراغ‌ها تنظیم کند یا ممکن است نورهای متعددی را روی رنگ‌های متفاوتی تنظیم کند.

برای جزئیات بیشتر، Query and execute را ببینید.

فرمت درخواست

زمینه های تایپ کنید شرح
requestId رشته

ضروری.

شناسه درخواست

inputs آرایه

ضروری.

فهرست ورودی های مطابق با درخواست قصد.

[ item, ... ] هدف - شی

نوع و بار مرتبط با درخواست قصد.

intent

ضروری.

(مقدار ثابت: "action.devices.EXECUTE" )

نوع درخواست قصد

payload هدف - شی

ضروری.

EXECUTE درخواست بار.

commands آرایه

ضروری.

لیست جفت های هدف و فرمان دستگاه.

[ item, ... ] هدف - شی

مجموعه ای از دستورات برای اجرا بر روی اهداف دستگاه متصل.

devices آرایه

ضروری.

لیست دستگاه های مورد نظر

[ item, ... ] هدف - شی

هدف دستگاه برای اجرا

id رشته

ضروری.

شناسه دستگاه، مطابق شناسه ارائه شده در SYNC.

customData هدف - شی

اگر شی customData مات در SYNC ارائه شده باشد، به اینجا ارسال می شود.

execution آرایه

ضروری.

لیستی از دستورات برای اجرا در دستگاه های مورد نظر.

[ item, ... ] هدف - شی

فرمان دستگاه

command رشته

ضروری.

فرمان اجرا، معمولاً با پارامترهای همراه.

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 رشته

ضروری.

شناسه درخواست مربوطه

payload هدف - شی

ضروری.

بار پاسخ قصد.

errorCode رشته

یک کد خطا برای کل تراکنش برای خرابی های احراز هویت و در دسترس نبودن سیستم توسعه دهنده. برای خطاهای دستگاه جداگانه، از errorCode در شیء دستگاه استفاده کنید.

debugString رشته

خطای مفصلی که هرگز به کاربران ارائه نخواهد شد اما ممکن است در حین توسعه ثبت شود یا استفاده شود.

commands آرایه

هر شی شامل یک یا چند دستگاه با جزئیات پاسخ است. NB اینها ممکن است مانند درخواست گروه بندی نشوند. به عنوان مثال، درخواست ممکن است 7 چراغ را روشن کند که 3 چراغ موفق و 4 چراغ با شکست مواجه می شوند، بنابراین دو گروه در پاسخ هستند.

[ item, ... ] هدف - شی

نتیجه اجرای دستگاه

ids آرایه

ضروری.

فهرست شناسه‌های دستگاه مربوط به این وضعیت.

[ item, ... ] رشته

شناسه دستگاه.

status رشته

ضروری.

نتیجه عملیات اجرا.

مقادیر پشتیبانی شده:

SUCCESS
تأیید کنید که دستور با موفقیت انجام شده است.
PENDING
فرمان در نوبت است اما انتظار می رود که موفق شود.
OFFLINE
دستگاه هدف در حالت آفلاین یا غیرقابل دسترسی است.
EXCEPTIONS
یک مشکل یا هشدار مرتبط با یک فرمان وجود دارد. فرمان ممکن است موفق شود یا شکست بخورد. این نوع وضعیت معمولاً زمانی تنظیم می شود که می خواهید اطلاعات اضافی درباره دستگاه متصل دیگری ارسال کنید.
ERROR
دستگاه هدف قادر به اجرای دستور نیست.
states هدف - شی

با حالت های هر صفت که در مرجع طرحواره هر صفت توضیح داده شده است، تراز است. در صورت موجود بودن اینها حالت‌های پس از اجرا هستند.

online بولی

نشان می دهد که آیا دستگاه آنلاین است (یعنی قابل دسترسی) یا خیر.

errorCode رشته

گسترش حالت ERROR در صورت نیاز از کدهای خطای از پیش تعیین شده، که به خطاهای ارائه شده به کاربران نشان داده می شود.

مثال ها

پاسخ قصد را اجرا کنید

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