C.A.F.E. في Home Assistant: أتمتة على طريقة Node-RED… دون استخدام Node-RED

C.A.F.E. (مح editor الواجهة لنظام التشغيل المعقد) هو تكامل يضيف إلى Home Assistant محرر بصري “داخل التدفق”، قليلاً في روح Node-RED، ولكن مع اختلاف رئيسي: C.A.F.E. ليست محرك تنفيذ. يبقى Home Assistant هو الوحيد الذي ينفذ الأتمتة الخاصة بك. يتولى C.A.F.E. فقط تحويل مخططك البصري إلى YAML متوافق بنسبة 100% ويمتلكه مباشرة في نظام Home Assistant.

بوضوح، تقوم برسم المنطق باستخدام كتل متصلة بأسهم، ثم تقوم بحفظها… وينفذ Home Assistant كما هو معتاد. لا توجد حاوية Docker لإضافتها، ولا قاعدة بيانات للحفاظ عليها، ولا ملحق يصبح الحلقة الأضعف، كما هو الحال مع Node-Red. هذه هي بالضبط الوعد “صفر تحميل” الذي يروج له المشروع.

لماذا هو مثير للاهتمام لـ Home Assistant

إذا كنت تحب YAML، فأنت تعرف بالفعل لماذا: إنه قوي، وNative، وقابل للتنبؤ… ولكن بمجرد أن تبدأ الأتمتة في التوسع، تجد نفسك سريعًا أمام جدار من النص. يهدف C.A.F.E. بالتحديد إلى هذه اللحظة عندما “تصبح المعكرونة”. فهو يعرف كيف يقرأ أتمتة موجودة ويعيد بناء خريطة بصرية، مما هو مفيد جدًا للمراجعة والفهم وإعادة التنظيم.

إذا كنت قادمًا من Node-RED، فإن الجانب المطمئن موجود في مكان آخر: أنت تستعيد منطق العقد، لكن دون تحويل التنفيذ خارج Home Assistant. يغير C.A.F.E. الواجهة، وليس المحرك، ويمكنك العودة إلى المحرر الأصلي في أي وقت.

هناك أيضًا “مكافأتين” تتحدثان للعديد من الأشخاص:

  • C.A.F.E. يدير مفهوم المتغيرات بشكل أفضل في واجهة الرسوم التوضيحية، بينما يفرض المحرر البصري الأصلي لـ Home Assistant غالبًا الحاجة إلى التعديل في YAML من أجل هذا النوع من الأشياء.
  • C.A.F.E. يتكامل مع تتبع Home Assistant: الهدف هو إبقاء التصحيح داخل الأدوات الرسمية، دون اختراع عالم موازٍ.

الذكاء: لا قفل، لا تنسيق غريب

هذا هو على الأرجح الحجة الأكثر طمأنة: إذا قمت بإلغاء تثبيت C.A.F.E.، ستستمر الأتمتة الخاصة بك في العمل. تفقد في الأساس تخطيط الواجهة البصرية (مواضع الكتل)، وليس المنطق، لأنه يبقى YAML قياسي.

وللحفاظ على هذا التخطيط، يقوم C.A.F.E. بتخزين بيانات التعريف (مواضع العقد، إلخ) في كائن “غير دفاعي” داخل الكتلة variables من الأتمتة. يمكنك تعديل الأتمتة في Home Assistant، ثم فتحها مرة أخرى في C.A.F.E.: كلاهما يحرر نفس المصدر.

تثبيت C.A.F.E. في Home Assistant (عبر HACS)

تشمل الطريقة الموصى بها استخدام HACS، مع إضافة المستودع المخصص. يوفر README الرسمي الخطوات المتبعة: في HACS، قسم التكاملات، القائمة المنسدلة الثلاثية النقاط، “المستودعات المخصصة”، ثم إضافة https://github.com/FezVrasta/cafe-hass كتكامل.

بعد ذلك، تجد C.A.F.E. في HACS، وتقوم بتثبيته (تنزيله).

قم بإعادة تشغيل Home Assistant، ثم أضف تكامل C.A.F.E. عبر الإعدادات → الأجهزة والخدمات → إضافة تكامل.

بمجرد أن يتم وضع C.A.F.E.، يظهر في الشريط الجانبي لـ Home Assistant على شكل لوحة. هذه ليست “لوحة معلومات” Lovelace، بل هي إدخال فعلي في الشريط الجانبي.

هل تريد التجربة دون تثبيت؟

من الممكن أن تجرب C.A.F.E. دون تثبيت أي شيء، عبر واجهة ويب، بشرط أن يكون لديك وصول عن بُعد إلى Home Assistant.

في الممارسة العملية، تأكد من أنك تعرض Home Assistant على الإنترنت بشكل صحيح (Nabu Casa، عكس الوكيل، المصادقة، إلخ). هذا ممكن، لكن نفضل تجنب وضع “yolo” عندما يتعلق الأمر بالمنزل الذكي.

إذا كنت لا ترغب في منح الوصول إلى Home Assistant الخاص بك (وهو أمر يمكن فهمه تمامًا)، لقد قمت بتركيب C.A.F.E. على خادم اختبار Home Assistant الذي قدمته لك منذ بعض الأسابيع، مما سيمكنك من الاختبار في ظل الظروف دون كسر شيء في منزلك ولا حاجة لمنح وصول بعيد ;-)

التعامل: كيف نستخدمه يوميًا

بمجرد الدخول إلى C.A.F.E.، فإن الواجهة تشبه إلى حد كبير “محرر التدفق”: لوحة من العقد على اليسار (مساعدات، شروط، إجراءات، تأخيرات، انتظارات…)، ومساحة عمل مركزية كبيرة حيث يمكن وضع الكتل، ولوحة خصائص على اليمين لتكوين كل عقدة. يمكنك التكبير، والتنقل، وحتى استخدام خريطة مصغرة للتنقل في الأتمتة المعقدة.

