Key Value API

Key Value API, Cihaz, Oda ve Otomasyon nesneleri için yeni özel veri yönetimi API'leri sağlar. Özel verilerin yaşam döngüsü, kesinlikle ilişkilendirildiği nesnenin yaşam döngüsüyle sınırlıdır. Örneğin, bir Oda nesnesiyle ilişkili özel veriler (ör. "Lucy'nin odası") Oda nesnesiyle birlikte otomatik olarak silinir, taşınır veya aktarılır (yapılar arasında).

Kotlin API değişikliği, hasCustomAppData arayüzüyle ilgilidir ve özel uygulama verilerinin ait olduğu nesneler için uzantılar sağlar. Ayrıca standart oluşturma, okuma, güncelleme ve silme (CRUD) işlevlerini içerir.

Cihaz örneği

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)

Oda örneği

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

Otomasyon örneği

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)

Kısıtlamalar

  • Anahtar, geçerli UTF-8 karakterlerinden oluşan bir dize olmalı ve maksimum uzunluğu 128 karakteri geçmemelidir. Anahtar boş bir dize olabilir.
  • Değer, geçerli UTF-8 karakterlerinden oluşan bir dize olmalı ve maksimum uzunluğu 1.024 karakter olmalıdır. Değer boş bir dize olabilir.
  • Her nesnede 10 satır anahtar/değer çifti olabilir.