Key Value API

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

Perubahan Kotlin API berpusat pada antarmuka hasCustomAppData dan menyediakan ekstensi untuk objek yang menjadi bagian dari data aplikasi kustom, serta menyertakan fungsi buat, baca, update, dan hapus (CRUD) standar.

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 Room

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. Kuncinya 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 pasangan nilai kunci.