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