נתיב מקומי למילוי הזמנות נוצר כש-Google מתאימה מכשיר שנשלט באופן מקומי למכשיר שמוחזר בתשובה SYNC
ממילוי ההזמנות בענן.
כדי לאפשר ל-Google לאתר את המכשיר שלכם ברשת המקומית וליצור את נתיב האספקה המקומי, צריך להוסיף פרטי גילוי במסוף הפעולות.
בנוסף, צריך לעדכן את התגובה SYNC
מהביצוע בענן כדי להודיע ל-Google על המכשיר שניתן לשלוט בו באופן מקומי.
הגדרת פרטי תצורת הסריקה
כדי לציין את פרטי הגילוי, מבצעים את השלבים הבאים:
- פותחים את הפרויקט של הבית החכם במסוף Actions.
- בחלונית הניווט הימנית, לוחצים על פעולות.
- בקטע Configure local home SDK (optional) > Add device scan configuration, לוחצים על New scan config.
- בוחרים סוג פרוטוקול התאמה לסריקה מהתפריט הנפתח ומזינים ערכים ש-Google תסרוק.
בטבלאות הבאות מפורטים המאפיינים שאפשר להוסיף, בהתאם לפרוטוקולים שבהם רוצים ש-Google תשתמש כדי לסרוק את המכשיר:
מאפיין | תיאור | ערך לדוגמה |
---|---|---|
שם השירות |
חובה. שם השירות שפורסם על ידי המכשיר בפורמט service.domain .
|
_http._tcp.local |
שם |
חובה. סינון לפי מופע שירות ייחודי בפורמט |
my-device-[0-9]{4}\._http\._tcp\.local |
מאפיין | תיאור | ערך לדוגמה |
---|---|---|
סוג השירות |
חובה. המזהה המלא של שירות ה-UPnP בפורמט domain:service:type:version .
|
schemas-upnp-org:service:SwitchPower:1 |
OUI |
זה שינוי אופציונלי. מזהה ייחודי ארגונית. ערך של 24 ביט שמזהה את יצרן המכשיר. בדרך כלל, שלושת האוקטטים הראשונים של כתובת ה-MAC של המכשיר. |
1A:2B:3C |
מאפיין | תיאור | ערך לדוגמה |
---|---|---|
כתובת שידור | חובה. כתובת ה-IP של היעד לשידור ה-UDP. | 255.255.255.255 |
יציאת שידור | חובה. יציאת היעד לשידור ה-UDP. | 5555 |
יציאת הקשבה | חובה. יציאת ההאזנה לתגובת הגילוי של UDP. | 5556 |
Discovery Packet | חובה. מטען ייעודי לשליחה בשידור UDP. בפורמט של מחרוזת ביטים עם קידוד הקסדצימלי. |
48454C4C4F |
עדכון תגובת ה-SYNC בהשלמה בענן
הכוונה SYNC
מדווחת ל-Assistant אילו מכשירים המשתמש שולט בהם ואילו יכולות יש להם.
כדי לתמוך במילוי האוטומטי, פלטפורמת 'בית מקומי' בודקת את התשובה SYNC
ממילוי ההזמנות של הפעולה בבית החכם בענן, ומנסה להתאים את מזהי המכשיר בשדה otherDeviceIds
למזהה האימות שמוחזר על ידי ה-handler של IDENTIFY
. רשומות של מכשירים ללא השדה otherDeviceIds
לא נכללות בביצוע הזמנות מקומי.
בשדה otherDeviceIds
של התשובה SYNC
צריך להגדיר את מזהי המכשירים של מכשירים לבית חכם שאפשר לשלוט בהם באופן מקומי. השדה מופיע ברמה device
בתשובה. Google יכולה ליצור נתיב השלמה מקומי בכל מכשיר עם המזהה הנתון.
משתמשים בשדה customData
כדי לציין נתונים נוספים ש-Google צריכה כדי להתחבר למכשיר נפרד, או לטרגט מכשירי קצה דרך רכזת (לדוגמה, מספר היציאה ומידע אחר שספציפי לפרוטוקול).
דוגמה
קטע הקוד הבא מראה איך אפשר ליצור את הטיפול ב-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": "..." } }] } }