ออกแบบการทำงานอัตโนมัติใน Android

คุณควรออกแบบการทำงานอัตโนมัติก่อนเริ่มใช้ Automation API

กําหนดพารามิเตอร์ต่อไปนี้สําหรับการทำงานอัตโนมัติแต่ละรายการ

  • สถานการณ์ที่ควรแนะนำการทำงานอัตโนมัติให้ผู้ใช้ทราบ เช่น หากผู้ใช้เพิ่งเพิ่มหลอดไฟใหม่ 3 ดวงในบ้าน ผู้ใช้อาจสนใจการทำงานอัตโนมัติบางอย่างที่ปรับให้เหมาะกับการควบคุมหลอดไฟ
  • ประเภทอุปกรณ์ที่จําเป็นสําหรับการทำงานอัตโนมัติ เช่น หากผู้ใช้เพิ่งเพิ่มหลอดไฟใหม่ 3 ดวงในบ้าน ผู้ใช้อาจสนใจระบบอัตโนมัติบางอย่างที่ปรับให้เหมาะกับการควบคุมหลอดไฟ ตัวอย่างประเภทอุปกรณ์หลอดไฟ ได้แก่ OnOffLightDevice, ColorTemperatureLightDevice, DimmableLightDevice หรือ ExtendedColorLightDevice
  • แอตทริบิวต์และคำสั่งลักษณะที่ต้องใช้สำหรับการทํางานอัตโนมัติ และAutomation API ใน Android รองรับแอตทริบิวต์และคําสั่งเหล่านั้นหรือไม่
  • ลักษณะที่ควรเปิดใช้งานการทำงานอัตโนมัติเป็นเงื่อนไขเริ่มต้น เงื่อนไขเริ่มต้นจะอธิบายไว้ในคอมโพเนนต์การทำงานอัตโนมัติใน Android
  • เงื่อนไขเพิ่มเติมที่ระบุว่าการทำงานอัตโนมัติควรทำงานจริงหรือไม่ และการดำเนินการใดที่จะทำ
  • ขั้นตอนการดำเนินการของการทำงานอัตโนมัติ การดำเนินการควรทําตามลําดับหรือทําพร้อมกัน คุณต้องการใช้เส้นทางตรรกะหลายเส้นทางไหม

เมื่อออกแบบ คุณอาจต้องวาดผังขั้นตอนการทำงานอัตโนมัติทีละโหนดพร้อมตรรกะที่จำเป็นในแต่ละขั้นตอน

เมื่อออกแบบการทำงานอัตโนมัติแล้ว ให้ใช้ Automation DSL เพื่อสร้างการทำงานอัตโนมัติ การทำงานอัตโนมัติที่คุณสร้างเป็น "เทมเพลต" โดยพื้นฐานแล้ว โครงสร้างและอุปกรณ์ทั้งหมดในเทมเพลตเป็นตัวยึดตำแหน่งและสร้างขึ้นด้วยโครงสร้างและอุปกรณ์ที่เฉพาะเจาะจงของผู้ใช้แต่ละรายเมื่อ "นำ" การทำงานอัตโนมัติไปใช้

ต่อไปนี้คือการทำงานอัตโนมัติประเภทต่างๆ ที่แอปสามารถสร้างได้โดยใช้ Home API ดูตัวอย่างโค้ดที่เกี่ยวข้องกับตัวอย่างเหล่านี้ได้ที่หน้าสร้างการทำงานอัตโนมัติ

การทำงานอัตโนมัติที่ง่าย

สมมติว่าคุณต้องเขียนแอปที่สร้างการทำงานอัตโนมัติที่เปิดม่านขึ้นตอน 8:00 น. ในการดําเนินการนี้ แอปต้องมีรายการมู่ลี่ (อุปกรณ์ที่มีWindowCoveringDeviceประเภทอุปกรณ์) ที่อยู่ในโครงสร้างซึ่งรองรับการทำงานอัตโนมัติ ซึ่ง Discovery API สามารถระบุได้

สําหรับการทำงานอัตโนมัติที่ต้องทํางานในเวลาที่เจาะจง คุณยังต้องตรวจสอบด้วยว่าผู้ใช้ได้กําหนดที่อยู่สำหรับโครงสร้างที่เลือกใน Google Home app (GHA) มิเช่นนั้นการทำงานอัตโนมัติจะไม่ทราบว่าเขตเวลาที่จะทํางาน Discovery API ช่วยให้คุณระบุได้ว่ามีการกำหนดที่อยู่ให้กับโครงสร้างหรือไม่

