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