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

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

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

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

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

  1. פותחים את הפרויקט של הבית החכם במסוף Actions.
  2. בחלונית הניווט הימנית, לוחצים על פעולות.
  3. בקטע Configure local home SDK (optional) (הגדרת SDK מקומי לבית (אופציונלי)) > Add device scan configuration (הוספת הגדרת סריקת מכשיר), לוחצים על New scan 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 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": "..."
      }
    }]
  }
}