สร้างเทมเพลตอัตโนมัติ

เกี่ยวกับ Codelab นี้
schedule34 นาที
subjectอัปเดตล่าสุดเมื่อ 26 กันยายน 2566
account_circleเขียนโดย Jonathan Donald and Andres Gomez
  • วิธีออกแบบและเขียนเทมเพลตการทำงานอัตโนมัติ
  • วิธีทดสอบเทมเพลตอัตโนมัติโดยใช้ Google Home Developer Console
  • โทรศัพท์ Android หรือ iOS ที่ใช้แอป Google Home
  • หลอดไฟอัจฉริยะที่เพิ่มไปยังบ้านแล้ว หรืออุปกรณ์จำลองใน Google Home Playground

คุณควรทำความคุ้นเคยกับวิธีเขียนการทำงานอัตโนมัติของ Google Home หากคุณไม่เคยเขียนการทำงานอัตโนมัติมาก่อน ให้พิจารณาใช้ Codelab ของสร้างการทำงานอัตโนมัติที่ใช้สคริปต์ก่อนที่จะดำเนินการต่อ

นักพัฒนาแอปสร้างเทมเพลตการทำงานอัตโนมัติโดยใช้เครื่องมือแก้ไขเทมเพลตการทำงานอัตโนมัติใน Google Home Developer Console เทมเพลตการทำงานอัตโนมัติมีใจความสำคัญของตรรกะของสคริปต์ โดยอ้างอิงประเภทอุปกรณ์ แต่ไม่ได้ระบุอุปกรณ์ที่เฉพาะเจาะจง

เมื่อใช้เครื่องมือแก้ไขสคริปต์การทำงานอัตโนมัติของ Google Home สำหรับเว็บ ผู้ใช้ปลายทางจะใช้เทมเพลตการทำงานอัตโนมัติและสร้างอินสแตนซ์ที่ปรับเปลี่ยนในแบบของคุณเพื่อให้ใช้งานได้กับอุปกรณ์บางเครื่องในบ้านของตนเอง เมื่อบันทึกแล้ว อินสแตนซ์จะปรากฏในส่วนกิจวัตรของครอบครัวในแอป Google Home (GHA)

3. วางแผนเทมเพลตการทำงานอัตโนมัติ

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

  • อุปกรณ์ที่ต้องการให้ทำงานอัตโนมัติ
  • เงื่อนไขเริ่มต้น (หรือเหตุการณ์) ใดควรทริกเกอร์การทํางานอัตโนมัติ
  • เงื่อนไขเพิ่มเติม (หากมี) ใดที่ควบคุมว่าการทำงานอัตโนมัติจะทำงานเมื่อมีการทริกเกอร์หรือไม่
  • สิ่งที่ต้องดำเนินการ

สำหรับ Codelab นี้ การทำงานอัตโนมัติจะทำ 2 อย่างต่อไปนี้

  1. เปิดไฟในเวลาที่เจาะจง
  2. ปิดไฟดวงเดิมในเวลาที่เฉพาะเจาะจง

เมื่อคำนึงถึงเรื่องนี้แล้ว คุณก็พร้อมที่จะเปิดเครื่องมือแก้ไขเทมเพลตและเขียนการทำงานอัตโนมัติได้แล้ว

4. เขียนเทมเพลตอัตโนมัติ

การทำงานอัตโนมัติจะเขียนในรูปแบบการประกาศโดยใช้ภาษาการเรียงอันดับข้อมูล YAML

เทมเพลตอัตโนมัติมี 3 ส่วนหลักดังนี้

  1. ข้อมูลเมตา - ชื่อของการทำงานอัตโนมัติ คำอธิบายการทำงานของการทำงาน และแท็กบางส่วนที่ใช้ในการแยกประเภทการทำงานอัตโนมัติ (ไม่บังคับ) คีย์เวิร์ดมีดังนี้:
    • ไฟและปลั๊ก
    • สภาพภูมิอากาศและพลังงาน
    • ความปลอดภัยและการรับรู้
    • ความบันเทิง
    • เครื่องใช้ไฟฟ้าและอื่นๆ
  2. อินพุต - กําหนดประเภทอุปกรณ์ที่ใช้ควบคุมการทำงานอัตโนมัติ เครื่องมืออัตโนมัติใช้ข้อมูลนี้เพื่อให้ทราบประเภทการดำเนินการที่ใช้ได้กับอุปกรณ์ที่ต้องการ
  3. กฎการทำงานอัตโนมัติ — กำหนดตรรกะการเริ่มต้นและลักษณะการทำงานของการทำงานอัตโนมัติ

