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 行まで含めることができます。