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