เราขอแนะนำให้คุณสร้างแอปการดำเนินการตามคำสั่งซื้อในพื้นที่โดยใช้ขั้นตอนที่อธิบายไว้ก่อนหน้านี้ จากนั้นทดสอบการผสานรวมสมาร์ทโฮมในสภาพแวดล้อมโฮสติ้งของคุณเองโดยทำตามขั้นตอนต่อไปนี้
ในสภาพแวดล้อมโฮสติ้งของคุณเอง ให้แสดงหน้า HTML ที่เรียกใช้แอปการดำเนินการตามคำสั่งซื้อในท้องถิ่น ข้อมูลโค้ดต่อไปนี้แสดงตัวอย่างของไฟล์ HTML แบบคงที่ที่เรียกใช้แอปการดำเนินการตามคำสั่งซื้อในเครื่อง
<html> <head> <!-- Local Home SDK --> <script src="//www.gstatic.com/eureka/smarthome/smarthome_sdk.js"></script> <!-- Local app under development --> <script src="local_execution.js"></script> </head> </html>
แก้ไขข้อบกพร่องจาก Chrome ใช้จุดหยุดพักและบันทึกเพื่อแก้ปัญหาการผสานรวม
แก้ไขและคอมไพล์โค้ด TypeScript ของคุณ จากนั้นทำซ้ำขั้นตอนเหล่านี้
การทำตามกระบวนการสร้างและทดสอบซ้ำๆ นี้จะช่วยให้คุณเห็นการเปลี่ยนแปลงที่เกิดขึ้นได้อย่างรวดเร็ว และตรวจหาและแก้ไขข้อบกพร่องของโค้ดได้ง่ายขึ้น
ทดสอบระบบควบคุมอุปกรณ์
ในคอนโซลการดำเนินการ คุณต้องระบุ URL ของเว็บแอป ซึ่งจะแสดง HTML ที่โหลดในอุปกรณ์ Google Home หรือ Google Nest ในระหว่างการดำเนินการตามคำสั่งซื้อในร้าน
หากต้องการทดสอบการควบคุมอุปกรณ์ด้วยการดำเนินการตามคำสั่งซื้อในพื้นที่ ให้ทำตามขั้นตอนต่อไปนี้
Chrome
- เปิดโปรเจ็กต์สมาร์ทโฮมในคอนโซล Actions
- คลิกการดําเนินการในการนําทางด้านซ้าย
- ในส่วนกำหนดค่า SDK หน้าแรกในเครื่อง (ไม่บังคับ) > ป้อน URL การทดสอบสำหรับ Chrome ให้ระบุ URL ของเซิร์ฟเวอร์การพัฒนาซอฟต์แวร์ที่แสดง HTML ที่เรียกใช้แอป Fulfillment ในเครื่อง
- คลิกบันทึก Google อาจใช้เวลาถึง 30 นาทีในการทำให้การเปลี่ยนแปลงในคอนโซลมีผล
- รีบูตอุปกรณ์ Google Home หรือ Google Nest ที่ใช้ทดสอบ
- ออกคำสั่งให้อุปกรณ์อัจฉริยะ เช่น หากอุปกรณ์ใช้ลักษณะ OnOff คุณอาจพูดว่า "Ok Google เปิดไฟ"
Node.js
- เปิดโปรเจ็กต์สมาร์ทโฮมในคอนโซล Actions
- คลิกการดําเนินการในการนําทางด้านซ้าย
- ในส่วนกําหนดค่า SDK ของบ้านในเครื่อง (ไม่บังคับ) > ป้อน URL การทดสอบสําหรับ Node ให้ระบุ URL ของเซิร์ฟเวอร์การพัฒนาที่แสดง JavaScript ที่เรียกใช้แอปการจำหน่ายสินค้าในร้าน
- คลิกบันทึก Google อาจใช้เวลาถึง 30 นาทีในการเผยแพร่การเปลี่ยนแปลงในคอนโซล
- รีบูตอุปกรณ์ Google Home หรือ Google Nest ที่ใช้ทดสอบ
- ออกคำสั่งให้อุปกรณ์อัจฉริยะ เช่น หากอุปกรณ์ใช้ลักษณะ OnOff คุณอาจพูดว่า "Ok Google เปิดไฟ"
ดูรายละเอียดเพิ่มเติมเกี่ยวกับรันไทม์ที่อุปกรณ์ของคุณใช้ได้ที่อุปกรณ์ที่รองรับ
การแก้ไขข้อบกพร่องจาก Chrome
คุณแก้ไขข้อบกพร่องของแอปการดำเนินการตามคำสั่งซื้อในพื้นที่ได้โดยใช้ Chrome DevTools ก่อนที่จะแก้ไขข้อบกพร่อง โปรดตรวจสอบว่าได้ตั้งค่าสภาพแวดล้อมอย่างถูกต้องแล้ว โดยทำดังนี้
- คุณได้ตั้งค่า URL การพัฒนาในคอนโซลเป็น URL ที่อุปกรณ์ Google Home หรือ Google Nest เข้าถึงได้ (ในเครือข่ายท้องถิ่นหรือผ่านอินเทอร์เน็ต)
- เครื่องของคุณเชื่อมต่อกับเครือข่ายท้องถิ่นเดียวกันกับอุปกรณ์ Google Home หรือ Google Nest ที่คุณทดสอบ
- เครือข่ายจะไม่บล็อกแพ็กเก็ตระหว่างอุปกรณ์
- คุณลงชื่อเข้าใช้ด้วยบัญชี Google เดียวกันในคอนโซล Actions และในอุปกรณ์ Google Home หรือ Google Nest
- คุณได้อัปเดตการตอบสนองการซิงค์ในระบบประมวลผลคำสั่งซื้อบนระบบคลาวด์แล้ว
โดยควรแสดงผลค่าที่ถูกต้องอย่างน้อย 1 ค่าในช่อง
otherDeviceIds
- คุณได้ป้อนข้อมูลการกําหนดค่าการสแกนที่ถูกต้องในคอนโซลการดําเนินการ
หากต้องการเชื่อมต่อแอปการดำเนินการตามคำสั่งซื้อในเครื่องกับเครื่องมือแก้ไขข้อบกพร่องของเครื่องมือสำหรับนักพัฒนาเว็บ Chrome ให้ทำตามขั้นตอนต่อไปนี้
Chrome
- ติดตั้งและเปิดเบราว์เซอร์ Google Chrome ในเครื่องสำหรับพัฒนาซอฟต์แวร์
- ในช่องที่อยู่ของเบราว์เซอร์ Chrome ให้เปิดเครื่องมือตรวจสอบของ Chrome โดยป้อน
chrome://inspect#devices
คุณควรเห็นรายการอุปกรณ์ในหน้า และไฟล์ HTML ควรแสดงอยู่ในรายการใต้ชื่ออุปกรณ์ Google Home หรือ Google Nest ทดสอบ - คลิกลิงก์ตรวจสอบสีน้ำเงินใต้ HTML เพื่อเปิดใช้เครื่องมือสำหรับนักพัฒนาเว็บใน Chrome เปลี่ยนไปใช้แท็บคอนโซล แพลตฟอร์ม Home ในพื้นที่จะแสดงเวอร์ชันแอปและเวอร์ชัน SDK ของ Home ในพื้นที่ในบันทึกคอนโซล หากเห็นบันทึก แสดงว่า Google โหลดแอปของคุณสำเร็จแล้วและเชื่อมต่อแอปได้ หากไม่ ให้รีบูตอุปกรณ์ Google Home หรือ Google Nest
Node.js
- ติดตั้งและเปิดเบราว์เซอร์ Google Chrome ในเครื่องสำหรับพัฒนาซอฟต์แวร์
- ระบุที่อยู่ IP ภายในของอุปกรณ์ทดสอบ
- ในช่องที่อยู่ของเบราว์เซอร์ Chrome ให้เปิดเครื่องมือตรวจสอบของ Chrome โดยป้อน
chrome://inspect#devices
- เลือกกําหนดค่า... เพื่อเปิดการตั้งค่าการค้นพบเป้าหมาย
- ป้อน
DEVICE_IP_ADDRESS:9222
ในรายการ แล้วคลิกเสร็จสิ้น - คลิกลิงก์ตรวจสอบสีน้ำเงินใต้สคริปต์เพื่อเปิดเครื่องมือสำหรับนักพัฒนาเว็บใน Chrome เปลี่ยนไปที่แท็บคอนโซล แพลตฟอร์ม Home ในพื้นที่จะแสดงเวอร์ชันแอปและเวอร์ชัน SDK ของ Home ในพื้นที่ในบันทึกคอนโซล หากเห็นบันทึก แสดงว่า Google โหลดแอปของคุณสำเร็จและเชื่อมต่อกับแอปได้ หากไม่ ให้รีบูตอุปกรณ์ Google Home หรือ Google Nest
ดูรายละเอียดเพิ่มเติมเกี่ยวกับรันไทม์ที่อุปกรณ์ของคุณใช้ได้ที่อุปกรณ์ที่รองรับ
เคล็ดลับการแก้ไขข้อบกพร่อง
สิ่งสำคัญเพิ่มเติมที่ควรทราบระหว่างการแก้ไขข้อบกพร่องมีดังนี้
- อย่าลิงก์อุปกรณ์ Google Home หรือ Google Nest หลายเครื่องกับบัญชีทดสอบในเครือข่ายภายในเดียวกัน คุณจะควบคุมไม่ได้ว่าอุปกรณ์ Google Home หรือ Google Nest เครื่องใดกำหนดเป้าหมายด้วยคำสั่งการดำเนินการตามคำสั่งซื้อในเครื่อง
- รีเฟรชหน้าในเครื่องมือสำหรับนักพัฒนาเว็บของ Chrome เพื่อโหลดคอนเทนเนอร์แอปการดำเนินการตามคำสั่งซื้อในพื้นที่อีกครั้งด้วยโค้ดล่าสุดจาก URL การพัฒนา การดำเนินการนี้จะไม่รีเซ็ตแพลตฟอร์ม Local Home ซึ่งอาจจำเป็นต่อการเรียก Intent ของแพลตฟอร์มอีกครั้ง (เช่น
IDENTIFY
) ในแอปการดำเนินการตามคำสั่งซื้อในพื้นที่ หากต้องการรีเซ็ตแพลตฟอร์ม Local Home ให้รีบูตอุปกรณ์ Google Home หรือ Google Nest - ตรวจสอบว่าแอป JavaScript โหลดโดยไม่มีข้อผิดพลาด โดยดูที่ส่วนคอนโซลของหน้าเครื่องมือสำหรับนักพัฒนาเว็บ หากมีปัญหา คุณจะเห็นข้อความดังต่อไปนี้
Uncaught TypeError: Cannot read property ‘open’ of null.
verificationId
จากการตอบกลับIDENTIFY
ต้องตรงกับotherDeviceIds
รายการใดรายการหนึ่งจากการตอบกลับSYNC
- สําหรับตัวแฮนเดิล
EXECUTE
ให้ตรวจสอบว่าอุปกรณ์รับคําสั่ง HTTP, TCP หรือ UDP ได้และทํางานตามที่คาดไว้ - อย่าลืมส่งคืน
Promise
จากตัวแฮนเดิล - หลีกเลี่ยงการเก็บสถานะส่วนกลางไว้ในหน่วยความจํา ดูวงจรของแอปพลิเคชัน
- ข้อผิดพลาดที่เกิดจากแอปการดำเนินการตามคำสั่งซื้อในพื้นที่จะปรากฏในบันทึกข้อผิดพลาดของโปรเจ็กต์
เตรียมพร้อมและเปิดตัวเวอร์ชันที่ใช้งานจริง
เมื่อพร้อมเปิดใช้งานการดำเนินการในบ้านอัจฉริยะแล้ว ให้ทำตามขั้นตอนต่อไปนี้
- เปิดเทอร์มินัล เรียกใช้คำสั่ง
npm run build
ในไดเรกทอรีโปรเจ็กต์ คำสั่งนี้จะสร้างแพ็กเกจ JavaScript ต่อไปนี้สําหรับแอปของคุณในไดเรกทอรีdist
project-directory/ └── dist ├── web │ └── bundle.js └── node └── bundle.js
- ในคอนโซล ให้อัปโหลดแอป JavaScript โดยคลิกพัฒนา > การดําเนินการ ในส่วนกำหนดค่า Local Home SDK ให้คลิกอัปโหลดไฟล์ JavaScript
- ในกล่องโต้ตอบอัปโหลดไฟล์ ให้อัปโหลดไฟล์กลุ่มที่คุณสร้างขึ้นก่อนหน้านี้ อย่าลืมอัปโหลดไฟล์กลุ่มทั้ง 2 เวอร์ชัน (Node, Web) เพื่อให้ระบบกําหนดค่าการดำเนินการให้ทํางานได้อย่างถูกต้องในรันไทม์ทุกสภาพแวดล้อมที่การจำหน่ายในพื้นที่รองรับ
- อัปโหลด JavaScript ที่กําหนดเป้าหมาย Node.js: อัปโหลดไฟล์
bundle.js
จากไดเรกทอรีdist/node
- อัปโหลด JavaScript ที่กําหนดเป้าหมาย Chrome (เบราว์เซอร์): อัปโหลดไฟล์
bundle.js
จากไดเรกทอรีdist/web
- อัปโหลด JavaScript ที่กําหนดเป้าหมาย Node.js: อัปโหลดไฟล์
- ทดสอบการดำเนินการในอุปกรณ์ที่พร้อมใช้งาน Assistant เพื่อยืนยันว่าการดำเนินการทำงานตามที่คาดไว้ในสภาพแวดล้อมเวอร์ชันที่ใช้งานจริง ดูข้อมูลเพิ่มเติมได้ที่หัวข้อทดสอบและแชร์การดำเนินการในบ้านอัจฉริยะ
- เมื่อพอใจกับวิธีการทํางานของการดำเนินการแล้ว ให้ส่งการดำเนินการไปยัง Google เพื่อนำไปใช้งานจริงโดยทําตามวิธีการในเปิดตัวการดำเนินการสมาร์ทโฮม ซึ่งรวมถึงการทดสอบด้วยตนเองและการทำตามขั้นตอนการขอการรับรองให้เสร็จสมบูรณ์