Key Value API

Key Value API มี API การจัดการข้อมูลที่กำหนดเองใหม่สำหรับออบเจ็กต์อุปกรณ์ ห้อง และการทำงานอัตโนมัติ วงจรของข้อมูลที่กำหนดเองจะจำกัดขอบเขตอย่างเคร่งครัดตามวงจรของออบเจ็กต์ที่เชื่อมโยงด้วย ตัวอย่างเช่น ข้อมูลที่กำหนดเอง (เช่น "ห้องของลูซี่") ที่เชื่อมโยงกับออบเจ็กต์ห้องจะถูกลบ ย้าย หรือโอน (ข้ามบ้าน) พร้อมกับออบเจ็กต์ห้องโดยอัตโนมัติ

การเปลี่ยนแปลง Kotlin API จะเน้นที่อินเทอร์เฟซ hasCustomAppData และมีส่วนขยายสำหรับออบเจ็กต์ที่เป็นของข้อมูลแอปพลิเคชันที่กำหนดเอง รวมถึงฟังก์ชันสร้าง อ่าน อัปเดต และลบ (CRUD) มาตรฐาน

ตัวอย่างอุปกรณ์

val device = homeClient.devicesWithLogging().findDeviceByName(deviceName)
var response = device.getValue(key)
println("Before: $response")
device.updateValue(key, value)
response = device.getValue(key)
println("After: $response")
device.deleteValue(key)

ตัวอย่างห้องพัก

val room = homeClient.rooms().findRoomByName(roomName)
room.updateValue("nickname", "Lucy's Room")
val response = room.getValue("nickname")
room.deleteValue("nickname")

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

val automation = homeClient.automations().findAutomationByName(automationName)
var response = automation.getValue(key)
println("Before: $response")
automation.updateValue(key, value)
response = automation.getValue(key)
println("After: $response")
automation.deleteValue(key)

ข้อจำกัด

  • คีย์ต้องเป็นสตริงของอักขระ UTF-8 ที่ถูกต้อง โดยมีความยาวสูงสุด 128 อักขระ คีย์อาจเป็นสตริงว่างได้
  • ค่าต้องเป็นสตริงของอักขระ UTF-8 ที่ถูกต้อง โดยมีความยาวสูงสุด 1024 ตัว ค่าอาจเป็นสตริงว่างเปล่าก็ได้
  • ออบเจ็กต์แต่ละรายการมีคู่คีย์-ค่าได้ 10 แถว