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

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

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

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

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

  1. פותחים את פרויקט הבית החכם במסוף Actions.
  2. בחלונית הניווט הימנית, לוחצים על פעולות.
  3. בקטע Configure local home SDK (אופציונלי) > Add device button configuration (הוספת הגדרת סריקה של מכשיר) לוחצים על New Scanner config (הגדרת סריקה חדשה).
  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
מאפיין התיאור ערך לדוגמה
כתובת שידור חובה. כתובת ה-IP של היעד של שידור ה-UDP. 255.255.255.255
יציאת שידור חובה. יציאת היעד של שידור ה-UDP. 5555
יציאה להאזנה חובה. האזנה ליציאה לתגובת הגילוי של UDP. 5556
חבילת Discovery

חובה. מטען ייעודי (payload) לשליחה בשידור ה-UDP.

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

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

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

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

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

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

דוגמה

קטע הקוד הבא מראה איך ליצור את ה-handler של 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": "..."
      }
    }]
  }
}