ยินดีต้อนรับสู่ Google Home Developer Center แหล่งใหม่เรียนรู้วิธีพัฒนาการดําเนินการในบ้านอัจฉริยะ หมายเหตุ: คุณจะสร้างการดําเนินการต่างๆ ต่อไปในคอนโซลการดําเนินการ

ทดสอบและแก้ไขข้อบกพร่องของแอป

จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

เราขอแนะนําให้คุณสร้างแอปสําหรับการดําเนินการตามคําสั่งซื้อในพื้นที่โดยทําตามขั้นตอนที่อธิบายไว้ก่อนหน้านี้ แล้วทดสอบการผสานรวมสมาร์ทโฮมในสภาพแวดล้อมการโฮสต์ของคุณเองโดยใช้ขั้นตอนต่อไปนี้

  1. ในสภาพแวดล้อมการโฮสต์ของคุณเอง ให้แสดงหน้า 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>
    
    
  2. ทดสอบการควบคุมอุปกรณ์

  3. แก้ไขข้อบกพร่องจาก Chrome ใช้เบรกพอยท์และบันทึกเพื่อแก้ปัญหาการผสานรวม

  4. แก้ไขและคอมไพล์โค้ด TypeScript แล้วทําตามขั้นตอนเหล่านี้ซ้ํา

การทําซ้ํากระบวนการทดสอบและทดสอบนี้จะทําให้คุณเห็นการเปลี่ยนแปลงของการดําเนินการที่เกิดขึ้นจริงได้อย่างรวดเร็วและง่ายดาย รวมถึงแก้ปัญหาและแก้ไขข้อบกพร่องของโค้ด

ทดสอบการควบคุมอุปกรณ์

ในคอนโซลการดําเนินการ คุณต้องระบุ URL ของเว็บแอป ซึ่งจะแสดง HTML ที่โหลดในอุปกรณ์ Google Home หรือ Google Nest ในระหว่างการดําเนินการตามคําสั่งซื้อในพื้นที่

หากต้องการทดสอบการควบคุมอุปกรณ์ด้วยการดําเนินการตามคําสั่งซื้อในพื้นที่ ให้ทําตามขั้นตอนต่อไปนี้

Chrome

  1. เปิดโปรเจ็กต์ Smart Home ในคอนโซลการดําเนินการ
  2. คลิกการดําเนินการในการนําทางด้านซ้าย
  3. ในส่วนกําหนดค่า SDK ของหน้าแรก (ไม่บังคับ) > ป้อน URL การทดสอบสําหรับ Chrome ให้ระบุ URL ของเซิร์ฟเวอร์สําหรับการพัฒนาที่แสดง HTML ที่เรียกใช้แอปดําเนินการในพื้นที่
  4. คลิกบันทึก Google อาจใช้เวลาถึง 30 นาทีในการเผยแพร่การเปลี่ยนแปลงในคอนโซล
  5. รีบูตอุปกรณ์ Google Home หรือ Google Nest
  6. ออกคําสั่งให้กับอุปกรณ์อัจฉริยะ ตัวอย่างเช่น หากอุปกรณ์ใช้รูปแบบ OnOFF คุณอาจพูดว่า "Ok Google เปิดไฟ"

Node.js

  1. เปิดโปรเจ็กต์ Smart Home ในคอนโซลการดําเนินการ
  2. คลิกการดําเนินการในการนําทางด้านซ้าย
  3. ในส่วนกําหนดค่า SDK ในเครื่อง (ไม่บังคับ) > ป้อน URL การทดสอบสําหรับโหนด ให้ระบุ URL ของเซิร์ฟเวอร์สําหรับการพัฒนาที่ให้บริการ JavaScript ที่เรียกใช้แอปการดําเนินการในเครื่อง
  4. คลิกบันทึก Google อาจใช้เวลาถึง 30 นาทีในการเผยแพร่การเปลี่ยนแปลงในคอนโซล
  5. รีบูตอุปกรณ์ Google Home หรือ Google Nest
  6. ออกคําสั่งให้กับอุปกรณ์อัจฉริยะ ตัวอย่างเช่น หากอุปกรณ์ใช้รูปแบบ 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

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

