สนับสนุนการค้นพบอุปกรณ์

ระบบจะสร้างเส้นทางการดำเนินการในพื้นที่เมื่อ Google จับคู่อุปกรณ์ที่ควบคุมได้ในพื้นที่ กับอุปกรณ์ที่ส่งคืนในคำตอบของ SYNC จากการดำเนินการในระบบคลาวด์

หากต้องการให้ Google ค้นพบอุปกรณ์ในเครือข่าย LAN และสร้าง เส้นทางการดำเนินการในพื้นที่ คุณต้องเพิ่มข้อมูลการค้นพบในคอนโซล Actions นอกจากนี้ คุณยังต้องอัปเดตการตอบกลับ SYNC จากการดำเนินการตามคำสั่งบนคลาวด์เพื่อให้ Google ทราบเกี่ยวกับอุปกรณ์ที่ควบคุมได้ในพื้นที่

ตั้งค่าข้อมูลการกำหนดค่าการสแกน

หากต้องการระบุข้อมูลการค้นพบ ให้ทำตามขั้นตอนต่อไปนี้

  1. ไปที่Cloud-to-cloudการผสานรวมในGoogle Home Developer Console

    ไปที่ Developer Console

  2. ไปที่โปรเจ็กต์ > Cloud-to-Cloud ทางด้านซ้ายของหน้าจอ แล้วเลือกแก้ไขสำหรับการผสานรวม ในหน้าการตั้งค่าและการกำหนดค่า ให้เลื่อนไปที่การปฏิบัติตามคำสั่งในพื้นที่ แล้วเปิดการตั้งค่า ป้อน URL ต่อไปนี้ลงในช่อง URL ทดสอบแต่ละช่อง แทรกรหัสโปรเจ็กต์ แล้วคลิกบันทึก

    https://<project-id>.web.app/local-home/index.html

  3. คลิก + เพิ่มการกำหนดค่าการสแกนในส่วนการค้นหาอุปกรณ์เพื่อเพิ่มการกำหนดค่าการสแกนใหม่

  4. เลือกประเภทโปรโตคอลการจับคู่การสแกนจากเมนูแบบเลื่อนลง แล้วป้อนค่าเพื่อให้ Google สแกน

ตารางต่อไปนี้แสดงแอตทริบิวต์ที่คุณเพิ่มได้โดยอิงตามโปรโตคอล ที่ต้องการให้ Google ใช้เพื่อสแกนหาอุปกรณ์

mDNS
แอตทริบิวต์ คำอธิบาย ค่าตัวอย่าง
ชื่อบริการ ต้องระบุ ชื่อบริการที่อุปกรณ์เผยแพร่ในรูปแบบ service.domain _http._tcp.local
ชื่อ

ต้องระบุ กรองอินสแตนซ์บริการที่ไม่ซ้ำกันในรูปแบบ instance.service.domain

แพลตฟอร์มจะถือว่าค่านี้เป็นนิพจน์ทั่วไปและแสดงผลอุปกรณ์ที่ตรงกัน
my-device-[0-9]{4}\._http\._tcp\.local
UPnP
แอตทริบิวต์ คำอธิบาย ค่าตัวอย่าง
ประเภทบริการ ต้องระบุ ตัวระบุที่สมบูรณ์ในตัวเองของบริการ UPnP ในรูปแบบ domain:service:type:version schemas-upnp-org:service:SwitchPower:1
OUI

ไม่บังคับ ตัวระบุที่ไม่ซ้ำกันระดับองค์กร

ค่า 24 บิตที่ระบุผู้ผลิตอุปกรณ์ โดยปกติแล้วจะเป็น 3 อ็อกเท็ตแรกของที่อยู่ MAC ของอุปกรณ์
1A:2B:3C
UDP
แอตทริบิวต์ คำอธิบาย ค่าตัวอย่าง
ที่อยู่ Discovery ต้องระบุ ที่อยู่ IP ปลายทางสำหรับการออกอากาศ UDP 255.255.255.255
พอร์ตการออกอากาศ ต้องระบุ พอร์ตปลายทางสำหรับการออกอากาศ UDP 5555
พอร์ตที่กำลังรอการเชื่อมต่อ ต้องระบุ พอร์ตที่ใช้ฟังการตอบกลับการค้นหา UDP 5556
แพ็กเกจ Discovery

ต้องระบุ เพย์โหลดที่จะส่งในการออกอากาศ UDP

จัดรูปแบบเป็นสตริงของไบต์ที่เข้ารหัสฐานสิบหก
48454C4C4F

อัปเดตการตอบกลับ SYNC ในการดำเนินการตามคำสั่งบนระบบคลาวด์

รายงานความตั้งใจ SYNC จะแจ้งให้ Assistant ทราบว่าผู้ใช้ควบคุมอุปกรณ์ใดและความสามารถของอุปกรณ์เหล่านั้น

แพลตฟอร์ม Local Home จะตรวจสอบSYNCการตอบกลับ จากการดำเนินการสมาร์ทโฮมในระบบคลาวด์และพยายามจับคู่รหัสอุปกรณ์ ในช่อง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": "..."
      }
    }]
  }
}