API Key Value

L'API Key Value fournit de nouvelles API de gestion des données personnalisées pour les objets Device, Room et Automation. Le cycle de vie des données personnalisées est strictement limité au cycle de vie de l'objet auquel elles sont associées. Par exemple, les données personnalisées (comme "Chambre de Lucie") associées à un objet Room sont automatiquement supprimées, déplacées ou transférées (entre les structures) avec l'objet Room.

La modification de l'API Kotlin est centrée sur l'interface hasCustomAppData et fournit des extensions aux objets auxquels appartiennent les données d'application personnalisées, et inclut les fonctions standards de création, de lecture, de mise à jour et de suppression (CRUD).

Exemple d'appareil

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)

Exemple de salle

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

Exemple d'automatisation

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)

Restrictions

  • La clé doit être une chaîne de caractères UTF-8 valides, d'une longueur maximale de 128 caractères. La clé peut être une chaîne vide.
  • La valeur doit être une chaîne de caractères UTF-8 valides, d'une longueur maximale de 1 024. La valeur peut être une chaîne vide.
  • Chaque objet peut comporter 10 lignes de paires clé/valeur.