เราขอแนะนําให้คุณสร้างแอปสําหรับการดําเนินการตามคําสั่งซื้อในพื้นที่โดยทําตามขั้นตอนที่อธิบายไว้ก่อนหน้านี้ แล้วทดสอบการผสานรวมสมาร์ทโฮมในสภาพแวดล้อมการโฮสต์ของคุณเองโดยใช้ขั้นตอนต่อไปนี้
ในสภาพแวดล้อมการโฮสต์ของคุณเอง ให้แสดงหน้า 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
- เปิดโปรเจ็กต์ Smart Home ในคอนโซลการดําเนินการ
- คลิกการดําเนินการในการนําทางด้านซ้าย
- ในส่วนกําหนดค่า SDK ของหน้าแรก (ไม่บังคับ) > ป้อน URL การทดสอบสําหรับ Chrome ให้ระบุ URL ของเซิร์ฟเวอร์สําหรับการพัฒนาที่แสดง HTML ที่เรียกใช้แอปดําเนินการในพื้นที่
- คลิกบันทึก Google อาจใช้เวลาถึง 30 นาทีในการเผยแพร่การเปลี่ยนแปลงในคอนโซล
- รีบูตอุปกรณ์ Google Home หรือ Google Nest
- ออกคําสั่งให้กับอุปกรณ์อัจฉริยะ ตัวอย่างเช่น หากอุปกรณ์ใช้รูปแบบ OnOFF คุณอาจพูดว่า "Ok Google เปิดไฟ"
Node.js
- เปิดโปรเจ็กต์ Smart Home ในคอนโซลการดําเนินการ
- คลิกการดําเนินการในการนําทางด้านซ้าย
- ในส่วนกําหนดค่า SDK ในเครื่อง (ไม่บังคับ) > ป้อน URL การทดสอบสําหรับโหนด ให้ระบุ URL ของเซิร์ฟเวอร์สําหรับการพัฒนาที่ให้บริการ JavaScript ที่เรียกใช้แอปการดําเนินการในเครื่อง
- คลิกบันทึก Google อาจใช้เวลาถึง 30 นาทีในการเผยแพร่การเปลี่ยนแปลงในคอนโซล
- รีบูตอุปกรณ์ Google Home หรือ Google Nest
- ออกคําสั่งให้กับอุปกรณ์อัจฉริยะ ตัวอย่างเช่น หากอุปกรณ์ใช้รูปแบบ OnOFF คุณอาจพูดว่า "Ok Google เปิดไฟ"
โปรดดูรายละเอียดเพิ่มเติมเกี่ยวกับรันไทม์ที่อุปกรณ์ใช้ที่อุปกรณ์ที่รองรับ
การแก้ไขข้อบกพร่องจาก Chrome
คุณแก้ไขข้อบกพร่องของแอปการดําเนินการตามคําสั่งซื้อในพื้นที่ได้โดยใช้ Chrome DevTools ก่อนที่จะแก้ไขข้อบกพร่อง โปรดตรวจสอบว่าได้ตั้งค่าสภาพแวดล้อมอย่างถูกต้องแล้ว
- คุณได้ตั้งค่า URL สําหรับการพัฒนาในคอนโซลเป็น URL ที่อุปกรณ์ Google Home หรือ Google Nest เข้าถึงได้ (ไม่ว่าจะเป็นเครือข่าย LAN หรือผ่านอินเทอร์เน็ต)
- เครื่องเชื่อมต่อกับเครือข่าย LAN เดียวกันกับอุปกรณ์ Google Home หรือ Google Nest ที่คุณกําลังทดสอบ
- เครือข่ายของคุณไม่บล็อกแพ็กเก็ตระหว่างอุปกรณ์
- คุณลงชื่อเข้าใช้ด้วยบัญชี Google เดียวกันในคอนโซล Actions และในอุปกรณ์ Google Home หรือ Google Nest
- คุณได้อัปเดตการตอบสนองของ Sync ในการป้อนข้อมูลในระบบคลาวด์
ซึ่งควรส่งค่าที่ถูกต้องอย่างน้อย 1 ค่าในช่อง
otherDeviceIds
- คุณป้อนข้อมูลการกําหนดค่าการสแกนที่ถูกต้อง ในคอนโซลการดําเนินการ
หากต้องการเชื่อมต่อแอปการดําเนินการตามคําสั่งซื้อในพื้นที่กับโปรแกรมแก้ไขข้อบกพร่องของ Chrome DevTools ให้ทําตามขั้นตอนต่อไปนี้
Chrome
- ในเครื่องพัฒนาซอฟต์แวร์ในเครื่อง ให้ติดตั้งและเปิดเบราว์เซอร์ Google Chrome
- ในช่องที่อยู่ของเบราว์เซอร์ Chrome ให้เปิดเครื่องมือตรวจสอบ Chrome โดยป้อน
chrome://inspect#devices
คุณควรเห็นรายการอุปกรณ์ในหน้า และไฟล์ HTML ควรจะแสดงใต้ชื่ออุปกรณ์ Google Home หรือ Google Nest สําหรับการทดสอบ - คลิกลิงก์ตรวจสอบสีน้ําเงินที่อยู่ใต้ HTML เพื่อเปิดเครื่องมือสําหรับนักพัฒนาเว็บใน Chrome เปลี่ยนเป็นแท็บคอนโซล แพลตฟอร์ม Local Home จะแสดงผลเวอร์ชันแอปและเวอร์ชัน SDK ของ Home ในบันทึกของคอนโซล หากเห็นบันทึก แสดงว่า Google โหลดแอปสําเร็จและสามารถเชื่อมต่อกับแอปได้ หากไม่เห็น ให้รีบูตอุปกรณ์ Google Home หรือ Google Nest

