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

ก่อนที่จะเริ่มใช้ 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 ช่วยให้คุณทราบได้ว่ามีการกำหนดที่อยู่ให้กับโครงสร้างหรือไม่

ดังนั้นโฟลว์การดำเนินการจึงมีลักษณะดังนี้

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

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

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

งานแรกๆ อย่างหนึ่งในการติดตั้งใช้งานแอปนี้คือการค้นหาว่ามีหลอดไฟใดบ้างในบ้านของผู้ใช้โดยใช้ 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 เหล่านี้ให้ได้
APIข้อมูล
Structure API
  • โครงสร้างที่พร้อมใช้งาน
  • ห้องต่างๆ ในบ้าน
Device API
  • อุปกรณ์ที่อยู่ในโครงสร้างที่เลือก
  • อุปกรณ์เหล่านั้นอยู่ที่ไหน (ห้องใด)
Discovery API
  • อุปกรณ์รองรับลักษณะใดบ้าง
  • คำสั่งและเงื่อนไขเริ่มต้นที่ใช้ได้กับลักษณะเหล่านั้น
  • พารามิเตอร์สำหรับคำสั่งเหล่านี้มีข้อจำกัดใดบ้าง