Key Value API

توفر واجهة برمجة التطبيقات "قيمة المفتاح" واجهات برمجة تطبيقات جديدة مخصصة لإدارة البيانات لأغراض "الجهاز" و"الغرفة" و"التشغيل الآلي". تقتصر دورة حياة البيانات المخصّصة بشكل صارم على دورة حياة العنصر المرتبطة به. على سبيل المثال، سيتم تلقائيًا حذف البيانات المخصّصة (مثل "غرفة لوسي") المرتبطة بعنصر "الغرفة" أو نقلها أو تحويلها (بين الهياكل) مع عنصر "الغرفة".

يرتكز تغيير واجهة برمجة التطبيقات 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 صفوف من أزواج قيمة المفتاح.