Key Value API

Key Value API は、デバイス、会議室、自動化オブジェクト用の新しいカスタム データ管理 API を提供します。カスタム データのライフサイクルは、関連付けられているオブジェクトのライフサイクルに厳密にスコープ設定されます。たとえば、会議室オブジェクトに関連付けられたカスタムデータ(「Lucy の部屋」など)は、会議室オブジェクトとともに自動的に削除、移動、転送(構造間)されます。

Kotlin API の変更は hasCustomAppData インターフェースを中心に行われ、カスタム アプリケーション データが属するオブジェクトの拡張機能を提供し、標準の作成、読み取り、更新、削除 (CRUD)機能が含まれます。

デバイスの例

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)

ルームの例

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

自動化の例

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)

制限事項

  • キーは、有効な UTF-8 文字列で、最大長は 128 文字にする必要があります。キーは空の文字列にできます。
  • 値は、有効な UTF-8 文字列で、最大長は 1, 024 文字にする必要があります。値は空の文字列にできます。
  • 各オブジェクトには、Key-Value ペアの行を 10 行まで含めることができます。