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

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

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