Key Value API

Key Value API menyediakan API pengelolaan data kustom baru untuk objek Perangkat, Ruangan, dan Otomatisasi. Siklus proses data kustom dibatasi secara ketat pada siklus proses objek yang terkait dengannya. Misalnya, data kustom (seperti "Kamar Lucy") yang terkait dengan objek Ruangan akan otomatis dihapus, dipindahkan, atau ditransfer (di seluruh struktur) bersama objek Ruangan.

Perubahan Kotlin API berpusat pada antarmuka hasCustomAppData dan menyediakan ekstensi ke objek yang memiliki data aplikasi kustom, serta menyertakan fungsi standar pembuatan, pembacaan, pembaruan, dan penghapusan (CRUD).

Contoh perangkat

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)

Contoh ruang

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

Contoh otomatisasi

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)

Pembatasan

  • Kunci harus berupa string karakter UTF-8 yang valid, dengan panjang maksimum 128. Kunci dapat berupa string kosong.
  • Nilai harus berupa string karakter UTF-8 yang valid, dengan panjang maksimum 1024. Nilainya dapat berupa string kosong.
  • Setiap objek dapat memiliki 10 baris key-value pair.