คุณควรออกแบบการทำงานอัตโนมัติก่อนเริ่มใช้ Automation API
กำหนดพารามิเตอร์ต่อไปนี้สำหรับการทำงานอัตโนมัติแต่ละรายการ
- สถานการณ์ที่ควรแนะนำการทำงานอัตโนมัติแก่ผู้ใช้ เช่น หากผู้ใช้เพิ่งเพิ่มไฟใหม่ 3 ดวงในบ้าน ผู้ใช้อาจสนใจการทำงานอัตโนมัติบางอย่างที่ปรับแต่งมาเพื่อควบคุมไฟ
- ประเภทอุปกรณ์ที่จำเป็นสำหรับการทำงานอัตโนมัติ เช่น หากผู้ใช้เพิ่งเพิ่มไฟใหม่ 3 ดวงในบ้าน ผู้ใช้อาจสนใจการทำงานอัตโนมัติบางอย่างที่ปรับแต่งมาเพื่อควบคุมไฟ ประเภทอุปกรณ์ไฟ เช่น
OnOffLightDevice,ColorTemperatureLightDevice,DimmableLightDeviceหรือExtendedColorLightDevice - แอตทริบิวต์และคำสั่งของ Trait ที่จำเป็นสำหรับการทำงานอัตโนมัติ รวมถึง การที่ Automation API ใน Android รองรับแอตทริบิวต์และคำสั่งเหล่านั้นหรือไม่
- Trait ที่ควรเปิดใช้งานการทำงานอัตโนมัติเป็นเงื่อนไขเริ่มต้น เราจะพูดถึงเงื่อนไขเริ่มต้นในส่วนคอมโพเนนต์การทำงานอัตโนมัติใน Android
- เงื่อนไขเพิ่มเติมที่กำหนดว่าการทำงานอัตโนมัติควรทำงานจริงหรือไม่ รวมถึงการดำเนินการที่จะต้องทำ
- โฟลว์การดำเนินการสำหรับการทำงานอัตโนมัติ ควรดำเนินการตามลำดับหรือขนานกัน คุณต้องการเส้นทางตรรกะหลายเส้นทางหรือไม่
เมื่อออกแบบ คุณอาจวาดแผนผังโฟลว์ของการทำงานอัตโนมัติทีละโหนดพร้อมกับตรรกะที่จำเป็นในแต่ละขั้นตอน
เมื่อออกแบบการทำงานอัตโนมัติแล้ว ให้ใช้ Automation DSL เพื่อสร้างการทำงานอัตโนมัตินั้น การทำงานอัตโนมัติที่คุณสร้างขึ้นนั้นเป็น "เทมเพลต" โดยพื้นฐานแล้ว โครงสร้างและอุปกรณ์ใดๆ ในเทมเพลตจะเป็นตัวยึดตำแหน่งและจะมีการป้อนข้อมูลโครงสร้างและอุปกรณ์ที่เฉพาะเจาะจงของผู้ใช้แต่ละรายเมื่อผู้ใช้ "นำ" การทำงานอัตโนมัติไปใช้เอง
ต่อไปนี้คือการทำงานอัตโนมัติประเภทต่างๆ ที่แอปสร้างได้โดยใช้ Home API ดูข้อมูลโค้ดที่เกี่ยวข้องกับตัวอย่างเหล่านี้ได้ในหน้าสร้างการทำงานอัตโนมัติ
การทำงานอัตโนมัติอย่างง่าย
สมมติว่าคุณต้องเขียนแอปที่สร้างการทำงานอัตโนมัติที่ยกมู่ลี่ขึ้นเวลา 8:00 น. เพื่อให้ทำเช่นนี้ได้ แอปต้องมีรายการมู่ลี่ (อุปกรณ์ที่มีประเภทอุปกรณ์ WindowCoveringDevice) ในโครงสร้างที่รองรับการทำงานอัตโนมัติ ซึ่ง Discovery API จะเป็นผู้ให้ข้อมูลนี้
สำหรับการทำงานอัตโนมัติที่ต้องทำงานในเวลาที่กำหนด คุณต้องตรวจสอบด้วยว่า ผู้ใช้ได้กำหนดที่อยู่สำหรับโครงสร้างที่เลือกไว้ใน Google Home app (GHA)แล้ว มิเช่นนั้นการทำงานอัตโนมัติจะไม่ทราบเขตเวลา ที่จะทำงาน Discovery API ช่วยให้คุณระบุได้ว่ามีการกำหนดที่อยู่ให้กับโครงสร้างหรือไม่
ดังนั้นโฟลว์การดำเนินการจะมีลักษณะดังนี้
- ใช้ Discovery API เพื่อรวบรวมรายการอุปกรณ์
WindowCoveringDevice - หากไม่มีการป้อนที่อยู่ ให้แจ้งให้ผู้ใช้ทราบว่าต้องระบุที่อยู่และหยุดการดำเนินการ
- หากมีการป้อนที่อยู่ ให้กำหนดการทำงานอัตโนมัติโดยทำดังนี้
- เริ่มการทำงานอัตโนมัติเวลา 8:00 น.
- เรียกใช้คำสั่ง
upOrOpenของ TraitWindowCoveringสำหรับมู่ลี่แต่ละบาน
การทำงานอัตโนมัติที่ซับซ้อน
ลองนึกภาพแอปที่สร้างการทำงานอัตโนมัติที่ทริกเกอร์ให้ไฟกระพริบเมื่อตรวจพบการเคลื่อนไหว
งานแรกๆ ในการติดตั้งใช้งานแอปนี้คือการค้นหาว่ามีไฟอะไรบ้างในบ้านของผู้ใช้โดยใช้ Discovery API เมื่อได้ข้อมูลนี้แล้ว แอปจะแสดงไฟที่ใช้ได้และอาจอนุญาตให้ผู้ใช้เลือกไฟที่ต้องการให้กระพริบ
โฟลว์การดำเนินการ
- ใช้ Discovery API เพื่อรวบรวมรายการอุปกรณ์ไฟในโครงสร้าง ซึ่งจะเป็นอุปกรณ์ที่มีประเภทอุปกรณ์เป็น
OnOffLightDevice,ColorTemperatureLightDevice,DimmableLightDeviceหรือExtendedColorLightDevice - จัดเตรียมวิธีเลือกไฟที่จะกระพริบ เช่น ผ่านแผงการตั้งค่าที่กำหนดเอง
- กำหนดการทำงานอัตโนมัติโดยทำดังนี้
- เริ่มการทำงานอัตโนมัติทุกครั้งที่มีคนออกจากหรือมาถึงสถานที่โดยการตรวจสอบ
AreaPresenceState - หาก
presenceStateระบุว่ามีคนอยู่ในโครงสร้าง ให้กระพริบไฟที่เลือก
- เริ่มการทำงานอัตโนมัติทุกครั้งที่มีคนออกจากหรือมาถึงสถานที่โดยการตรวจสอบ
การทำงานอัตโนมัติทั่วไป
ตัวอย่างการทำงานอัตโนมัติที่ซับซ้อนมากขึ้นคือการทำงานอัตโนมัติที่แนะนำผู้ใช้ในการสร้างการทำงานอัตโนมัติแบบปลายเปิดโดยอิงตามอุปกรณ์ทั้งหมดหรือบางส่วนที่ผู้ใช้มีในบ้าน
การทำงานอัตโนมัติอาจแจ้งให้ผู้ใช้เลือกโครงสร้างก่อน
จากนั้นการทำงานอัตโนมัติจะแสดงห้องทั้งหมดในโครงสร้างในมุมมองแบบเค้าร่างที่ขยายได้ โดยการขยายห้องจะแสดงอุปกรณ์ในห้องนั้น การขยายอุปกรณ์เพิ่มเติมจะแสดงรายการเงื่อนไขเริ่มต้นและคำสั่งที่อุปกรณ์นั้นรองรับ
ผู้ใช้สามารถเลือกอุปกรณ์ เงื่อนไขเริ่มต้น และคำสั่งที่ต้องการใช้ จากนั้นการทำงานอัตโนมัติจะแนะนำผู้ใช้ในการประกอบการทำงานอัตโนมัติ
เมื่อผู้ใช้เลือกและตัดสินใจทั้งหมดแล้ว การทำงานอัตโนมัติจะสร้างการทำงานอัตโนมัติและบันทึกลงในโครงสร้างที่ผู้ใช้เลือก
ในระดับสูง การทำงานอัตโนมัติดังกล่าวจะต้องรวบรวมข้อมูลหลายชุด เกี่ยวกับบ้านของผู้ใช้โดยใช้ Structure API สำหรับ Android, Device API สำหรับ Android, และ Discovery API
| API | ข้อมูล |
|---|---|
| Structure API |
|
| Device API |
|
| Discovery API |
|