ดังนั้นขั้นตอนการทำงานจะมีลักษณะดังนี้

  1. ใช้ Discovery API เพื่อรวบรวมรายการอุปกรณ์ WindowCoveringDevice
  2. หากไม่ได้ป้อนที่อยู่ ให้แจ้งให้ผู้ใช้ทราบว่าต้องระบุที่อยู่และหยุดการดำเนินการ
  3. หรือจะกําหนดการทำงานอัตโนมัติก็ได้ โดยทําดังนี้
    1. เริ่มการทำงานอัตโนมัติเวลา 08:00 น.
    2. สําหรับม่านแต่ละผืน ให้เรียกใช้WindowCoveringคำสั่งupOrOpenของลักษณะ

การทำงานอัตโนมัติที่ซับซ้อน

ลองจินตนาการถึงแอปที่สร้างการทำงานอัตโนมัติซึ่งจะทริกเกอร์ไฟกะพริบเมื่อตรวจพบการเคลื่อนไหว

งานแรกๆ ในการใช้แอปนี้คือดูว่าหลอดไฟใดบ้างที่พร้อมใช้งานในบ้านของผู้ใช้โดยใช้ Discovery API เมื่อทราบข้อมูลนี้ แอปของคุณจะแสดงหลอดไฟที่ใช้ได้และอาจอนุญาตให้ผู้ใช้เลือกหลอดไฟที่ต้องการกะพริบ

ขั้นตอนการดำเนินการ

  1. ใช้ Discovery API เพื่อรวบรวมรายการอุปกรณ์หลอดไฟที่อยู่ในโครงสร้าง ซึ่งจะเป็นอุปกรณ์ประเภท OnOffLightDevice, ColorTemperatureLightDevice, DimmableLightDevice หรือ ExtendedColorLightDevice
  2. ระบุวิธีเลือกหลอดไฟที่จะกะพริบ เช่น ผ่านแผงการตั้งค่าที่กำหนดเอง
  3. กําหนดการทำงานอัตโนมัติ ดังนี้
    1. เริ่มการทำงานอัตโนมัติเมื่อมีคนออกจากหรือมาถึงสถานที่ โดยการตรวจสอบ AreaPresenceState
    2. หาก presenceState บ่งบอกว่ามีบุคคลอยู่ในอาคาร ให้กะพริบไฟที่เลือก

การทำงานอัตโนมัติทั่วไป

ตัวอย่างการทำงานอัตโนมัติที่ซับซ้อนมากขึ้นคือการทำงานอัตโนมัติที่แนะนำผู้ใช้ในการสร้างการทำงานอัตโนมัติแบบเปิด โดยอิงตามอุปกรณ์ใดก็ได้หรือทั้งหมดที่มีในบ้าน

การทำงานอัตโนมัติอาจแจ้งให้ผู้ใช้เลือกโครงสร้างก่อน

จากนั้นการทำงานอัตโนมัติจะแสดงห้องทั้งหมดในโครงสร้างในมุมมองผังที่สามารถขยายได้ ซึ่งการขยายห้องจะแสดงอุปกรณ์ในห้องนั้น การขยายเพิ่มเติมจะแสดงรายการเงื่อนไขเริ่มต้นและคําสั่งที่อุปกรณ์รองรับ

ผู้ใช้สามารถเลือกอุปกรณ์ เงื่อนไขเริ่มต้น และคำสั่งที่ต้องการใช้ และการทำงานอัตโนมัติจะแนะนำผู้ใช้ในการประกอบการทำงานอัตโนมัติ

เมื่อตัวเลือกและการตัดสินใจทั้งหมดของผู้ใช้เสร็จสมบูรณ์แล้ว ระบบอัตโนมัติจะสร้างการทำงานอัตโนมัติและบันทึกลงในโครงสร้างที่เลือก

ในระดับสูง ระบบอัตโนมัติดังกล่าวจะต้องรวบรวมชุดข้อมูลหลายชุดเกี่ยวกับบ้านของผู้ใช้โดยใช้ Structure API สำหรับ Android, Device API สำหรับ Android และ Discovery API

ตารางที่ 1: Home API และข้อมูลที่ให้
APIข้อมูล
Structure API
  • โครงสร้างที่ใช้ได้
  • มีห้องอะไรบ้างในอาคาร
Device API
  • อุปกรณ์ที่อยู่ในโครงสร้างที่เลือก
  • ตำแหน่งของอุปกรณ์เหล่านั้น (ห้องใด)
Discovery API
  • อุปกรณ์รองรับ Trait ใดบ้าง
  • เงื่อนไขเริ่มต้นและคำสั่งที่ใช้ได้กับลักษณะเหล่านั้น
  • ข้อจำกัดของพารามิเตอร์สำหรับคำสั่งเหล่านี้