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

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

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

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

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

  1. ไปที่การผสานรวม Cloud-to-cloud ใน Google Home Developer Console โดยทำดังนี้

    ไปที่ Developer Console

  2. ไปที่โปรเจ็กต์ > จากระบบคลาวด์สู่ระบบคลาวด์ทางด้านซ้ายของหน้าจอ แล้วเลือกแก้ไขสำหรับการผสานรวม ในหน้าการตั้งค่าและการกำหนดค่า ให้เลื่อนไปที่การดำเนินการในพื้นที่ แล้วเปิดการตั้งค่า ป้อน 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
แอตทริบิวต์ คำอธิบาย ค่าตัวอย่าง
ที่อยู่การค้นพบ ต้องระบุ ที่อยู่ 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": "..."
      }
    }]
  }
}