action.devices.SYNC
این هدف لیستی از دستگاه های مرتبط با کاربر مورد نظر و قابلیت های آنها را درخواست می کند.
هنگام پیوند دادن حساب یا زمانی که کاربر به صورت دستی دستگاه های خود را مجدداً همگام می کند، فعال می شود. تحقق شما باید با ویژگی ها و ویژگی های پشتیبانی شده برای هر دستگاه پاسخ دهد.
پاسخ SYNC
شما باید همه دستگاه های مرتبط با کاربر را برگرداند. این تعیین نمی کند که آیا دستگاه خاصی قابل دسترسی است یا خیر. این توسط پاسخ های QUERY
و EXECUTE
مدیریت می شود.
برای جزئیات بیشتر، به شناسایی و همگام سازی مراجعه کنید.
فرمت درخواست
فیلدها | تایپ کنید | توضیحات |
---|---|---|
requestId | رشته | مورد نیاز. شناسه درخواست |
inputs | آرایه | مورد نیاز. فهرست ورودی های مطابق با درخواست قصد. |
[ item, ... ] | شیء | نوع و بار مرتبط با درخواست قصد. |
intent | مورد نیاز. (مقدار ثابت: نوع درخواست قصد |
نمونه ها
درخواست قصد 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 | بولی | (پیشفرض: نشان می دهد که آیا اعلان ها برای دستگاه فعال هستند یا خیر. |
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" } } ] } }