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