เราขอแนะนำให้คุณสร้างแอปการดำเนินการตามคำสั่งซื้อในพื้นที่โดยใช้ขั้นตอนที่อธิบายไว้ก่อนหน้านี้ จากนั้นทดสอบการผสานรวมสมาร์ทโฮมในสภาพแวดล้อมโฮสติ้งของคุณเองโดยทำตามขั้นตอนต่อไปนี้
ในสภาพแวดล้อมโฮสติ้งของคุณเอง ให้แสดงหน้า 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 แล้วทําตามขั้นตอนเหล่านี้ซ้ำ
การทำตามกระบวนการสร้างและทดสอบซ้ำๆ นี้จะช่วยให้คุณเห็นการเปลี่ยนแปลงที่เกิดขึ้นได้อย่างรวดเร็ว ซึ่งจะช่วยแก้ไขข้อบกพร่องเกี่ยวกับโค้ดได้
ทดสอบการควบคุมอุปกรณ์
ใน Google Home Developer Console คุณต้องระบุ URL ของเว็บแอป ซึ่งจะแสดง HTML ที่โหลดในอุปกรณ์ Google Home หรือ Google Nest ในระหว่างการดำเนินการตามคำสั่งซื้อในร้าน
หากต้องการทดสอบการควบคุมอุปกรณ์ด้วยการดำเนินการตามคำสั่งซื้อในพื้นที่ ให้ทำตามขั้นตอนต่อไปนี้
Chrome
- ในหน้าการตั้งค่าและการกําหนดค่าของการผสานรวมระบบคลาวด์กับระบบคลาวด์ใน Google Home Developer Console ให้เลื่อนไปที่การจำหน่ายในพื้นที่ แล้วเปิดการตั้งค่า
- ในส่วน Testing URLs > Testing URL for Chrome ให้ระบุ URL ของเซิร์ฟเวอร์การพัฒนาซอฟต์แวร์ภายในที่แสดง HTML ที่เรียกใช้แอปการดำเนินการตามคำสั่งซื้อในพื้นที่
- คลิกบันทึก Google อาจใช้เวลาถึง 30 นาทีจึงจะเผยแพร่การเปลี่ยนแปลงในคอนโซล
- รีบูตอุปกรณ์ Google Home หรือ Google Nest ที่ใช้ทดสอบ
- ออกคำสั่งให้อุปกรณ์อัจฉริยะ เช่น หากอุปกรณ์ใช้ลักษณะ OnOff คุณอาจพูดว่า "Ok Google เปิดไฟ"
Node.js
- ในหน้าการตั้งค่าและการกําหนดค่าของ Google Home Developer Console ให้เลื่อนไปที่การจำหน่ายสินค้าในร้าน แล้วเปิดการตั้งค่า
- ในส่วน Testing URLs > Testing URL for Node ให้ระบุ URL ของเซิร์ฟเวอร์สำหรับนักพัฒนาซอฟต์แวร์ที่แสดง JavaScript ที่เรียกใช้แอปการดำเนินการตามคำสั่งซื้อในเครื่อง
- คลิกบันทึก Google อาจใช้เวลาถึง 30 นาทีจึงจะเผยแพร่การเปลี่ยนแปลงในคอนโซล
- รีบูตอุปกรณ์ Google Home หรือ Google Nest ที่ใช้ทดสอบ
- ออกคำสั่งให้อุปกรณ์อัจฉริยะ เช่น หากอุปกรณ์ใช้ลักษณะ OnOff คุณอาจพูดว่า "Ok Google เปิดไฟ"
ดูรายละเอียดเพิ่มเติมเกี่ยวกับรันไทม์ที่อุปกรณ์ของคุณใช้ได้ที่อุปกรณ์ที่รองรับ
แก้ไขข้อบกพร่องจาก Chrome
คุณแก้ไขข้อบกพร่องของแอปการดำเนินการตามคำสั่งซื้อในพื้นที่ได้โดยใช้ Chrome DevTools ก่อนที่จะแก้ไขข้อบกพร่อง โปรดตรวจสอบว่าได้ตั้งค่าสภาพแวดล้อมอย่างถูกต้องแล้ว โดยทำดังนี้
- คุณได้ตั้งค่า URL การพัฒนาในคอนโซลเป็น URL ที่อุปกรณ์ Google Home หรือ Google Nest เข้าถึงได้ (ในเครือข่าย LAN หรือใช้อินเทอร์เน็ต)
- เครื่องของคุณเชื่อมต่อกับเครือข่ายท้องถิ่นเดียวกันกับอุปกรณ์ Google Home หรือ Google Nest ที่คุณทดสอบ
- เครือข่ายไม่ได้บล็อกแพ็กเก็ตระหว่างอุปกรณ์
- คุณเข้าสู่ระบบด้วยบัญชี Google เดียวกันใน Google Home Developer Console และในอุปกรณ์ Google Home หรือ Google Nest
- คุณได้อัปเดตการตอบสนองการซิงค์ในระบบประมวลผลคำสั่งซื้อบนระบบคลาวด์แล้ว
โดยควรแสดงผลค่าที่ถูกต้องอย่างน้อย 1 ค่าในช่อง
otherDeviceIds
- คุณได้ป้อนข้อมูลการกําหนดค่าการสแกนที่ถูกต้องใน Google Home Developer Console
หากต้องการเชื่อมต่อแอปการดำเนินการตามคำสั่งซื้อในเครื่องกับเครื่องมือแก้ไขข้อบกพร่องของเครื่องมือสำหรับนักพัฒนาเว็บ 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 การพัฒนา การดําเนินการนี้จะไม่รีเซ็ตแพลตฟอร์มบ้านในพื้นที่ ซึ่งอาจจําเป็นต่อการทริกเกอร์ความตั้งใจของแพลตฟอร์ม (เช่น
IDENTIFY
) อีกครั้งในแอปการดำเนินการตามคำสั่งซื้อในพื้นที่ หากต้องการรีเซ็ตแพลตฟอร์มบ้านในพื้นที่ ให้รีบูตอุปกรณ์ Google Home หรือ Google Nest - ตรวจสอบว่าแอป JavaScript โหลดโดยไม่มีข้อผิดพลาด ซึ่งทำได้โดยตรวจสอบส่วนคอนโซลของหน้า DevTools หากมีปัญหา คุณจะเห็นข้อความอย่างเช่น "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
- ในหน้าการตั้งค่าและการกําหนดค่าของ Google Home Developer Console ให้เลื่อนไปที่การจำหน่ายสินค้าในร้าน แล้วเปิดการตั้งค่า
- ใช้ปุ่มอัปโหลด JavaScript เพื่ออัปโหลดไฟล์กลุ่มที่คุณสร้างขึ้นก่อนหน้านี้
ตรวจสอบว่าได้อัปโหลดไฟล์กลุ่มทั้ง 2 เวอร์ชัน (Node, Web) เพื่อให้ระบบกําหนดค่าการดําเนินการให้ทํางานได้อย่างถูกต้องในสภาพแวดล้อมรันไทม์ทั้งหมดที่การจำหน่ายในพื้นที่รองรับ
- อัปโหลด JavaScript ที่กําหนดเป้าหมาย Node.js: อัปโหลดไฟล์
bundle.js
จากไดเรกทอรีdist/node
- อัปโหลด JavaScript ที่กําหนดเป้าหมาย Chrome (เบราว์เซอร์): อัปโหลดไฟล์
bundle.js
จากไดเรกทอรีdist/web
- อัปโหลด JavaScript ที่กําหนดเป้าหมาย Node.js: อัปโหลดไฟล์
- ทดสอบการดำเนินการในอุปกรณ์ที่พร้อมใช้งาน Assistant เพื่อยืนยันว่าการดำเนินการทำงานตามที่คาดไว้ในสภาพแวดล้อมเวอร์ชันที่ใช้งานจริง ดูข้อมูลเพิ่มเติมได้ที่หัวข้อทดสอบและแชร์การดำเนินการในบ้านอัจฉริยะ
- เมื่อพอใจกับวิธีการทํางานของการดำเนินการแล้ว ให้ส่งการดำเนินการไปยัง Google เพื่อนำไปใช้งานจริงโดยทําตามวิธีการในเปิดตัวการดำเนินการสมาร์ทโฮม ซึ่งรวมถึงการทดสอบด้วยตนเองและการทำตามขั้นตอนการขอการรับรองให้เสร็จสมบูรณ์