นี่คือเทมเพลตอัตโนมัติที่คุณจะใช้ได้

metadata:
  name:
    en: Scheduled light
  description:
    en: Turn the light on and off at specific times
  tags:
    - LIGHTING AND PLUGS
input:
  the_light:
    metadata:
      name:
        en: The light
      description:
        en: The light to be controlled
    selector:
      type: device
      multiSelect: true
      supportedTypes:
        - LIGHT
  time_on:
    metadata:
      name:
        en: Time to turn on the light.
      description:
        en: The time of day to turn on the selected light.
    selector:
      type: time
      default: sunset+30min
  time_off:
    metadata:
      name:
        en: Time to turn off the light.
      description:
        en: The time of day to turn off the selected light.
    selector:
      type: time
      default: 10:00 pm
automations:
  - name: Turn on the light
    starters:
      - type: time.schedule
        at: $time_on
    actions:
      - type: device.command.OnOff
        devices: $the_light
        on: true
  - name: Turn off the light
    starters:
      - type: time.schedule
        at: $time_off
    actions:
      - type: device.command.OnOff
        devices: $the_light
        on: false

อ่านเทมเพลตและสังเกตข้อมูลต่อไปนี้

  • ส่วน metadata ประกอบด้วยชื่อและคำอธิบายของการทำงานอัตโนมัตินี้
  • ส่วน input กำหนดตัวแปรชื่อ the_light ซึ่งระบุอุปกรณ์ประเภท LIGHT ซึ่งหมายความว่าเทมเพลตนี้ใช้ได้เฉพาะกับหลอดไฟเท่านั้น จะใช้กับอุปกรณ์ประเภทอื่นไม่ได้ กล่าวคือ เมื่อผู้ใช้ตั้งค่าการทำงานอัตโนมัติในบ้านของตนเอง ผู้ใช้จะได้รับข้อความแจ้งให้เลือกอุปกรณ์ให้ $the_light การเลือกอุปกรณ์ของผู้ใช้จะจำกัดไว้เฉพาะอุปกรณ์ประเภทที่คุณระบุเท่านั้น
  • นอกจากนี้ ที่กำหนดไว้ในส่วน input คือตัวแปร 2 รายการที่ชื่อ time_on และ time_off ข้อมูลเหล่านี้ช่วยให้ผู้ใช้ระบุได้ว่าจะเริ่มการทำงานอัตโนมัติเมื่อใด time_on แสดงเวลาที่เปิดไฟ และ time_off แสดงเวลาที่ปิดไฟ หากผู้ใช้ไม่ได้ตั้งค่าเป็น time_on หรือ time_off ระบบจะใช้ค่าเริ่มต้น
  • ส่วน automations ของการทำงานอัตโนมัติของเรามีกฎอัตโนมัติอยู่ 2 กฎ แต่ละกฎจะมีเงื่อนไขเริ่มต้น time.schedule รายการเดียวที่บอกการทำงานอัตโนมัติว่าควรเริ่มการทำงานอัตโนมัติเมื่อใด

เครื่องมือแก้ไขเทมเพลต

เครื่องมือแก้ไขเทมเพลตการทำงานอัตโนมัติเป็นเครื่องมือที่คุณใช้เขียนเทมเพลตการทำงานอัตโนมัติ

  1. ไปที่ Google Home Developer Console
  2. ลงชื่อเข้าใช้ด้วยบัญชีเดียวกับที่ตั้งค่าอุปกรณ์ในแอป Google Home
  3. สร้างหรือเลือกโปรเจ็กต์ที่มีอยู่
  4. ในส่วนการทำงานอัตโนมัติ ให้คลิกพัฒนา
  5. คลิกสร้างเทมเพลต
  6. คัดลอก "ไฟที่ตั้งเวลาไว้" เทมเพลตการทำงานอัตโนมัติ
  7. วาง "ไฟที่กำหนดเวลาไว้" เทมเพลตอัตโนมัติลงในเครื่องมือแก้ไขเทมเพลต
  8. คลิกตรวจสอบ แก้ไขข้อผิดพลาดที่เกิดขึ้นและตรวจสอบความถูกต้องและแก้ไขต่อไปจนกว่าจะไม่พบข้อผิดพลาด
  9. คลิกบันทึกเพื่อบันทึกเทมเพลต

