یک مسیر انجام سفارش محلی زمانی ایجاد میشود که گوگل یک دستگاه قابل کنترل محلی را با دستگاهی که در پاسخ SYNC از انجام سفارش ابری شما برگردانده شده است، مطابقت دهد.
برای اینکه گوگل بتواند دستگاه شما را در شبکه محلی کشف کند و مسیر انجام سفارش محلی را تعیین کند، باید اطلاعات مربوط به کشف سفارش را در کنسول Actions اضافه کنید. همچنین باید پاسخ SYNC را از طریق Cloud بهروزرسانی کنید تا گوگل از دستگاه قابل کنترل محلی مطلع شود.
اطلاعات پیکربندی اسکن را تنظیم کنید
برای مشخص کردن اطلاعات کشف، این مراحل را دنبال کنید:
به بخش ادغام Cloud-to-cloud در Google Home Developer Console بروید:
به مسیر Project > Cloud-to-cloud در سمت چپ صفحه بروید، سپس برای ادغام، Edit را انتخاب کنید. در صفحه Setup and configuration ، به Local completion بروید و تنظیمات را روشن کنید. URL زیر را در هر فیلد Test URL وارد کنید، شناسه پروژه خود را وارد کنید و روی Save کلیک کنید:
https://<project-id>.web.app/local-home/index.htmlبرای افزودن پیکربندی اسکن جدید ، روی «افزودن پیکربندی اسکن» در زیر بخش «کشف دستگاه» کلیک کنید.
نوع پروتکل منطبق با اسکن را از منوی کشویی انتخاب کنید و مقادیری را برای اسکن گوگل وارد کنید.
جداول زیر ویژگیهایی را که میتوانید بر اساس پروتکلهایی که میخواهید گوگل برای اسکن دستگاه شما استفاده کند، اضافه کنید، نشان میدهند:
| ویژگی | توضیحات | مقدار مثال |
|---|---|---|
| نام سرویس | الزامی. نام سرویس منتشر شده توسط دستگاه در قالب service . domain | _http._tcp.local |
| نام | الزامی. برای یک نمونه سرویس منحصر به فرد | my-device-[0-9]{4}\._http\._tcp\.local |
| ویژگی | توضیحات | مقدار مثال |
|---|---|---|
| نوع خدمات | الزامی. شناسهی کاملاً واجد شرایط سرویس UPnP در قالب domain :service: type : version . | schemas-upnp-org:service:SwitchPower:1 |
| اوی | اختیاری. شناسه منحصر به فرد سازمانی . مقدار ۲۴ بیتی که سازنده دستگاه را مشخص میکند. معمولاً سه اکتت اول آدرس MAC دستگاه. | 1A:2B:3C |
| ویژگی | توضیحات | مقدار مثال |
|---|---|---|
| آدرس دیسکاوری | الزامی. آدرس IP مقصد برای پخش UDP. | 255.255.255.255 |
| پورت پخش | الزامی. پورت مقصد برای پخش UDP. | 5555 |
| پورت شنود | الزامی. پورت را برای پاسخ کشف UDP گوش دهید. | 5556 |
| بسته دیسکاوری | الزامی. بار دادهای که باید در پخش UDP ارسال شود. به صورت یک رشته کدگذاری شده هگزادسیمال از بایتها قالببندی شده است. | 48454C4C4F |
بهروزرسانی پاسخ همگامسازی (SYNC) در فضای ابری
هدف SYNC به دستیار گزارش میدهد که کاربر چه دستگاههایی را کنترل میکند و چه قابلیتهایی دارد.
برای پشتیبانی از انجام محلی، پلتفرم Local Home پاسخ SYNC را از انجام ابری Action خانه هوشمند شما بررسی میکند و سعی میکند شناسههای دستگاه در فیلد otherDeviceIds را با شناسه تأیید بازگردانده شده توسط کنترلکننده IDENTIFY مطابقت دهد. ورودیهای دستگاه بدون فیلد otherDeviceIds از انجام محلی مستثنی هستند.
در فیلد otherDeviceIds از پاسخ SYNC ، باید شناسههای دستگاه دستگاههای خانه هوشمندی را که میتوانند به صورت محلی کنترل شوند، تنظیم کنید. این فیلد در سطح device در پاسخ ظاهر میشود. گوگل میتواند یک مسیر تکمیل سفارش محلی را روی هر دستگاهی با شناسه داده شده ایجاد کند.
از فیلد customData برای مشخص کردن هرگونه داده اضافی که گوگل برای اتصال به یک دستگاه مستقل یا برای هدف قرار دادن دستگاههای نهایی با استفاده از هاب نیاز دارد (مثلاً شماره پورت و سایر اطلاعات خاص پروتکل) استفاده کنید.
مثال
قطعه کد زیر نشان میدهد که چگونه میتوانید کنترلکنندهی 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": { "name": "Night light" }, "willReportState": false, "otherDeviceIds": [{ "deviceId": "local-device-id" }], "customData": { "port": 5555, "authToken": "..." } }] } }