API Key Value

L'API Key Value fornisce nuove API di gestione dei dati personalizzate per gli oggetti Dispositivo, Stanza e Automazione. Il ciclo di vita dei dati personalizzati è rigorosamente limitato al ciclo di vita dell'oggetto a cui sono associati. Ad esempio, i dati personalizzati (come "La stanza di Lucy") associati a un oggetto Stanza verranno eliminati, spostati o trasferiti (tra le strutture) automaticamente con l'oggetto Stanza.

La modifica dell'API Kotlin è incentrata sull'interfaccia hasCustomAppData e fornisce estensioni agli oggetti a cui appartengono i dati dell'applicazione personalizzata e include le funzioni standard di creazione, lettura, aggiornamento ed eliminazione (CRUD).

Esempio di dispositivo

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)

Esempio di stanza

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

Esempio di automazione

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)

Restrizioni

  • La chiave deve essere una stringa di caratteri UTF-8 validi, con una lunghezza massima di 128 caratteri. La chiave può essere una stringa vuota.
  • Il valore deve essere una stringa di caratteri UTF-8 validi, con una lunghezza massima di 1024 caratteri. Il valore può essere una stringa vuota.
  • Ogni oggetto può avere 10 righe di coppie chiave-valore.