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