Node.js

  1. ในเครื่องพัฒนาซอฟต์แวร์ในเครื่อง ให้ติดตั้งและเปิดเบราว์เซอร์ Google Chrome
  2. ระบุที่อยู่ IP ภายในของอุปกรณ์ทดสอบ
  3. ในช่องที่อยู่ของเบราว์เซอร์ Chrome ให้เปิดเครื่องมือตรวจสอบ Chrome โดยป้อน chrome://inspect#devices
  4. เลือกกําหนดค่า... เพื่อเปิดการตั้งค่าการค้นพบเป้าหมาย
  5. รูปที่ 2: การตั้งค่ากําหนดกลุ่มเป้าหมายใน chrome://inspect
  6. ป้อน DEVICE_IP_ADDRESS:9222 ในรายการแล้วคลิกเสร็จสิ้น
  7. คลิกลิงก์ตรวจสอบสีน้ําเงินใต้สคริปต์เพื่อเปิดเครื่องมือสําหรับนักพัฒนาเว็บใน 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 จากเครื่องจัดการ
  • หลีกเลี่ยงการคงสถานะส่วนกลางในหน่วยความจํา ดูวงจรของแอปพลิเคชัน
  • ข้อผิดพลาดที่แอปการดําเนินการตามคําสั่งซื้อในพื้นที่จะปรากฏในบันทึกข้อผิดพลาดของโปรเจ็กต์

เตรียมและเปิดตัวเวอร์ชันที่ใช้งานจริง

เมื่อพร้อมเปิดตัวการดําเนินการสมาร์ทโฮมแล้ว ให้ทําตามขั้นตอนต่อไปนี้

  1. เปิดเทอร์มินัล เรียกใช้คําสั่ง npm run build ในไดเรกทอรีโปรเจ็กต์ คําสั่งต่อไปนี้จะสร้างแพ็กเกจ JavaScript ต่อไปนี้สําหรับแอปของคุณภายใต้ไดเรกทอรี dist
    project-directory/
    └── dist
     ├── web
     │    └── bundle.js
     └── node
          └── bundle.js
    
  2. ในคอนโซล ให้อัปโหลดแอป JavaScript โดยคลิกพัฒนา > การดําเนินการ ในส่วนกําหนดค่า SDK ของ Home ให้คลิกอัปโหลดไฟล์ JavaScript
    รูปที่ 3: อัปโหลดแอป JavaScript
  3. ในกล่องโต้ตอบอัปโหลดไฟล์ ให้อัปโหลดไฟล์กลุ่มที่คุณสร้างไว้ก่อนหน้านี้ โปรดอัปโหลดไฟล์แพ็กเกจทั้ง 2 เวอร์ชัน (โหนดและเว็บ) เพื่อให้การกําหนดค่าการดําเนินการทํางานอย่างถูกต้องในสภาพแวดล้อมรันไทม์ทั้งหมดซึ่งการจําหน่ายในพื้นที่รองรับ
    1. อัปโหลด JavaScript ที่กําหนดเป้าหมายเป็น Node.js: อัปโหลดไฟล์ bundle.js จากไดเรกทอรี dist/node
    2. อัปโหลด JavaScript ที่กําหนดเป้าหมายไปยัง Chrome (เบราว์เซอร์): อัปโหลดไฟล์ bundle.js จากไดเรกทอรี dist/web
  4. ทดสอบการดําเนินการของคุณในอุปกรณ์ที่พร้อมใช้งาน Assistant เพื่อยืนยันว่าเป็นไปตามที่คาดไว้ในสภาพแวดล้อมการใช้งานจริง ดูข้อมูลเพิ่มเติมได้ที่ทดสอบและแชร์สมาร์ทโฮม
  5. เมื่อพอใจกับวิธีการทํางานของการดําเนินการแล้ว ให้ส่งคําสั่งดังกล่าวไปยัง Google เพื่อติดตั้งใช้งาน แล้วทําตามวิธีการในการเปิดตัวการดําเนินการของสมาร์ทโฮม ซึ่งรวมถึงขั้นตอนการส่งคําขอทดสอบด้วยตนเองและการรับรอง