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

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

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

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

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

  1. פותחים את הפרויקט לבית החכם ב-Actions Console.
  2. בחלונית הניווט הימנית, לוחצים על פעולות.
  3. בקטע הגדרת SDK לבית מקומי (אופציונלי) > הוספת הגדרה של סריקת מכשיר, לוחצים על הגדרת סריקה חדשה.
  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

חובה. מטען ייעודי לשליחה בשידור UDP.

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

עדכון תגובת הסנכרון במילוי ההזמנות בענן

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

כדי לתמוך במילוי הזמנה מקומית, פלטפורמת 'בית מקומי' בודקת את התשובה 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": "..."
      }
    }]
  }
}