Key Value API cung cấp các API quản lý dữ liệu tuỳ chỉnh mới cho các đối tượng Thiết bị, Phòng và Tự động hoá. Vòng đời của dữ liệu tuỳ chỉnh được giới hạn nghiêm ngặt trong vòng đời của đối tượng mà dữ liệu đó được liên kết. Ví dụ: dữ liệu tuỳ chỉnh (chẳng hạn như "phòng của Lucy") được liên kết với một đối tượng Room sẽ tự động bị xoá, di chuyển hoặc chuyển (trên các cấu trúc) cùng với đối tượng Room.
Thay đổi API Kotlin tập trung vào giao diện hasCustomAppData và cung cấp các tiện ích cho các đối tượng thuộc về dữ liệu ứng dụng tuỳ chỉnh, đồng thời bao gồm các chức năng tạo, đọc, cập nhật và xoá (CRUD) tiêu chuẩn.
Ví dụ về thiết bị
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)
Ví dụ về phòng
val room = homeClient.rooms().findRoomByName(roomName)
room.updateValue("nickname", "Lucy's Room")
val response = room.getValue("nickname")
room.deleteValue("nickname")
Ví dụ về tự động hoá
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)
Quy định hạn chế
- Khoá phải là một chuỗi gồm các ký tự UTF-8 hợp lệ, có độ dài tối đa là 128. Khoá có thể là một chuỗi trống.
- Giá trị phải là một chuỗi gồm các ký tự UTF-8 hợp lệ, có độ dài tối đa là 1024. Giá trị có thể là một chuỗi trống.
- Mỗi đối tượng có thể có 10 hàng cặp khoá-giá trị.