الحلول
Search Icon

    الكشف عن الحضور في home assistant بمستشعرات العدّ: خطوة بخطوة

    الكشف عن الحضور في home assistant بمستشعرات العدّ: خطوة بخطوة

    الساعة العاشرة صباحًا، ستة أشخاص في غرفة اجتماعات يتابعون عرضًا دون أن يتحرك أحدهم، وبعد عشر دقائق تنطفئ الإضاءة ويتوقف التكييف لأن كيان الحضور أعلن أن الغرفة فارغة. في الطابق نفسه، ممر لم يدخله أحد منذ ساعة ما زال "مشغولًا" لأن رصيد العدّاد عند الباب يُظهر شخصين لم يخرجا قط. الخطآن مختلفان في المظهر لكن سببهما واحد: بُني الكشف عن الحضور في home assistant على إشارة لم تُصمَّم لهذا الغرض، أو على إشارة صحيحة لم تُعالَج بالشكل المناسب. هذا المقال يشرح، خطوة بخطوة، كيف تحوّل بيانات مستشعرات الإشغال وعدّ الأشخاص إلى كيان حضور يمكن أن تعتمد عليه أتمتة الإضاءة والتهوية والحجوزات.

    إذا كنت تريد مقارنة عامة بين أنواع المستشعرات وبنية MQTT وREST والحالات التي يحتاج فيها المشروع طبقة مؤسسية، فستجدها في الدليل الكامل لتكامل بيانات الإشغال مع Home Assistant. هنا نفترض أن البيانات تصل بالفعل، ونركّز على سؤال واحد فقط: كيف تجعلها تعني "موجود" أو "غير موجود" بشكل صحيح.

    الخطوة 1: عرّف معنى "الحضور" لكل منطقة قبل اختيار الإشارة

    معظم مشاكل home assistant presence detection تبدأ من افتراض أن الحضور مفهوم واحد. في الواقع هو ثلاثة أسئلة مختلفة، ولكل منها إشارة مناسبة:

    • هل يوجد أحد في هذه الغرفة الآن؟ سؤال ثنائي لغرفة واحدة مغلقة. مستشعر mmWave مثل LD2410 أو FP2 يجيب عنه جيدًا لأنه يكشف الوجود الساكن، لكنه لا يعدّ ولا يميّز الموظفين.
    • كم شخصًا في هذه المنطقة؟ سؤال عددي لمنطقة لها مداخل محددة: قاعة، جناح، طابق. الإجابة تأتي من عدّاد عند كل مدخل، ويُشتق منها الحضور كقيمة "الرصيد أكبر من صفر".
    • هل يوجد زوار وليس موظفين فقط؟ سؤال لا يجيب عنه أي مستشعر استهلاكي. هنا تحتاج عدّادات AI مؤسسية توفر استبعاد الموظفين من العدّ، مثل حلول Vemco، حتى لا يُحتسب عامل النظافة الذي يمر عشرين مرة يوميًا كحضور يستدعي تشغيل التهوية.

    اكتب لكل منطقة أي سؤال من الثلاثة تريد الإجابة عنه. هذا الجدول البسيط يحدد المستشعر، ويحدد أيضًا كيف ستبني الكيان في الخطوات التالية.

    الخطوة 2: ابنِ كيان الكشف عن الحضور في home assistant من رصيد العدّ، لا من المستشعر الخام

    عندما يصل رصيد العدّ عبر MQTT (مع رسائل محتفظ بها وQoS 1 على الأقل حتى لا تبدأ بقيمة مجهولة بعد إعادة التشغيل)، لا تربط الأتمتة بهذا الكيان مباشرة. أنشئ بدلًا منه template binary_sensor لكل منطقة منطقية بصنف الجهاز occupancy، تكون حالته "on" عندما يكون الرصيد أكبر من صفر. أضف الرصيد نفسه كخاصية (attribute) على الكيان حتى تحتفظ بالعدد للتقارير دون أن تحتاجه الأتمتة.

    هذا الفصل يعطيك ثلاث فوائد عملية: تستطيع تغيير المستشعر لاحقًا دون لمس الأتمتة؛ تستطيع إضافة شروط للحضور في مكان واحد بدل عشرين أتمتة؛ وتستطيع تعريف قالب availability يجعل الكيان "غير متاح" إذا لم تصل بيانات خلال فترة محددة، مثلًا دقيقتين لمصدر MQTT أو ثلاثة أضعاف فاصل السحب لمستشعر REST. القاعدة هنا حاسمة: البيانات القديمة يجب أن تظهر كغير متاحة، لا كـ"مشغول" ولا كـ"فارغ"، لأن أي أتمتة جيدة تتعامل مع "غير متاح" بإبقاء الحالة الراهنة بدل اتخاذ قرار.

    الخطوة 3: أضف تأخير الإطفاء وعتبة التشغيل

    كيان الحضور الخام يتقلب مع كل خروج ودخول عند الباب. استخدم خاصية delay_off في القالب حتى لا ينتقل الكيان إلى "فارغ" إلا بعد بقاء الرصيد عند صفر لفترة متواصلة. القيم تختلف حسب تكلفة الخطأ:

    • غرفة اجتماعات مرتبطة بإلغاء الحجز: 10 إلى 15 دقيقة، لأن إلغاء حجز لغرفة خرج أصحابها لإحضار القهوة أغلى من دقائق تكييف إضافية.
    • ممر أو منطقة عبور مرتبطة بالإضاءة: دقيقتان إلى ثلاث، لأن الإطفاء الخاطئ هنا مزعج لكنه رخيص.
    • قاعة مرتبطة بالتهوية: 5 دقائق أو أكثر، لأن أنظمة HVAC لا تحب التشغيل والإيقاف المتكرر.

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

    الخطوة 4: ادمج إشارتين عندما تكون تكلفة الخطأ مرتفعة

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

    • الدخول إلى حالة "مشغول": يكفي أن يقول العدّاد إن الرصيد أكبر من صفر أو أن يكشف mmWave وجودًا. الحساسية هنا مرغوبة.
    • الخروج إلى حالة "فارغ": يجب أن يكون الرصيد صفرًا وألا يكشف mmWave أي وجود، معًا، طوال فترة التأخير. الحذر هنا مرغوب.

    بهذا المنطق، لا تنطفئ الإضاءة على ستة أشخاص ساكنين لأن mmWave يراهم، ولا يبقى الممر مشغولًا بسبب رصيد عالق لأن mmWave لا يرى أحدًا والرصيد صفر بعد التصفير. يُطبَّق هذا كله داخل القالب نفسه الذي أنشأته في الخطوة 2، فتبقى الأتمتة كما هي.

    الخطوة 5: عالج الانجراف قبل أن يفسد الحضور

    حتى مع عدّادات بدقة تعاقدية لا تقل عن 96%، وتصل عمليًا إلى 98 إلى 99% عندما تسمح ظروف الإضاءة وتخطيط المساحة وسلوك الزوار، تتراكم أخطاء الدخول والخروج بمرور الأيام. النتيجة المعروفة: رصيد يُظهر ثلاثة أشخاص في الثانية صباحًا في مبنى فارغ، وكيان حضور لا ينطفئ أبدًا. الآلية التي يطبقها المنفذون المتمرسون هي إعادة تصفير ليلية مشروطة: إذا كان الرصيد أقل من عتبة صغيرة ولم تُسجَّل أي حركة لساعة كاملة، صفّر العدّاد وسجّل قيمة الانجراف في كيان منفصل. مراقبة هذا الكيان أسبوعيًا تكشف لك العدّاد الذي بدأ ينحرف قبل أن يلاحظ المستخدمون أن الغرفة "مشغولة" دائمًا.

    اربط هذا أيضًا بمنطق الخطوة 4: إذا بقي الرصيد عند قيمة منخفضة ثابتة مع غياب كامل لإشارة mmWave لأكثر من ساعة في وقت العمل، فهذا مؤشر انجراف يستحق تنبيهًا للفريق التقني، لا قرار أتمتة.

    الخطوة 6: تحقّق لمدة أسبوع قبل ربط أي أتمتة

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

    عندما يتجاوز المشروع بضع مناطق، أو عندما تحتاج الإدارة تقارير استخدام للمساحات أو ربطًا بأنظمة BMS والأمن، يصبح النمط الهجين هو الأنسب: عدّادات AI مؤسسية كمصدر للحقيقة تغذي منصة مثل VemFusion لربط الإشغال بأنظمة HVAC وBMS، وبيانات استخدام المساحات من VemSpace للتخطيط، مع تدفق الرصيد نفسه إلى Home Assistant عبر MQTT لتنفيذ أتمتة الحضور المحلية منخفضة زمن الاستجابة.

    الأسئلة الشائعة

    هل يكفي عدّاد الأشخاص وحده للكشف عن الحضور؟ في منطقة لها مداخل محددة ومع إعادة تصفير ليلية، نعم غالبًا. لكن في غرف الاجتماعات أو المساحات التي يكون فيها الإطفاء الخاطئ مكلفًا، يُفضَّل دمجه مع مستشعر mmWave بمنطق "أو" للدخول و"و" للخروج.

    ما القيمة المناسبة لتأخير الإطفاء؟ لا توجد قيمة واحدة؛ تعتمد على تكلفة الخطأ في كل منطقة. ابدأ بدقيقتين للممرات و10 إلى 15 دقيقة لغرف الاجتماعات، ثم عدّلها بعد أسبوع من مراقبة التاريخ ومقارنته بعينات يدوية.

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

    إذا كنت تبني كشف حضور يعتمد على عدّ الأشخاص في مكتب أو جامعة أو مبنى عام، وتحتاج مصدر بيانات بدقة تعاقدية مع استبعاد الموظفين وتنبيهات سعة في الوقت الفعلي يمكن تدفقه إلى Home Assistant وأنظمة BMS معًا، فريق Vemco يعمل في هذا المجال منذ 2005 ويمكنه مساعدتك في تصميم البنية المناسبة لموقعك. تواصل معنا عبر صفحة الاتصال لمناقشة متطلبات مشروعك.

    Join Our Newsletter Community Today!

    Form-right