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