1. บทนำ
สิ่งที่คุณจะได้เรียนรู้
- วิธีออกแบบและเขียนเทมเพลตการทำงานอัตโนมัติ
- วิธีทดสอบเทมเพลตการทำงานอัตโนมัติโดยใช้ Google Home Developer Console
สิ่งที่คุณต้องมี
- โทรศัพท์ Android หรือ iOS ที่เรียกใช้แอป Google Home
- หลอดไฟอัจฉริยะที่เชื่อมต่อกับบ้าน หรืออุปกรณ์จำลองในสนามเด็กเล่นของ Google Home
ข้อกำหนดเบื้องต้น
คุณควรคุ้นเคยกับวิธีเขียนการทำงานอัตโนมัติของ Google Home หากคุณไม่เคยเขียนการทำงานอัตโนมัติมาก่อน โปรดลองทำ Codelab สร้างการทำงานอัตโนมัติที่ใช้สคริปต์ก่อนดำเนินการต่อ
2. เทมเพลตและการทำงานอัตโนมัติ
นักพัฒนาแอปสร้างเทมเพลตการทำงานอัตโนมัติโดยใช้เครื่องมือแก้ไขเทมเพลตการทำงานอัตโนมัติใน Google Home Developer Console เทมเพลตการทำงานอัตโนมัติมีแก่นของตรรกะสคริปต์ที่อ้างอิงประเภทอุปกรณ์ แต่ไม่ได้อ้างอิงอุปกรณ์ที่เฉพาะเจาะจง
การใช้เครื่องมือแก้ไขสคริปต์การทำงานอัตโนมัติของ Google Home สำหรับเว็บ ผู้ใช้ปลายทางจะใช้เทมเพลตการทำงานอัตโนมัติและสร้างอินสแตนซ์ที่ปรับเปลี่ยนในแบบของตนเองซึ่งจะทำงานในอุปกรณ์ที่เฉพาะเจาะจงในบ้านของตนเอง เมื่อบันทึกแล้ว อินสแตนซ์จะปรากฏในส่วนกิจวัตรในบ้านในแอป Google Home (GHA)
3. วางแผนเทมเพลตการทำงานอัตโนมัติ
เมื่อสร้างการทำงานอัตโนมัติ สิ่งแรกที่ต้องทำคือคิดถึงปัญหาที่ต้องการแก้ไข และการทำงานอัตโนมัติจะช่วยแก้ปัญหาได้อย่างไร ซึ่งรวมถึงข้อควรพิจารณาต่อไปนี้
- อุปกรณ์ที่คุณต้องการทำให้เป็นอัตโนมัติ
- เงื่อนไขเริ่มต้น (หรือเหตุการณ์) ใดที่ควรทริกเกอร์การดำเนินการของการทำงานอัตโนมัติ
- เงื่อนไขเพิ่มเติม (หากมี) ที่ควบคุมว่าการทำงานอัตโนมัติจะทำงานเมื่อทริกเกอร์หรือไม่
- การดำเนินการที่จะทำ
การทำงานอัตโนมัติจะทำ 2 สิ่งต่อไปนี้เพื่อวัตถุประสงค์ของ Codelab นี้
- เปิดไฟในเวลาที่เจาะจง
- ปิดไฟดวงเดียวกันในเวลาที่เฉพาะเจาะจง
เมื่อทราบข้อมูลนี้แล้ว คุณก็พร้อมที่จะเปิดเครื่องมือแก้ไขเทมเพลตและเขียนการทำงานอัตโนมัติ
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. ยินดีด้วย
คุณสร้างเทมเพลตการทำงานอัตโนมัติเรียบร้อยแล้ว ยอดเยี่ยม!
ในโค้ดแล็บนี้ คุณได้เรียนรู้วิธีการต่อไปนี้
- วิธีออกแบบและเขียนเทมเพลตการทำงานอัตโนมัติ
- วิธีทดสอบใน Google Home Developer Console
ขั้นตอนถัดไป
ในโค้ดแล็บนี้ คุณได้สร้างการทำงานอัตโนมัติที่เรียบง่ายมาก การทำงานอัตโนมัติทำได้มากกว่าการตั้งเวลาเปิด/ปิดไฟ ตอนนี้คุณเข้าใจพื้นฐานของการสร้างและทดสอบเทมเพลตการทำงานอัตโนมัติแล้ว คุณสามารถลองสร้างเทมเพลตการทำงานอัตโนมัติสำหรับอุปกรณ์ประเภทอื่นๆ โดยใช้เงื่อนไขเริ่มต้น เงื่อนไข และการดำเนินการที่แตกต่างกันได้
อ่านเพิ่มเติม
ดูข้อมูลเพิ่มเติมเกี่ยวกับการทำงานอัตโนมัติของ Google Home ได้ที่เอกสารอ้างอิงการทำงานอัตโนมัติ