تصميم عملية تشغيل آلي على Android

قبل البدء في استخدام Automation API، عليك تصميم عمليات التشغيل الآلي.

حدِّد المَعلمات التالية لكل عملية مبرمَجة:

  • الظروف التي يجب فيها اقتراح عملية التشغيل الآلي على المستخدم على سبيل المثال، إذا أضاف المستخدم للتو ثلاثة مصابيح جديدة إلى منزله، قد يهتمّ بإجراء آلي معيّن مخصّص للتحكّم في المصابيح.
  • أنواع الأجهزة المطلوبة لعملية التشغيل الآلي على سبيل المثال، إذا أضاف المستخدم للتو ثلاثة مصابيح جديدة إلى منزله، قد يهتمّ بمهمة تشغيل آلي معيّنة مخصّصة للتحكّم في المصابيح. تشمل أمثلة أنواع أجهزة الإضاءة OnOffLightDevice أو ColorTemperatureLightDevice أو DimmableLightDevice أو ExtendedColorLightDevice.
  • سمات السمات والأوامر المطلوبة لعملية التشغيل الآلي، وما إذا كانت متوافقة مع واجهة برمجة التطبيقات Automation API على Android.
  • السمات التي من المفترض أن تفعّل التشغيل الآلي كإجراءات تفعيل يمكنك الاطّلاع على مزيد من المعلومات حول إجراءات التفعيل في مقالة مكوّنات التشغيل الآلي على Android.
  • شروط إضافية تحدّد ما إذا كان يجب تشغيل عملية التشغيل الآلي فعليًا، والإجراءات التي يجب تنفيذها.
  • The execution flow for the automation. هل يجب تنفيذه بشكل تسلسلي أو متوازي؟ هل تحتاج إلى مسارات منطقية متعددة؟

عند تصميم عملية التشغيل الآلي، قد يكون من المفيد رسم مخطّط بياني لتدفقها، عقدة تلو الأخرى، مع المنطق المطلوب في كل خطوة.

بعد تصميم عملية التشغيل الآلي، استخدِم لغة DSL الخاصة بالتشغيل الآلي لإنشائها. إنّ عملية التشغيل الآلي التي تنشئها هي في الأساس "نموذج"، وأي هياكل وأجهزة فيه هي عناصر نائبة تتم تعبئتها بالهياكل والأجهزة الخاصة بكل مستخدم عندما "يعتمد" عملية التشغيل الآلي لاستخدامه الخاص.

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

التشغيل الآلي البسيط

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

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

وبالتالي، سيظهر مسار التنفيذ على النحو التالي:

  1. باستخدام Discovery API، يمكنك جمع قائمة بأجهزة "WindowCoveringDevice".
  2. إذا لم تتم تعبئة عنوان الشارع، يجب إعلام المستخدم بضرورة تقديم عنوان شارع (على سبيل المثال، في GHA)، وإيقاف التنفيذ.
  3. بخلاف ذلك، حدِّد عملية التشغيل الآلي:
    1. ابدأ التشغيل الآلي في الساعة 8:00 صباحًا.
    2. لكل ستارة، استدعِ الأمر upOrOpen الخاص بالسمة WindowCovering.

التشغيل الآلي المعقّد

لنفترض أنّ هناك تطبيقًا ينشئ عملية تشغيل آلي تفعّل الأضواء الوامضة عند رصد حركة.

من أولى المهام في تنفيذ هذا التطبيق هي معرفة المصابيح المتاحة في منزل المستخدم باستخدام Discovery API. باستخدام هذه المعلومات، يمكن لتطبيقك الآن عرض الأضواء المتاحة وربما السماح للمستخدم باختيار الأضواء التي يريد أن تومض.

سير التنفيذ:

  1. باستخدام Discovery API، يمكنك جمع قائمة بأجهزة الإضاءة المتوفّرة في البنية، والتي تشمل أي أجهزة من نوع OnOffLightDevice أو ColorTemperatureLightDevice أو DimmableLightDevice أو ExtendedColorLightDevice.
  2. يجب توفير طريقة لاختيار الأضواء التي تومض، مثلاً من خلال لوحة "الإعدادات" المخصّصة.
  3. حدِّد عملية التشغيل الآلي:
    1. يمكنك بدء التشغيل الآلي عندما يغادر أحد الأشخاص المبنى أو يصل إليه، وذلك من خلال مراقبة AreaPresenceState.
    2. إذا كان presenceState يشير إلى أنّ المبنى مأهول، عليك ومض الأضواء المحددة.

التشغيل الآلي العام

للاطّلاع على مثال على عملية تشغيل آلي أكثر تعقيدًا، يمكنك الاطّلاع على عملية توجّه المستخدم خلال إنشاء عملية تشغيل آلي مفتوحة، استنادًا إلى أي من الأجهزة المتوفّرة في منزله أو جميعها.

قد تطلب عملية التشغيل الآلي أولاً من المستخدم اختيار منزل.

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

يمكن للمستخدم اختيار الأجهزة والمشغّلات والأوامر التي يريد استخدامها، وستساعده ميزة التشغيل الآلي في تجميعها.

عندما تكون جميع خيارات المستخدم وقراراته نهائية، سيقوم التشغيل الآلي بإنشاء التشغيل الآلي وحفظه في البنية التي اختارها.

بشكل عام، يحتاج هذا التشغيل الآلي إلى جمع عدة مجموعات من البيانات حول منزل المستخدم باستخدام Structure API لنظام التشغيل Android وDevice API لنظام التشغيل Android وDiscovery API.

الجدول 1: واجهات برمجة تطبيقات Home والمعلومات التي يمكنها تقديمها
واجهة برمجة التطبيقاتمعلومات
Structure API
  • ما هي الهياكل المتاحة؟
  • الغرف الموجودة في البنية
Device API
  • الأجهزة المضمّنة في البنية المحدّدة
  • مكان وجود هذه الأجهزة (في أي غرفة)
Discovery API
  • السمات التي تتوافق معها الأجهزة
  • إجراءات التفعيل والأوامر المتاحة لهذه السمات
  • ما هي القيود المفروضة على مَعلمات هذه الأوامر؟