נתיב לביצוע פעולות מקומיות נוצר כש-Google מתאימה מכשיר שאפשר לשלוט בו באופן מקומי למכשיר שמוחזר בתגובה SYNC
מביצוע הפעולות בענן.
כדי לאפשר ל-Google לגלות את המכשיר שלכם ברשת המקומית וליצור את נתיב ההזמנה המקומי, אתם צריכים להוסיף פרטי גילוי במסוף Actions.
צריך גם לעדכן את התגובה של SYNC
מה-fulfillment בענן כדי ש-Google תדע על המכשיר שאפשר לשלוט בו באופן מקומי.
הגדרת פרטי תצורת הסריקה
כדי לציין את פרטי הגילוי:
עוברים לשילוב Cloud-to-cloud ב-Google Home Developer Console:
בצד ימין של המסך, עוברים אל Project > Cloud-to-cloud (פרויקט > ענן לענן) ובוחרים באפשרות Edit (עריכה) לשילוב. בדף הגדרה וקביעת תצורה, גוללים אל הפעלת אפשרויות שילוח מקומיות ומפעילים את ההגדרה. מזינים את כתובת ה-URL הבאה בכל שדה של כתובת URL לבדיקה, מוסיפים את מזהה הפרויקט ולוחצים על שמירה:
https://<project-id>.web.app/local-home/index.html
כדי להוסיף הגדרת סריקה חדשה, לוחצים על + הוספת הגדרת סריקה בקטע איתור מכשירים.
בוחרים סוג פרוטוקול התאמה לסריקה מהתפריט הנפתח ומזינים ערכים לסריקה על ידי 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 |
מאפיין | תיאור | ערך לדוגמה |
---|---|---|
כתובת Discovery | חובה. כתובת ה-IP של היעד לשידור ה-UDP. | 255.255.255.255 |
יציאת שידור | חובה. יציאת היעד לשידור ה-UDP. | 5555 |
יציאה להאזנה | חובה. יציאת ההאזנה לתגובת הגילוי של UDP. | 5556 |
חבילת Discovery | חובה. המטען הייעודי שיישלח בשידור ה-UDP. מעוצב כמחרוזת של בייטים בקידוד הקסדצימלי. |
48454C4C4F |
עדכון תגובת הסנכרון במילוי ההזמנות בענן
ההגדרה 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": "..." } }] } }