תמיכה בזיהוי מכשירים

נתיב הטיפול המקומי מוגדר כש-Google מתאימה מכשיר שניתן לשלוט בו באופן מקומי למכשיר שהוחזר בתגובה SYNC מהטיפול בענן.

כדי לאפשר ל-Google לזהות את המכשיר ברשת המקומית ולהגדיר את נתיב הביצוע המקומי, צריך להוסיף את פרטי הגילוי במסוף Actions. בנוסף, צריך לעדכן את התגובה SYNC מהביצוע בענן כדי להודיע ל-Google על המכשיר שניתן לשלוט בו באופן מקומי.

הגדרת פרטי תצורת הסריקה

כדי לציין את פרטי הגילוי, פועלים לפי השלבים הבאים:

  1. עוברים לשילוב Cloud-to-cloud ב-Google Home Developer Console:

    כניסה למסוף הפיתוח

  2. עוברים אל Project (פרויקט) > Cloud-to-cloud (מענן לענן) בצד ימין של המסך, ובוחרים באפשרות Edit (עריכה) בשביל השילוב. בדף הגדרה ותצורה, גוללים אל מילוי הזמנות מקומי ומפעילים את ההגדרה. מזינים את כתובת ה-URL הבאה בכל שדה של כתובת URL לבדיקה, מוסיפים את מזהה הפרויקט ולוחצים על שמירה:

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

  3. כדי להוסיף הגדרת סריקת מכשיר חדשה, לוחצים על + הוספת הגדרת סריקה בקטע זיהוי מכשירים.

  4. בוחרים סוג פרוטוקול התאמה לסריקה מהתפריט הנפתח ומזינים ערכים ש-Google תסרוק.

בטבלאות הבאות מפורטים המאפיינים שאפשר להוסיף, בהתאם לפרוטוקולים שבהם רוצים ש-Google תשתמש כדי לסרוק את המכשיר:

mDNS
מאפיין תיאור ערך לדוגמה
שם השירות חובה. שם השירות שפורסם על ידי המכשיר בפורמט service.domain. _http._tcp.local
שם

חובה. סינון לפי מופע שירות ייחודי בפורמט instance.service.domain.

הפלטפורמה מתייחסת לערך הזה כביטוי רגולרי ומחזירה את כל המכשירים שתואמים לו.
my-device-[0-9]{4}\._http\._tcp\.local
UPnP
מאפיין תיאור ערך לדוגמה
סוג השירות חובה. המזהה המלא של שירות ה-UPnP בפורמט domain:service:type:version. schemas-upnp-org:service:SwitchPower:1
OUI

זה שינוי אופציונלי. מזהה ייחודי ארגונית.

ערך של 24 ביט שמזהה את יצרן המכשיר. בדרך כלל, שלושת האוקטטים הראשונים של כתובת ה-MAC של המכשיר.
1A:2B:3C
UDP
מאפיין תיאור ערך לדוגמה
כתובת Discovery חובה. כתובת ה-IP של היעד לשידור ה-UDP. 255.255.255.255
יציאת השידור חובה. יציאת היעד לשידור ה-UDP. 5555
יציאת הקשבה חובה. יציאת ההאזנה לתשובה של גילוי ה-UDP. 5556
Discovery Packet

חובה. עומס נתונים לשליחה בשידור ה-UDP.

בפורמט של מחרוזת ביטים עם קידוד הקסדצימלי.
48454C4C4F

עדכון תגובת ה-SYNC בהשלמה בענן

הכוונה SYNC מדווחת ל-Assistant אילו מכשירים המשתמש שולט בהם ואילו יכולות יש להם.

כדי לתמוך בביצוע מקומי, פלטפורמת Local Home בודקת את התגובה SYNC מהביצוע בענן של הפעולה בבית החכם ומנסה להתאים את מזהי המכשירים בשדה otherDeviceIds למזהה האימות שהוחזר על ידי הטיפול IDENTIFY. רשומות של מכשירים ללא השדה otherDeviceIds לא נכללות בביצוע הזמנות מקומי.

בשדה otherDeviceIds בתגובה SYNC, צריך להגדיר את מזהי המכשירים של המכשירים לבית החכם שאפשר לשלוט בהם באופן מקומי. השדה מופיע ברמה device בתשובה. Google יכולה ליצור נתיב השלמה מקומי בכל מכשיר עם המזהה הנתון.

משתמשים בשדה customData כדי לציין נתונים נוספים ש-Google זקוקה להם כדי להתחבר למכשיר עצמאי, או כדי לטרגט מכשירים קצה באמצעות רכז (למשל מספר היציאה ומידע נוסף שספציפי לפרוטוקול).

דוגמה

קטע הקוד הבא מראה איך אפשר ליצור את הטיפול באירוע SYNC.

Standalone/Hub
{
  "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": "..."
      }
    }]
  }
}