1. บทนำ
สิ่งที่คุณจะได้เรียนรู้
- วิธีวางแผนและเขียนการทำงานอัตโนมัติที่ใช้สคริปต์
- วิธีทดสอบการทำงานอัตโนมัติที่ใช้สคริปต์
สิ่งที่คุณต้องมี
- โทรศัพท์ Android หรือ iOS ที่ใช้แอป Google Home
- หลอดไฟอัจฉริยะหรืออุปกรณ์อื่นๆ ที่ได้รับการรับรองจาก Works with Google Home และสามารถเปิดหรือปิดได้
2. ตั้งค่าอุปกรณ์
หากยังไม่ได้ตั้งค่าอุปกรณ์ ให้ตั้งค่าอุปกรณ์ในบ้านได้เลย
ตรวจสอบว่าอุปกรณ์ปรากฏในแอป Google Home รวมถึงเปิดและปิดโดยใช้แอป Home ได้
3. วางแผนการทำงานอัตโนมัติที่ใช้สคริปต์
เราจะเริ่มต้นด้วยการนึกถึงสิ่งที่เราต้องการให้การทำงานอัตโนมัติที่ใช้สคริปต์ทํา ซึ่งรวมถึงข้อควรพิจารณาต่อไปนี้
- อุปกรณ์ที่ต้องการให้ทำงานอัตโนมัติ
- เงื่อนไขเริ่มต้น (หรือเหตุการณ์) ใดควรทริกเกอร์การทํางานของการทำงานอัตโนมัติที่ใช้สคริปต์
- เงื่อนไขเพิ่มเติม (หากมี) ใดที่ควบคุมว่าการทำงานอัตโนมัติที่ใช้สคริปต์จะทำงานเมื่อมีการทริกเกอร์หรือไม่
- สิ่งที่ต้องดำเนินการ
สำหรับ Codelab นี้ แผนของเราคือการให้การทำงานอัตโนมัติที่ใช้สคริปต์ทำ 2 สิ่งต่อไปนี้
- เปิดหลอดไฟ (หรืออุปกรณ์อัจฉริยะอื่นๆ) ในเวลาที่เจาะจง
- ปิดอุปกรณ์ในเวลาที่เจาะจง
เมื่อเราเข้าใจอย่างชัดเจนแล้วว่าอยากให้การทำงานอัตโนมัติที่ใช้สคริปต์ทำอะไร เราจึงเปิดเครื่องมือแก้ไขสคริปต์และเขียนระบบการทำงานอัตโนมัติที่ใช้สคริปต์
4. เขียนการทำงานอัตโนมัติที่ใช้สคริปต์
การทำงานอัตโนมัติที่ใช้สคริปต์จะเขียนแบบประกาศโดยใช้ภาษาการเรียงอันดับข้อมูล YAML
การทำงานอัตโนมัติที่ใช้สคริปต์ประกอบด้วยส่วนหลัก 2 ส่วนดังนี้
- ข้อมูลเมตา - ชื่อของการทำงานอัตโนมัติที่ใช้สคริปต์และคำอธิบายการทำงาน
- กฎการทำงานอัตโนมัติ — กำหนดตรรกะการเริ่มต้นและลักษณะการทำงานของการทำงานอัตโนมัติ
ข้อมูลเมตา
ข้อมูลเมตาของการทำงานอัตโนมัติของเราจะบอกผู้ใช้ว่าการทำงานอัตโนมัตินี้เรียกว่าอะไรและทำอะไร มีการระบุข้อมูลเมตาในบล็อก metadata
ซึ่งมีลักษณะดังนี้
metadata:
name: Scheduled light
description: Turn the light on and off at specific times
กฎการทำงานอัตโนมัติ
กฎการทำงานอัตโนมัติคือที่ที่การทำงานจริงจะเกิดขึ้น ซึ่งประกอบด้วย 3 ส่วน ได้แก่ เงื่อนไขเริ่มต้น เงื่อนไข และการดำเนินการ ซึ่งจะได้รับการประเมินตามลำดับ ดังนี้
เงื่อนไขเริ่มต้น 1 รายการ | 2 เงื่อนไข | การดำเนินการ 3 รายการ |
เงื่อนไขเริ่มต้นคือสิ่งที่เริ่มต้นการทํางานอัตโนมัติ เงื่อนไขเริ่มต้นอย่างน้อย 1 ตัวต้องประเมินเป็น | ข้อจำกัดเหล่านี้ไม่บังคับ และประกอบด้วยข้อจำกัดเพิ่มเติมอย่างน้อย 1 ข้อที่ประเมินหลังจากเปิดใช้งานเงื่อนไขเริ่มต้นแล้ว หากเงื่อนไขแก้ไขเป็น เมื่อรวมข้อจำกัดหลายข้อ ให้แยกด้วยคีย์เวิร์ด เงื่อนไขไม่เหมือนกับการแจ้งเตือนการเปลี่ยนแปลงสถานะ
| การดำเนินการคือการดำเนินการที่ดำเนินการเมื่อเงื่อนไขเริ่มต้นและเงื่อนไขข้อจำกัดใดๆ เป็นไปตามเงื่อนไข |
บล็อก automations
ของการทำงานอัตโนมัติของเรามีกฎ 2 ข้อดังนี้
automations:
- starters:
- type: time.schedule
at: 1:00 PM
actions:
- type: device.command.OnOff
devices: Desk light - Office
on: true
- starters:
- type: time.schedule
at: 1:05 PM
actions:
- type: device.command.OnOff
devices: Desk light - Office
on: false
โปรดทราบดังต่อไปนี้
- มีกฎ
automations
2 ข้อ เครื่องแรกเปิดไฟและดวงที่ 2 ปิดไฟ - แต่ละกฎจะมีการดำเนินการเพียงอย่างเดียว
on: true
หมายถึงเปิดไฟ ในทำนองเดียวกันon: false
หมายถึงปิดไฟ- แต่ละกฎจะมีเงื่อนไขเริ่มต้น
time.schedule
รายการเดียวที่บอกการทำงานอัตโนมัติว่าจะเริ่มการทำงานอัตโนมัติเมื่อใด - การทำงานอัตโนมัตินี้ไม่มีเงื่อนไข
5. การทำงานอัตโนมัติที่ใช้สคริปต์เต็มรูปแบบ
เมื่อนำองค์ประกอบทั้งหมดเหล่านี้มาประกอบกัน นี่คือลักษณะของการทำงานอัตโนมัติที่ใช้สคริปต์ทั้งหมด
metadata:
name: Scheduled light
description: Turn the light on and off at specific times
automations:
- starters:
- type: time.schedule
at: 1:00 PM
actions:
- type: device.command.OnOff
devices: Desk light - Office
on: true
- starters:
- type: time.schedule
at: 1:05 PM
actions:
- type: device.command.OnOff
devices: Desk light - Office
on: false
- คัดลอกการทำงานอัตโนมัติ (ด้านบน)
- ไปที่ Google Home สำหรับเว็บ
- เลือกแท็บการทำงานอัตโนมัติ ซึ่งแสดงเป็นไอคอนที่มีดาว 3 ดวง ดังนี้
- คลิก + เพิ่มใหม่
- ลบเทมเพลตการทำงานอัตโนมัติในเครื่องมือแก้ไขสคริปต์
- วางการทำงานอัตโนมัติ
- ให้แทนที่
Desk light - Office
ด้วยชื่อและตำแหน่งของอุปกรณ์ - คลิกตรวจสอบ เครื่องมือแก้ไขสคริปต์จะขีดเส้นใต้ส่วนต่างๆ ของการทำงานอัตโนมัติที่ใช้สคริปต์ที่มีข้อผิดพลาด แก้ไขข้อผิดพลาดที่เกิดขึ้นและตรวจสอบความถูกต้องและแก้ไขต่อไปจนกว่าจะไม่มีข้อผิดพลาดอีก เช่น ชื่ออุปกรณ์อาจแตกต่างออกไป ในกรณีนี้ คุณสามารถใช้ฟีเจอร์เติมข้อความอัตโนมัติเพื่อเลือกชื่ออุปกรณ์ที่ถูกต้องได้
- คลิกบันทึก
- ตรวจสอบว่าสวิตช์เปิดใช้งานใต้ข้อความของสคริปต์อยู่ในตำแหน่งเปิดแล้ว:
6. ทดสอบการทำงานอัตโนมัติ
- ตรวจสอบว่าเสียบปลั๊กอุปกรณ์อยู่และมองเห็นได้ในแอป Google Home
- หากอุปกรณ์เปิดอยู่ ให้ปิดอุปกรณ์
- ในหน้าการทำงานอัตโนมัติใน Google Home สำหรับเว็บ ให้คลิก "เรียกใช้" ข้างการทำงานอัตโนมัติ
- อุปกรณ์ของคุณควรเปิดอยู่
เรามาทดสอบการทำงานอัตโนมัติกัน
- ปิดอุปกรณ์
- แก้ไขการทำงานอัตโนมัติ และเปลี่ยน "อุปกรณ์เปิดอยู่" ในบรรทัดที่ 7 เป็นเวลา 5 นาทีในอนาคต
- เปลี่ยน "ปิดอุปกรณ์" ในบรรทัดที่ 14 เป็นเวลาสั้นๆ หลังจาก "ตรงเวลา"
- คลิกตรวจสอบ แก้ไขข้อผิดพลาดที่อาจเกิดขึ้น
- คลิกบันทึก
- ตรวจสอบว่าสวิตช์เปิดใช้งานอยู่ในตำแหน่งเปิดแล้ว
- รอให้เวลาเริ่มต้น 2 ครั้งผ่านไป อุปกรณ์ควรเปิดแล้วดังขึ้นตามเวลาที่คุณระบุ
7. ยินดีด้วย
คุณสร้างการทำงานอัตโนมัติที่ใช้สคริปต์สำเร็จแล้ว เยี่ยมเลย
คุณได้เรียนรู้วิธีต่อไปนี้ใน Codelab
- วิธีออกแบบและเขียนการทำงานอัตโนมัติ
- วิธีทดสอบการทำงานอัตโนมัติ
ขั้นตอนถัดไป
เราได้สร้างการทำงานอัตโนมัติที่ใช้งานง่ายมากๆ ใน Codelab นี้ การทำงานอัตโนมัติทำได้มากกว่าการตั้งสวิตช์เปิด/ปิด เมื่อเข้าใจพื้นฐานของการสร้างการทำงานอัตโนมัติแล้ว คุณจะสำรวจเงื่อนไขเริ่มต้น เงื่อนไข และการดำเนินการประเภทต่างๆ ที่พร้อมใช้งานในระบบนิเวศของ Google Home ได้
ลองออกกำลังกายดังต่อไปนี้
- เพิ่มเงื่อนไขเริ่มต้น
time.schedule
เพิ่มเติมลงในการทำงานอัตโนมัติ - แก้ไขการทำงานอัตโนมัติเพื่อเปิดและปิดอุปกรณ์อื่นในกำหนดการเดียวกัน
- แก้ไขการทำงานอัตโนมัติให้เปิดเฉพาะในขณะที่อุปกรณ์อีกเครื่องเปิดอยู่เท่านั้นโดยไม่ต้องนำเงื่อนไขเริ่มต้น
time.schedule
ออก ดูสคริปต์ตัวอย่างที่ใช้อนุประโยคcondition
- แก้ไขการทำงานอัตโนมัติให้เปิดอุปกรณ์เมื่อมีคนอยู่บ้านเท่านั้น
อ่านเพิ่มเติม
ดูข้อมูลเพิ่มเติมเกี่ยวกับการทำงานอัตโนมัติของ Google Home ได้จากเอกสารอ้างอิงเกี่ยวกับการทำงานอัตโนมัติ ดังนี้