نظرة عامة على واجهات برمجة التطبيقات في Home

توفّر واجهات برمجة تطبيقات Google Home لنظام التشغيل Android واجهة موحّدة لواجهات برمجة التطبيقات لتتمكّن المطوّرون من التفاعل مع حالة الكيانات في منزل المستخدم. يمكن أن تصف هذه الكيانات الأجهزة ومعلومات غير مرتبطة بالأجهزة والمرتبطة ببنية المستخدم وغرفه.

تحدِّد واجهات برمجة تطبيقات Home الكيانات التالية التي يمكن للمستخدم التفاعل معها:

  • تمثّل البنيات منزلاً يحتوي على غرف وأجهزة.
  • الغرف هي جزء من بنية وتتضمّن أجهزة.
  • تُنفِّذ الأجهزة سمات تحتوي على سمات، وتتوافق مع الأنواع، وتُرسِل الأحداث، وتستجيب للأوامر.
  • عمليات التشغيل الآلي هي جزء من بنية معيّنة، وتستخدم البيانات الوصفية للأجهزة المنزلية ل تشغيل المهام في المنزل بشكل آلي.

يوضّح الشكل 1 هذه البنية:

مخطّط بياني يوضّح بنية Home APIs
الشكل 1: بنية واجهات برمجة تطبيقات Home

قد تكون أنواع أجهزة Home API متوافقة مع Matter، وهو معيار مفتوح ل المنزل الذكي، أو قد تكون جهاز Cloud-to-cloud في المنظومة المتكاملة لأجهزة Google Home. وقد تتضمن بعض أنواع الأجهزة وظائف من كلا الجهازَين. اطّلِع على أنواع الأجهزة المتوافقة للحصول على مزيد من المعلومات.

في Matter، يتم تجميع وظائف الجهاز حسب المجموعات، التي يتم تمثيلها في واجهات برمجة تطبيقات Home على أنّها Matter سمات عادية. تتوافق واجهات برمجة تطبيقات Home مع المجموعة العادية من مجموعات Matter كما هو محدّد في مواصفات Matter الحالية.

في منظومة Google Home المتكاملة، يتم تجميع وظائف الجهاز حسب سمات الأجهزة المنزلية الذكية، والتي يتم تمثيلها في واجهات برمجة تطبيقات Home على أنّها سمات الأجهزة المنزلية الذكية من Google. تتيح واجهات برمجة التطبيقات Home APIs مجموعة سمات المنزل الذكي كما هو محدّد في برنامج Cloud-to-cloud.

تتوفّر أيضًا سمات أخرى، مثل المجموعات الخاصة بالشركات المصنّعة وسمات المنصة. لمزيد من المعلومات، يُرجى الاطّلاع على نموذج البيانات.

اللغة

تم كتابة واجهات برمجة التطبيقات Home API بلغة Kotlin وتوفر واجهة Kotlin مألوفة تستخدم Flow لإدارة الحالة والاشتراك. ويقدّم ذلك عددًا من المزايا مقارنةً بواجهة برمجة تطبيقات الاشتراك العادية.

ننصحك بالاطّلاع على مستندات Kotlin حول وحدات التشغيل المتعدّد وFlow وJetpack Compose، إذا لم تكن قد اطّلعت عليها من قبل:

معرّفات الكيانات

يحتوي كل كيان في Home APIs على معرّف يمثّل معرّفه الأساسي. هذا المعرّف هو معرّف فريد وثابت لن يتغيّر أبدًا طوال مدة وجود العنصر. يمكن استخدام هذا المعرّف لتخزين العناصر مؤقتًا أو التحقّق من التساوي لأنّ البيانات الوصفية للكيان يمكن أن تتغيّر.

اطّلِع على واجهة HasId لمعرفة العناصر التي لها رقم تعريف.

ربط المصطلحات

يتم ربط الكيانات في Home APIs بمفاهيم Matter و Cloud-to-cloud على النحو التالي:

Home APIs Matter Cloud-to-cloud
السمة المجموعة السمة
السمة السمة السمة، الحالة
Command Command Command
الحدث الحدث الردّ لمتابعة الطلب، الإشعار