API کلید مقدار، APIهای مدیریت دادههای سفارشی جدیدی را برای اشیاء دستگاه، اتاق و اتوماسیون ارائه میدهد. چرخه حیات دادههای سفارشی کاملاً به چرخه حیات شیء مرتبط با آن محدود میشود. برای مثال، دادههای سفارشی (مانند "اتاق لوسی") مرتبط با یک شیء اتاق به طور خودکار با شیء اتاق حذف، جابجا یا (بین ساختارها) منتقل میشوند.
تغییر رابط برنامهنویسی کاتلین (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 با حداکثر طول ۱۲۸ باشد. کلید میتواند یک رشته خالی باشد.
- مقدار باید رشتهای از کاراکترهای معتبر UTF-8 با حداکثر طول 1024 باشد. مقدار میتواند یک رشته خالی باشد.
- هر شیء میتواند ۱۰ ردیف جفت کلید-مقدار داشته باشد.