1. บทนำ
สิ่งที่คุณจะได้เรียนรู้
- วิธีออกแบบและเขียนเทมเพลตการทำงานอัตโนมัติ
- วิธีทดสอบเทมเพลตอัตโนมัติโดยใช้ Google Home Developer Console
สิ่งที่ต้องมี
- โทรศัพท์ Android หรือ iOS ที่ใช้แอป Google Home
- หลอดไฟอัจฉริยะที่เพิ่มไปยังบ้านแล้ว หรืออุปกรณ์จำลองใน Google Home Playground
ข้อกำหนดเบื้องต้น
คุณควรทำความคุ้นเคยกับวิธีเขียนการทำงานอัตโนมัติของ Google Home หากคุณไม่เคยเขียนการทำงานอัตโนมัติมาก่อน ให้พิจารณาใช้ Codelab ของสร้างการทำงานอัตโนมัติที่ใช้สคริปต์ก่อนที่จะดำเนินการต่อ
2. เทมเพลตและอินสแตนซ์การทำงานอัตโนมัติ
นักพัฒนาแอปสร้างเทมเพลตการทำงานอัตโนมัติโดยใช้เครื่องมือแก้ไขเทมเพลตการทำงานอัตโนมัติใน Google Home Developer Console เทมเพลตการทำงานอัตโนมัติมีใจความสำคัญของตรรกะของสคริปต์ โดยอ้างอิงประเภทอุปกรณ์ แต่ไม่ได้ระบุอุปกรณ์ที่เฉพาะเจาะจง
เมื่อใช้เครื่องมือแก้ไขสคริปต์การทำงานอัตโนมัติของ Google Home สำหรับเว็บ ผู้ใช้ปลายทางจะใช้เทมเพลตการทำงานอัตโนมัติและสร้างอินสแตนซ์ที่ปรับเปลี่ยนในแบบของคุณเพื่อให้ใช้งานได้กับอุปกรณ์บางเครื่องในบ้านของตนเอง เมื่อบันทึกแล้ว อินสแตนซ์จะปรากฏในส่วนกิจวัตรของครอบครัวในแอป Google Home (GHA)
3. วางแผนเทมเพลตการทำงานอัตโนมัติ
เมื่อสร้างการทำงานอัตโนมัติ สิ่งหนึ่งเริ่มต้นด้วยการนึกถึงปัญหาที่พยายามแก้ไขอยู่ และสิ่งที่ระบบอัตโนมัติจะทำเพื่อแก้ไขปัญหา ซึ่งรวมถึงข้อควรพิจารณาต่อไปนี้
- อุปกรณ์ที่ต้องการให้ทำงานอัตโนมัติ
- เงื่อนไขเริ่มต้น (หรือเหตุการณ์) ใดควรทริกเกอร์การทํางานอัตโนมัติ
- เงื่อนไขเพิ่มเติม (หากมี) ใดที่ควบคุมว่าการทำงานอัตโนมัติจะทำงานเมื่อมีการทริกเกอร์หรือไม่
- สิ่งที่ต้องดำเนินการ
สำหรับ Codelab นี้ การทำงานอัตโนมัติจะทำ 2 อย่างต่อไปนี้
- เปิดไฟในเวลาที่เจาะจง
- ปิดไฟดวงเดิมในเวลาที่เฉพาะเจาะจง
เมื่อคำนึงถึงเรื่องนี้แล้ว คุณก็พร้อมที่จะเปิดเครื่องมือแก้ไขเทมเพลตและเขียนการทำงานอัตโนมัติได้แล้ว
4. เขียนเทมเพลตอัตโนมัติ
การทำงานอัตโนมัติจะเขียนในรูปแบบการประกาศโดยใช้ภาษาการเรียงอันดับข้อมูล YAML
เทมเพลตอัตโนมัติมี 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
รายการเดียวที่บอกการทำงานอัตโนมัติว่าควรเริ่มการทำงานอัตโนมัติเมื่อใด
เครื่องมือแก้ไขเทมเพลต
เครื่องมือแก้ไขเทมเพลตการทำงานอัตโนมัติเป็นเครื่องมือที่คุณใช้เขียนเทมเพลตการทำงานอัตโนมัติ
- ไปที่ Google Home Developer Console
- ลงชื่อเข้าใช้ด้วยบัญชีเดียวกับที่ตั้งค่าอุปกรณ์ในแอป Google Home
- สร้างหรือเลือกโปรเจ็กต์ที่มีอยู่
- ในส่วนการทำงานอัตโนมัติ ให้คลิกพัฒนา
- คลิกสร้างเทมเพลต
- คัดลอก "ไฟที่ตั้งเวลาไว้" เทมเพลตการทำงานอัตโนมัติ
- วาง "ไฟที่กำหนดเวลาไว้" เทมเพลตอัตโนมัติลงในเครื่องมือแก้ไขเทมเพลต
- คลิกตรวจสอบ แก้ไขข้อผิดพลาดที่เกิดขึ้นและตรวจสอบความถูกต้องและแก้ไขต่อไปจนกว่าจะไม่พบข้อผิดพลาด
- คลิกบันทึกเพื่อบันทึกเทมเพลต
5. ทดสอบเทมเพลต
ตอนนี้คุณทดสอบเทมเพลตในคอนโซลได้แล้ว
- ตรวจสอบว่าเสียบปลั๊กไฟอยู่และมองเห็นได้ในแอป Google Home
- หากไฟเปิดอยู่ ให้ปิดไฟ
- ไปที่ Google Home Developer Console
- เปิดโปรเจ็กต์ที่คุณสร้างเทมเพลตไว้
- เลือกการทำงานอัตโนมัติ แล้วเลือกแท็บทดสอบ
- คลิกเปิดข้าง "ไฟที่ตั้งเวลาไว้" เทมเพลตการทำงานอัตโนมัติ
- เลือกโครงสร้างที่คุณต้องการทดสอบเทมเพลต แล้วคลิกถัดไป
- ระบุชื่อหลอดไฟในเครื่องมือแก้ไข InputValue เช่น หากหลอดไฟชื่อว่า "ไฟตั้งโต๊ะ - สำนักงาน" คุณต้องเลือก
Desk light - Office
จากเมนูแบบเลื่อนลงที่ปรากฏขึ้นเมื่อคลิกทางด้านขวาของlights
หรือคุณอาจพิมพ์ชื่ออุปกรณ์ลงไป - นอกจากนี้ ในตัวแก้ไข InputValue ให้ระบุเวลา
time_on
เป็นช่วงเวลาดังกล่าว โดยให้เป็นเวลา 5 นาทีในอนาคต และเปลี่ยนเวลาtime_off
เป็นเวลาหลังจากtime_on
ในไม่ช้า - เมื่อเสร็จแล้ว เครื่องมือแก้ไข InputValue ควรมีลักษณะดังนี้
inputValue: #add value the_light: Desk light - Office #add value time_off: 11:45 am #add value time_on: 11:40 am
- คลิกเปิดใช้งานการทดสอบ
- รอให้เวลาเริ่มต้น 2 ครั้งผ่านไป ไฟควรติดสว่างแล้วดับลงตามเวลาที่กำหนด
เมื่อทดสอบเทมเพลตเรียบร้อยแล้ว คุณจะรู้ว่าการทำงานอัตโนมัติทำงานอย่างถูกต้อง
6. ยินดีด้วย
คุณสร้างเทมเพลตอัตโนมัติเรียบร้อยแล้ว ยอดเยี่ยม!
คุณได้เรียนรู้วิธีต่อไปนี้ใน Codelab
- วิธีออกแบบและเขียนเทมเพลตการทำงานอัตโนมัติ
- วิธีทดสอบใน Google Home Developer Console
ขั้นตอนถัดไป
คุณได้สร้างการทำงานอัตโนมัติที่ใช้งานง่ายมากๆ ใน Codelab นี้ การทำงานอัตโนมัติทำได้มากกว่าการกำหนดเวลาสลับไฟ ตอนนี้เมื่อเข้าใจพื้นฐานของการสร้างและทดสอบเทมเพลตการทำงานอัตโนมัติแล้ว คุณก็สามารถลองสร้างเทมเพลตการทำงานอัตโนมัติประเภทอื่นๆ สำหรับอุปกรณ์โดยใช้เงื่อนไขเริ่มต้น เงื่อนไข และการดำเนินการต่างๆ ได้
อ่านเพิ่มเติม
ดูข้อมูลเพิ่มเติมเกี่ยวกับการทำงานอัตโนมัติของ Google Home ได้จากเอกสารอ้างอิงเกี่ยวกับการทำงานอัตโนมัติ ดังนี้