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.