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