5. ทดสอบเทมเพลต

ตอนนี้คุณทดสอบเทมเพลตในคอนโซลได้แล้ว

  1. ตรวจสอบว่าเสียบปลั๊กไฟอยู่และมองเห็นได้ในแอป Google Home
  2. หากไฟเปิดอยู่ ให้ปิดไฟ
  3. ไปที่ Google Home Developer Console
  4. เปิดโปรเจ็กต์ที่คุณสร้างเทมเพลตไว้
  5. เลือกการทำงานอัตโนมัติ แล้วเลือกแท็บทดสอบ
  6. คลิกเปิดข้าง "ไฟที่ตั้งเวลาไว้" เทมเพลตการทำงานอัตโนมัติ
  7. เลือกโครงสร้างที่คุณต้องการทดสอบเทมเพลต แล้วคลิกถัดไป
  8. ระบุชื่อหลอดไฟในเครื่องมือแก้ไข InputValue เช่น หากหลอดไฟชื่อว่า "ไฟตั้งโต๊ะ - สำนักงาน" คุณต้องเลือก Desk light - Office จากเมนูแบบเลื่อนลงที่ปรากฏขึ้นเมื่อคลิกทางด้านขวาของ lights หรือคุณอาจพิมพ์ชื่ออุปกรณ์ลงไป
  9. นอกจากนี้ ในตัวแก้ไข InputValue ให้ระบุเวลา time_on เป็นช่วงเวลาดังกล่าว โดยให้เป็นเวลา 5 นาทีในอนาคต และเปลี่ยนเวลา time_off เป็นเวลาหลังจาก time_on ในไม่ช้า
  10. เมื่อเสร็จแล้ว เครื่องมือแก้ไข InputValue ควรมีลักษณะดังนี้
    inputValue:
     #add value
     the_light: Desk light - Office
     #add value
     time_off: 11:45 am
     #add value
     time_on: 11:40 am
    
  11. คลิกเปิดใช้งานการทดสอบ
  12. รอให้เวลาเริ่มต้น 2 ครั้งผ่านไป ไฟควรติดสว่างแล้วดับลงตามเวลาที่กำหนด

เมื่อทดสอบเทมเพลตเรียบร้อยแล้ว คุณจะรู้ว่าการทำงานอัตโนมัติทำงานอย่างถูกต้อง

6. ยินดีด้วย

คุณสร้างเทมเพลตอัตโนมัติเรียบร้อยแล้ว ยอดเยี่ยม!

คุณได้เรียนรู้วิธีต่อไปนี้ใน Codelab

  • วิธีออกแบบและเขียนเทมเพลตการทำงานอัตโนมัติ
  • วิธีทดสอบใน Google Home Developer Console

ขั้นตอนถัดไป

คุณได้สร้างการทำงานอัตโนมัติที่ใช้งานง่ายมากๆ ใน Codelab นี้ การทำงานอัตโนมัติทำได้มากกว่าการกำหนดเวลาสลับไฟ ตอนนี้เมื่อเข้าใจพื้นฐานของการสร้างและทดสอบเทมเพลตการทำงานอัตโนมัติแล้ว คุณก็สามารถลองสร้างเทมเพลตการทำงานอัตโนมัติประเภทอื่นๆ สำหรับอุปกรณ์โดยใช้เงื่อนไขเริ่มต้น เงื่อนไข และการดำเนินการต่างๆ ได้

อ่านเพิ่มเติม

ดูข้อมูลเพิ่มเติมเกี่ยวกับการทำงานอัตโนมัติของ Google Home ได้จากเอกสารอ้างอิงเกี่ยวกับการทำงานอัตโนมัติ ดังนี้