1. บทนำ
สิ่งที่คุณจะได้เรียนรู้
- วิธีวางแผนและเขียนการทำงานอัตโนมัติที่ใช้สคริปต์
- วิธีทดสอบการทำงานอัตโนมัติที่ใช้สคริปต์
สิ่งที่คุณต้องมี
- โทรศัพท์ Android หรือ iOS ที่เรียกใช้แอป Google Home
- หลอดไฟอัจฉริยะหรืออุปกรณ์อื่นๆ ที่ได้รับการรับรองว่าใช้ได้กับ 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 Starters | 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 จะปิดไฟ - กฎแต่ละข้อมีการดำเนินการเดียว
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. ยินดีด้วย
คุณสร้างการทำงานอัตโนมัติที่ใช้สคริปต์เรียบร้อยแล้ว ยอดเยี่ยมมาก
ในโค้ดแล็บนี้ คุณได้เรียนรู้วิธีการต่อไปนี้
- วิธีออกแบบและเขียนการทำงานอัตโนมัติ
- วิธีทดสอบการทำงานอัตโนมัติ
ขั้นตอนถัดไป
ในโค้ดแล็บนี้ เราได้สร้างการทำงานอัตโนมัติที่ง่ายมากๆ การทำงานอัตโนมัติทำได้มากกว่าการตั้งเวลาเปิด/ปิดสวิตช์ไฟ เมื่อเข้าใจพื้นฐานของการสร้างการทำงานอัตโนมัติแล้ว คุณก็สามารถสำรวจเงื่อนไขเริ่มต้น เงื่อนไข และการดำเนินการประเภทต่างๆ ที่มีอยู่ในระบบนิเวศของ Google Home ได้
ลองทำแบบฝึกหัดต่อไปนี้
- เพิ่ม
time.scheduleเงื่อนไขเริ่มต้นลงในการทำงานอัตโนมัติ - แก้ไขการทำงานอัตโนมัติเพื่อเปิดและปิดอุปกรณ์อื่นตามกำหนดการเดียวกัน
- โดยไม่ต้องนำเงื่อนไขเริ่มต้น
time.scheduleออก ให้แก้ไขการทำงานอัตโนมัติให้เปิดอุปกรณ์เฉพาะเมื่อเปิดอุปกรณ์อื่น โปรดดูสคริปต์ตัวอย่างที่ใช้คําสั่งcondition - แก้ไขการทำงานอัตโนมัติให้เปิดอุปกรณ์เฉพาะเมื่อมีคนอยู่บ้าน
อ่านเพิ่มเติม
ดูข้อมูลเพิ่มเติมเกี่ยวกับการทำงานอัตโนมัติของ Google Home ได้ที่เอกสารอ้างอิงการทำงานอัตโนมัติ