action.devices.SYNC

این هدف لیستی از دستگاه های مرتبط با کاربر مورد نظر و قابلیت های آنها را درخواست می کند.

هنگام پیوند دادن حساب یا زمانی که کاربر به صورت دستی دستگاه های خود را مجدداً همگام می کند، فعال می شود. تحقق شما باید با ویژگی ها و ویژگی های پشتیبانی شده برای هر دستگاه پاسخ دهد.

پاسخ SYNC شما باید همه دستگاه های مرتبط با کاربر را برگرداند. این تعیین نمی کند که آیا دستگاه خاصی قابل دسترسی است یا خیر. این توسط پاسخ های QUERY و EXECUTE مدیریت می شود.

برای جزئیات بیشتر، به شناسایی و همگام سازی مراجعه کنید.

فرمت درخواست

فیلدها تایپ کنید توضیحات
requestId رشته

مورد نیاز.

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

inputs آرایه

مورد نیاز.

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

[ item, ... ] شیء

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

intent

مورد نیاز.

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

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

نمونه ها

درخواست قصد SYNC

{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "inputs": [
    {
      "intent": "action.devices.SYNC"
    }
  ]
}

فرمت پاسخ

فیلدها تایپ کنید توضیحات
requestId رشته

مورد نیاز.

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

payload شیء

مورد نیاز.

بار پاسخ قصد.

agentUserId رشته

مورد نیاز.

شناسه کاربری منحصر به فرد (و تغییر ناپذیر) را در پلت فرم عامل منعکس می کند. این رشته برای Google غیرشفاف است، بنابراین اگر یک فرم غیرقابل تغییر در مقابل یک فرم قابل تغییر در سمت نماینده وجود دارد، از فرم تغییرناپذیر استفاده کنید (به عنوان مثال شماره حساب به جای ایمیل).

errorCode رشته

برای خطاهای سیستماتیک در SYNC

debugString رشته

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

devices آرایه

مورد نیاز.

لیست دستگاه های متعلق به کاربر. صفر یا چند دستگاه برگردانده می شود (دستگاه صفر به این معنی است که کاربر هیچ دستگاهی ندارد یا همه آنها را قطع کرده است).

[ item, ... ] شیء

فراداده دستگاه

id رشته

مورد نیاز.

شناسه دستگاه در ابر توسعه دهنده. این باید برای کاربر و توسعه‌دهنده منحصربه‌فرد باشد، زیرا در موارد اشتراک‌گذاری ممکن است از آن برای حذف چندین نما از یک دستگاه استفاده کنیم. باید برای دستگاه تغییر ناپذیر باشد. اگر تغییر کند، دستیار با آن به عنوان یک دستگاه جدید برخورد می کند.

type رشته

مورد نیاز.

نوع سخت افزاری دستگاه

traits آرایه

مورد نیاز.

لیست ویژگی هایی که این دستگاه دارد. این دستورات، ویژگی ها را تعریف می کند و بیان می کند که دستگاه پشتیبانی می کند.

[ item, ... ] رشته

نام ویژگی پشتیبانی شده

name شیء

مورد نیاز.

نام این دستگاه

defaultNames آرایه

لیستی از نام های ارائه شده توسط توسعه دهنده به جای کاربر، اغلب نام های سازنده، SKU ها و غیره.

[ item, ... ] رشته

نام پیش‌فرض دستگاه

name رشته

مورد نیاز.

نام اصلی دستگاه که معمولاً توسط کاربر ارائه می شود. همچنین این نامی است که دستیار برای توصیف دستگاه در پاسخ ها ترجیح می دهد.

nicknames آرایه

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

[ item, ... ] رشته

نام مستعار دستگاه.

willReportState بولی

مورد نیاز.

نشان می دهد که آیا وضعیت این دستگاه توسط فید زمان واقعی به روز می شود یا خیر. (در استفاده از فید زمان واقعی برای گزارش وضعیت درست و برای استفاده از مدل نظرسنجی نادرست است.)

notificationSupportedByAgent بولی

(پیش‌فرض: false )

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

roomHint رشته