Node.js
- ในเครื่องพัฒนาซอฟต์แวร์ในเครื่อง ให้ติดตั้งและเปิดเบราว์เซอร์ Google Chrome
- ระบุที่อยู่ IP ภายในของอุปกรณ์ทดสอบ
- ในช่องที่อยู่ของเบราว์เซอร์ Chrome ให้เปิดเครื่องมือตรวจสอบ Chrome โดยป้อน
chrome://inspect#devices
- เลือกกําหนดค่า... เพื่อเปิดการตั้งค่าการค้นพบเป้าหมาย
- ป้อน
DEVICE_IP_ADDRESS:9222
ในรายการแล้วคลิกเสร็จสิ้น - คลิกลิงก์ตรวจสอบสีน้ําเงินใต้สคริปต์เพื่อเปิดเครื่องมือสําหรับนักพัฒนาเว็บใน Chrome เปลี่ยนเป็นแท็บคอนโซล แพลตฟอร์ม Local Home จะแสดงผลเวอร์ชันแอปและเวอร์ชัน SDK ของ Home ในบันทึกของคอนโซล หากเห็นบันทึก แสดงว่า Google โหลดแอปสําเร็จและสามารถเชื่อมต่อกับแอปได้ หากไม่เห็น ให้รีบูตอุปกรณ์ Google Home หรือ Google Nest

โปรดดูรายละเอียดเพิ่มเติมเกี่ยวกับรันไทม์ที่อุปกรณ์ใช้ที่อุปกรณ์ที่รองรับ
เคล็ดลับการแก้ปัญหา
สิ่งสําคัญเพิ่มเติมบางประการที่ควรทราบระหว่างการแก้ไขข้อบกพร่องมีดังนี้
- อย่าลิงก์อุปกรณ์ Google Home หรือ Google Nest หลายเครื่องกับบัญชีทดสอบในเครือข่ายภายในเดียวกัน คุณจะควบคุมได้ว่าจะให้อุปกรณ์ Google Home หรือ Google Nest ใดกําหนดเป้าหมายด้วยคําสั่งการดําเนินการตามคําสั่งซื้อในพื้นที่
- รีเฟรชหน้าในเครื่องมือสําหรับนักพัฒนาเว็บใน Chrome เพื่อโหลดคอนเทนเนอร์แอปสําหรับการดําเนินการตามคําสั่งซื้อในพื้นที่ซ้ําด้วยโค้ดล่าสุดจาก URL การพัฒนา การดําเนินการนี้จะไม่รีเซ็ตแพลตฟอร์ม Home Home ซึ่งอาจจําเป็นสําหรับการเรียกใช้ Intent ของแพลตฟอร์มอีกครั้ง (เช่น
IDENTIFY
) ในแอปการดําเนินการในเครื่อง หากต้องการรีเซ็ตแพลตฟอร์ม Home 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 โดยคลิกพัฒนา >
การดําเนินการ ในส่วนกําหนดค่า SDK ของ Home ให้คลิกอัปโหลดไฟล์ JavaScript
รูปที่ 3: อัปโหลดแอป JavaScript - ในกล่องโต้ตอบอัปโหลดไฟล์ ให้อัปโหลดไฟล์กลุ่มที่คุณสร้างไว้ก่อนหน้านี้ โปรดอัปโหลดไฟล์แพ็กเกจทั้ง 2 เวอร์ชัน (โหนดและเว็บ) เพื่อให้การกําหนดค่าการดําเนินการทํางานอย่างถูกต้องในสภาพแวดล้อมรันไทม์ทั้งหมดซึ่งการจําหน่ายในพื้นที่รองรับ
- อัปโหลด JavaScript ที่กําหนดเป้าหมายเป็น Node.js: อัปโหลดไฟล์
bundle.js
จากไดเรกทอรีdist/node
- อัปโหลด JavaScript ที่กําหนดเป้าหมายไปยัง Chrome (เบราว์เซอร์): อัปโหลดไฟล์
bundle.js
จากไดเรกทอรีdist/web
- อัปโหลด JavaScript ที่กําหนดเป้าหมายเป็น Node.js: อัปโหลดไฟล์
- ทดสอบการดําเนินการของคุณในอุปกรณ์ที่พร้อมใช้งาน Assistant เพื่อยืนยันว่าเป็นไปตามที่คาดไว้ในสภาพแวดล้อมการใช้งานจริง ดูข้อมูลเพิ่มเติมได้ที่ทดสอบและแชร์สมาร์ทโฮม
- เมื่อพอใจกับวิธีการทํางานของการดําเนินการแล้ว ให้ส่งคําสั่งดังกล่าวไปยัง Google เพื่อติดตั้งใช้งาน แล้วทําตามวิธีการในการเปิดตัวการดําเนินการของสมาร์ทโฮม ซึ่งรวมถึงขั้นตอนการส่งคําขอทดสอบด้วยตนเองและการรับรอง