ระบบจะสร้างเส้นทางการดำเนินการภายในเมื่อ Google จับคู่อุปกรณ์ที่ควบคุมได้ภายในกับอุปกรณ์ที่แสดงในการตอบกลับ SYNC จากการดำเนินการในระบบคลาวด์
หากต้องการให้ Google ค้นพบอุปกรณ์ของคุณในเครือข่ายภายในและสร้างเส้นทางการดำเนินการภายใน คุณต้องเพิ่มข้อมูลการค้นพบในคอนโซล Actions
นอกจากนี้ คุณยังต้องอัปเดตการตอบกลับ SYNC จากการดำเนินการบนระบบคลาวด์เพื่อให้ Google ทราบเกี่ยวกับอุปกรณ์ที่ควบคุมได้ในเครื่อง
ตั้งค่าข้อมูลการกำหนดค่าการสแกน
หากต้องการระบุข้อมูลการค้นพบ ให้ทำตามขั้นตอนต่อไปนี้
ไปที่การผสานรวม Cloud-to-cloud ใน Google Home Developer Console โดยทำดังนี้
ไปที่โปรเจ็กต์ > จากระบบคลาวด์สู่ระบบคลาวด์ทางด้านซ้ายของหน้าจอ แล้วเลือกแก้ไขสำหรับการผสานรวม ในหน้าการตั้งค่าและการกำหนดค่า ให้เลื่อนไปที่การดำเนินการในพื้นที่ แล้วเปิดการตั้งค่า ป้อน 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 บิตที่ระบุผู้ผลิตอุปกรณ์ โดยปกติแล้วจะเป็นอ็อกเท็ต 3 ตัวแรกของที่อยู่ MAC ของอุปกรณ์ |
1A:2B:3C |
| แอตทริบิวต์ | คำอธิบาย | ค่าตัวอย่าง |
|---|---|---|
| ที่อยู่การค้นพบ | ต้องระบุ ที่อยู่ IP ปลายทางสำหรับการออกอากาศ UDP | 255.255.255.255 |
| พอร์ตการออกอากาศ | ต้องระบุ พอร์ตปลายทางสำหรับการออกอากาศ UDP | 5555 |
| พอร์ตที่กำลังรอการเชื่อมต่อ | ต้องระบุ พอร์ตที่รอรับการตอบกลับการค้นหา UDP | 5556 |
| แพ็กเก็ตการสำรวจ | ต้องระบุ เพย์โหลดที่จะส่งในการออกอากาศ UDP จัดรูปแบบเป็นสตริงไบต์ที่เข้ารหัสเลขฐาน 16 |
48454C4C4F |
อัปเดตการตอบสนองการซิงค์ในการดำเนินการบนระบบคลาวด์
Intent SYNC จะรายงาน Assistant ว่าผู้ใช้ควบคุมอุปกรณ์ใดบ้างและความสามารถของอุปกรณ์เหล่านั้น
แพลตฟอร์ม Local Home จะตรวจสอบการตอบกลับ SYNC จากการดำเนินการตามคำสั่งซื้อในระบบคลาวด์ของสมาร์ทโฮม Action และพยายามจับคู่รหัสอุปกรณ์ในช่อง otherDeviceIds กับรหัสการยืนยันที่แฮนเดิล 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": "..." } }] } }