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 ข้อ คำสั่งแรกจะเปิดไฟ และคำสั่งที่ 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 ได้ในเอกสารอ้างอิงการทำงานอัตโนมัติ