السيناريو النموذجي يبدو هكذا: تضع مشغلًا (على سبيل المثال “تم الكشف عن حركة”)، تضيف شرطًا (على سبيل المثال “إنه الليل”)، ثم إجراء (على سبيل المثال “تشغيل مصباح الرواق”)، وتربط كل ذلك. بعد ذلك، تفتح كل عقدة لاختيار الكيانات والخدمات. يعتمد C.A.F.E. على ذكاء الكيانات في جانب Home Assistant (إكمال تلقائي، معرفة الحالات عبر API) لتجنب الحاجة لكتابة المعرّفات يدويًا.

نقطة مفيدة جدًا: يمكنك فتح أتمتة موجودة، ورؤيتها “تُركب” على لوحة العمل، وتحريك الكتل لرؤية واضحة، وتعديلها، ثم حفظها في Home Assistant. تقوم بتحريرها، وحفظها، وتجد الأتمتة في المحرر الأصلي، مع YAML تم إثرائه ببيانات التخطيط!

استيراد، تصدير، تصحيح

C.A.F.E. يعرف كيفية استيراد أتمتة الموجودة ويمكنه أيضًا استيراد YAML أو JSON، ثم تصدير تدفق في JSON. من المفيد مشاركة “مخطط” أو أرشفة نسخة قبل إعادة تصميم منطق معقد قليلاً.

بالنسبة لتصحيح الأخطاء، الفكرة بسيطة: الحفاظ على قراءة واضحة للتنفيذ. نجد وضع تصحيح مع مؤشر “خطوة بخطوة” وخيارات لمحاكاة نتائج الشروط، بحيث يمكن تصور المسار المأخوذ في الأتمتة.
ومن جهة المشروع، فإن التكامل مع عرض التتبع لـ Home Assistant هو أحد النقاط القوية المعلنة: تبقى ضمن الأدوات الرسمية لتحليل ما حدث.

أمثلة عملية حيث C.A.F.E. يحقق الفارق حقًا

خذ أتمتة “أضواء المساء” ميسورة. التشغيل: قبل غروب الشمس مباشرة. الشرط: فقط إذا كنا قبل وقت معين (وإلا، فالأمر متأخر، وغير ضروري). الإجراء: تشغيل بعض المصابيح، ولكن بسطوع مختلف حسب نافذة زمنية. في YAML، غالبًا ما ينتهي الأمر بـ “اختيار” متداخل وشروط تتقاطع. في C.A.F.E.، يصبح مثل هذا النوع من المنطق خريطة طرق: نرى الفروع، نرى الطرق، نتنفس. وهذه هي بالضبط النوع من الأمثلة الموضحة في الإيضاح.

حالة أخرى جدًا: السيناريوهات مع المتغيرات. مثال بسيط للغاية: تستدعي برنامج نصي يعود بمعلومات (درجة الحرارة، السعر، حالة ملخصة)، تقوم بتخزين الرد في متغير، ثم تعيد استخدام هذا المتغير في إجراءات لاحقة، عبر قوالب Jinja. يشرح README آلية “ردود البرامج النصية” (response_variable) والاستخدام في Jinja {{ variable.champ }} في العقد التالية.

وللمركبين أو المستخدمين المتقدمين: بمجرد أن تتحدث عن حلقات، وعمليات عكسية، ومنطق غير خطي، يعلن C.A.F.E. عن تجميع “محسن” يمكنه توليد هيكل من نوع “آلة حالة” عند الحاجة، مع الحفاظ على توافق 100% مع Home Assistant.

الحدود والاحتياطات (لأنها بيتا)

يُقدم المشروع على أنه “غير مدمر”، ولكنه لا يزال في مرحلة البيتا، مع تصحيحات متكررة. القاعدة الأولى: قم بعمل نسخة احتياطية من الأتمتة الخاصة بك قبل تعديل أي شيء مهم.

القاعدة الثانية: في الأتمتة الحرجة (الإنذار، التدفئة، الأمان)، تقدم ببطء. اختبر أولاً على أتمتة بسيطة، قارن YAML قبل / بعد، تحقق من التتبع، ثم زِد التعقيد. إنها مثل طريقة “لا تجدد منزلًا بتكسير جميع الجدران دفعة واحدة” (وسيعبر لك سُكناك المستقبلي عن الشكر!).

القاعدة الثالثة: تقبل فكرة أن التخطيط التلقائي وإعادة البناء المرئي لن يكون مثاليًا بنسبة 100% على YAML الحرفي جدًا. يعترف المشروع بذلك: يمكن أن يحتوي استيراد YAML اليدوي المعقد على بعض العيوب.

هل يجب تبنيه الآن؟

إذا كنت مرتاحًا مع المحرر الأصلي وتبقى الأتمتة الخاصة بك بسيطة، فإن C.A.F.E. ليست “إلزامية”. ومع ذلك، إذا كان لديك سيناريوهات تتجه في جميع الاتجاهات، إذا كنت تكره قراءة YAML طويلة كما هو يوم بدون Wi-Fi، أو إذا كنت تحب الراحة البصرية لـ Node-RED لكن دون الحاجة إلى محرك ثانٍ، فإن C.A.F.E. يحقق الكثير من المعايير: بصري، أصلي، بدون تحميل، ودون فروقات على المدى الطويل حيث نبقى على أتمتة Home Assistant القياسية. هنا على أي حال تم اعتماده!

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

Leave a reply

ستة + 18 =

Maison et Domotique
Logo
Compare items
  • Casques Audio (0)
  • Sondes de Piscine Connectées (0)
  • Smartphones (0)
Compare