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é à celui de l'objet auquel elles sont associées. Par exemple, les données personnalisées (comme "Chambre de Lucie") associées à un objet Room seront automatiquement supprimées, déplacées ou transférées (d'une structure à une autre) avec l'objet Room.

La modification de l'API Kotlin est axée sur l'interface hasCustomAppData et fournit des extensions aux objets auxquels appartiennent les données d'application personnalisées. Elle 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 chambre

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. 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 caractères. La valeur peut être une chaîne vide.
  • Chaque objet peut comporter 10 lignes de paires clé/valeur.