اتاق فعلی دستگاه را در خانه کاربر برای ساده کردن راه اندازی فراهم می کند.

deviceInfo شیء

حاوی فیلدهایی است که دستگاه را برای استفاده در منطق یکباره در صورت نیاز توصیف می‌کند (مثلاً 'نسخه سیستم عامل خراب X از نور Y نیاز به تنظیم رنگ دارد' یا 'نقص امنیتی مستلزم اطلاع رسانی به همه کاربران از سیستم عامل Z').

manufacturer رشته

به خصوص زمانی مفید است که توسعه دهنده یک مرکز برای دستگاه های دیگر باشد. Google ممکن است فهرست استانداردی از تولیدکنندگان را در اینجا ارائه دهد تا به عنوان مثال TP-Link و Smartthings هر دو «osram» را به یک شکل توصیف کنند.

model رشته

مدل یا شناسه SKU دستگاه خاص.

hwVersion رشته

شماره نسخه خاص در صورت وجود به سخت افزار پیوست شده است.

swVersion رشته

شماره نسخه خاص پیوست شده به نرم افزار/سیستم افزار، در صورت وجود.

attributes شیء

با ویژگی های هر صفت که در مرجع طرحواره هر صفت توضیح داده شده است، تراز است.

customData شیء

شی تعریف شده توسط توسعه دهنده که به درخواست های QUERY و EXECUTE آینده، حداکثر 512 بایت در هر دستگاه، پیوست می شود. از این شیء برای ذخیره اطلاعات اضافی درباره دستگاهی که سرویس ابری شما ممکن است به آن نیاز داشته باشد، مانند منطقه جهانی دستگاه استفاده کنید. داده‌های موجود در این شی دارای چند محدودیت هستند: بدون اطلاعات حساس، از جمله اطلاعات شخصی قابل شناسایی، اما نه محدود به آن.

otherDeviceIds آرایه

فهرست شناسه‌های جایگزین مورد استفاده برای شناسایی دستگاه همگام‌سازی شده ابری برای اجرای محلی.

[ item, ... ] شیء

شناسه دستگاه جایگزین

agentId رشته

شناسه نماینده به طور کلی، این شناسه پروژه در کنسول Actions است.

deviceId رشته

مورد نیاز.

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

نمونه ها

پاسخ هدف SYNC

{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "agentUserId": "1836.15267389",
    "devices": [
      {
        "id": "123",
        "type": "action.devices.types.OUTLET",
        "traits": [
          "action.devices.traits.OnOff"
        ],
        "name": {
          "defaultNames": [
            "My Outlet 1234"
          ],
          "name": "Night light",
          "nicknames": [
            "wall plug"
          ]
        },
        "willReportState": false,
        "roomHint": "kitchen",
        "deviceInfo": {
          "manufacturer": "lights-out-inc",
          "model": "hs1234",
          "hwVersion": "3.2",
          "swVersion": "11.4"
        },
        "otherDeviceIds": [
          {
            "deviceId": "local-device-id"
          }
        ],
        "customData": {
          "fooValue": 74,
          "barValue": true,
          "bazValue": "foo"
        }
      },
      {
        "id": "456",
        "type": "action.devices.types.LIGHT",
        "traits": [
          "action.devices.traits.OnOff",
          "action.devices.traits.Brightness",
          "action.devices.traits.ColorSetting"
        ],
        "name": {
          "defaultNames": [
            "lights out inc. bulb A19 color hyperglow"
          ],
          "name": "lamp1",
          "nicknames": [
            "reading lamp"
          ]
        },
        "willReportState": false,
        "roomHint": "office",
        "attributes": {
          "colorModel": "rgb",
          "colorTemperatureRange": {
            "temperatureMinK": 2000,
            "temperatureMaxK": 9000
          },
          "commandOnlyColorSetting": false
        },
        "deviceInfo": {
          "manufacturer": "lights out inc.",
          "model": "hg11",
          "hwVersion": "1.2",
          "swVersion": "5.4"
        },
        "customData": {
          "fooValue": 12,
          "barValue": false,
          "bazValue": "bar"
        }
      }
    ]
  }
}