คุณสามารถติดตั้งใช้งานอุปกรณ์ในระบบนิเวศ Google Home ได้โดยใช้ Cloud-to-cloud, Matter หรือทั้ง 2 อย่าง อุปกรณ์บางประเภทมีความซับซ้อนกว่าอุปกรณ์ประเภทอื่นๆ และเป็นความท้าทายในการพัฒนาเมื่อใช้ Home API ในลักษณะที่ช่วยให้ทำงานร่วมกับอุปกรณ์อื่นๆ ในระบบนิเวศได้อย่างราบรื่น
ความท้าทายอย่างหนึ่งในการติดตั้งใช้งานอุปกรณ์บางประเภทคือ อุปกรณ์อาจประกอบด้วยการผสมผสานลักษณะต่างๆ การผสมผสานบางอย่างอาจทำงานได้ไม่ดีเท่าการผสมผสานอื่นๆ นอกจากนี้ โมเดลข้อมูล Cloud-to-cloud ยังแมปกับโมเดลข้อมูล Matter แต่ไม่ได้แมปแบบหนึ่งต่อหนึ่งที่ชัดเจนเสมอไป ดู โมเดลข้อมูลใน iOS ซึ่งจะอธิบายโมเดลข้อมูล และการแมปอย่างละเอียดมากขึ้น
หน้านี้มีข้อมูลเพิ่มเติมเกี่ยวกับการแมปโมเดลข้อมูลสำหรับอุปกรณ์บางอย่าง และให้คำแนะนำเกี่ยวกับลักษณะที่ควรใช้ในการติดตั้งใช้งานอุปกรณ์ประเภทดังกล่าว
เตาอบ
อุปกรณ์ประเภทเตาอบ
(OvenDeviceType)
และลักษณะที่เป็นส่วนประกอบของอุปกรณ์ประเภทนี้ไม่ได้ติดตั้งใช้งานได้ง่าย
เหมือนกับอุปกรณ์ประเภทอื่นๆ มีหลายวิธีในการติดตั้งใช้งานเตาอบใน
Matter แต่ไม่ใช่ทุกวิธีที่จะทำให้เตาอบทำงานร่วมกับอุปกรณ์อื่นๆ หรือระบบนิเวศ Google Home ได้อย่างราบรื่น
การแมปลักษณะ
เราขอแนะนำให้ใช้คลัสเตอร์สถานะการทำงานของช่องเตาอบแทนการติดตั้งใช้งานอุปกรณ์เตาอบ Matter โดยใช้คลัสเตอร์โหมดเตาอบและเปิด/ปิด คลัสเตอร์นี้แสดงใน Home API ด้วยลักษณะ
OvenCavityOperationalStateTrait
และแมปกับลักษณะ Cloud-to-cloud
RunCycle โดยจะกำหนดระยะต่างๆ เช่น "การทำความร้อนล่วงหน้า" "ทำความร้อนล่วงหน้าเสร็จแล้ว" และ "กำลังเย็นลง"
| Home API | Cloud-to-cloud |
|---|---|
OvenCavityOperationalState
|
RunCycle
|
โมเดลข้อมูลเตาอบ Cloud-to-cloud มีข้อจำกัด โมเดลข้อมูลเตาอบ
Cloud-to-cloud อนุญาตให้มีช่องเดียวได้เท่านั้น
โดยมี RunCycle เดียว ในทางตรงกันข้าม Matter จะจำลองเตาอบหลายช่องเป็นปลายทางของอุปกรณ์ที่มีคลัสเตอร์สถานะการทำงานของช่องเตาอบสำหรับแต่ละช่อง
สำหรับอุปกรณ์เตาอบบางรุ่น รายการระยะอาจเปลี่ยนแปลงได้ในขณะรันไทม์ ตัวอย่างเช่น เตาอบที่รองรับการทำความร้อนล่วงหน้าอาจมีรายการที่แตกต่างกันในรายการระยะระหว่างระยะการทำความร้อนล่วงหน้ากับระยะการทำความร้อนหรือระยะการเย็นลง
การติดตั้งใช้งานที่แนะนำ
ตามที่กล่าวไว้ในส่วนก่อนหน้า การติดตั้งใช้งานเตาอบ Matter ควรติดตั้งใช้งานคลัสเตอร์สถานะการทำงานของช่องเตาอบ ซึ่งจำลองใน Home API เป็นลักษณะ OvenCavityOperationalStateTrait
เพื่อให้ได้ผลลัพธ์ที่ดีที่สุด โปรดตรวจสอบว่าอุปกรณ์เตาอบ Cloud-to-cloud ของคุณ ติดตั้งใช้งานลักษณะ RunCycle และเผยแพร่สถานะปัจจุบันโดยตั้งค่าแอตทริบิวต์ currentRunCycle Home API สามารถสังเกตแอตทริบิวต์นี้ได้ผ่านแอตทริบิวต์
OvenCavityOperationalStateTrait.phaseList
และ
OvenCavityOperationalStateTrait.currentPhase
นอกจากนี้ อุปกรณ์เตาอบควรเผยแพร่การแจ้งเตือนอุปกรณ์รอบการทำงานโดยอัปเดตแอตทริบิวต์ priority, status และ currentCycleRemainingTime ของ RunCycle ตัวอย่างต่อไปนี้จะส่งผลให้มีการส่งเหตุการณ์
OperationalStateTrait.OperationCompletion
และสามารถใช้เพื่อระบุว่าเตาอบเปลี่ยน
จากรอบ 'การทำความร้อนล่วงหน้า' เป็นรอบ 'ทำความร้อนล่วงหน้าเสร็จแล้ว':
{
"currentRunCycle": [
{
"currentCycle": "pre-heating",
"nextCycle": "pre-heated",
"lang": "en"
}
],
"currentTotalRemainingTime": 1200,
"currentCycleRemainingTime": 300
}
ใช้เตาอบในการทำงานอัตโนมัติ
เมื่อสร้างการทำงานอัตโนมัติสำหรับเตาอบที่ติดตั้งใช้งานโดยใช้คลัสเตอร์สถานะการทำงานของช่องเตาอบ ให้อ้างอิงแอตทริบิวต์ currentPhase เพื่อดูว่าเตาอบอยู่ในรอบใด
sequential {
let operationalState = starter(
oven,
OvenDeviceType.self,
OvenCavityOperationalStateTrait.self
)
operationalState
condition {
operationalState.phaseList[operationalState.currentPhase.toUInt()].equals("pre-heated")
}
for speaker in speakers {
action(speaker, SpeakerDeviceType.self) {
Google.AssistantBroadcastTrait.broadcast(msg: "Oven Cycle Complete")
}
}
}
ดูตัวอย่างฉบับเต็มได้ที่ หากทีวีเปิดอยู่เมื่อรอบการทำงานของเตาอบเสร็จสมบูรณ์ ไฟในห้องนั่งเล่นจะกะพริบและลำโพงอัจฉริยะจะประกาศว่า "รอบการทำงานของเตาอบเสร็จสมบูรณ์แล้ว"