پشتیبانی از کشف دستگاه

یک مسیر انجام سفارش محلی زمانی ایجاد می‌شود که گوگل یک دستگاه قابل کنترل محلی را با دستگاهی که در پاسخ SYNC از انجام سفارش ابری شما برگردانده شده است، مطابقت دهد.

برای اینکه گوگل بتواند دستگاه شما را در شبکه محلی کشف کند و مسیر انجام سفارش محلی را تعیین کند، باید اطلاعات مربوط به کشف سفارش را در کنسول Actions اضافه کنید. همچنین باید پاسخ SYNC را از طریق Cloud به‌روزرسانی کنید تا گوگل از دستگاه قابل کنترل محلی مطلع شود.

اطلاعات پیکربندی اسکن را تنظیم کنید

برای مشخص کردن اطلاعات کشف، این مراحل را دنبال کنید:

  1. به بخش ادغام Cloud-to-cloud در Google Home Developer Console بروید:

    به کنسول توسعه‌دهندگان بروید .

  2. به مسیر Project > Cloud-to-cloud در سمت چپ صفحه بروید، سپس برای ادغام، Edit را انتخاب کنید. در صفحه Setup and configuration ، به Local completion بروید و تنظیمات را روشن کنید. URL زیر را در هر فیلد Test URL وارد کنید، شناسه پروژه خود را وارد کنید و روی Save کلیک کنید:

    https://<project-id>.web.app/local-home/index.html

  3. برای افزودن پیکربندی اسکن جدید ، روی «افزودن پیکربندی اسکن» در زیر بخش «کشف دستگاه» کلیک کنید.

  4. نوع پروتکل منطبق با اسکن را از منوی کشویی انتخاب کنید و مقادیری را برای اسکن گوگل وارد کنید.

جداول زیر ویژگی‌هایی را که می‌توانید بر اساس پروتکل‌هایی که می‌خواهید گوگل برای اسکن دستگاه شما استفاده کند، اضافه کنید، نشان می‌دهند:

mDNS
ویژگی توضیحات مقدار مثال
نام سرویس الزامی. نام سرویس منتشر شده توسط دستگاه در قالب service . domain _http._tcp.local
نام

الزامی. برای یک نمونه سرویس منحصر به فرد instance . service . domain فیلتر کنید.

این پلتفرم با این مقدار به عنوان یک عبارت منظم رفتار می‌کند و هر دستگاه منطبق را برمی‌گرداند.
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": "..."
      }
    }]
  }
}