توفر واجهة برمجة التطبيقات "قيمة المفتاح" واجهات برمجة تطبيقات جديدة لإدارة البيانات المخصصة لكائنات الجهاز والغرفة والتشغيل الآلي. تقتصر دورة حياة البيانات المخصّصة بشكل صارم على دورة حياة الكائن المرتبطة به. على سبيل المثال، سيتم تلقائيًا حذف البيانات المخصّصة (مثل "غرفة لوسي") المرتبطة بكائن "غرفة" أو نقلها أو تحويلها (بين الهياكل) مع كائن "غرفة".
يركّز تغيير واجهة برمجة التطبيقات Kotlin على الـ
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 صالحة، وبحد أقصى 1024 حرفًا. يمكن أن تكون القيمة سلسلة فارغة.
- يمكن أن يحتوي كل كائن على 10 صفوف من أزواج قيمة المفتاح.