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

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

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

  1. ใช้ Discovery API เพื่อรวบรวมรายการอุปกรณ์ WindowCoveringDevice
  2. หากไม่มีการป้อนที่อยู่ ให้แจ้งให้ผู้ใช้ทราบว่าต้องระบุที่อยู่และหยุดการดำเนินการ
  3. หากมีการป้อนที่อยู่ ให้กำหนดการทำงานอัตโนมัติโดยทำดังนี้
    1. เริ่มการทำงานอัตโนมัติเวลา 8:00 น.
    2. เรียกใช้คำสั่ง upOrOpen ของ Trait 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
  • Trait ที่อุปกรณ์รองรับ
  • เงื่อนไขเริ่มต้นและคำสั่งที่ใช้ได้ใน Trait เหล่านั้น
  • ข้อจำกัดของพารามิเตอร์สำหรับคำสั่งเหล่านี้