يعني تأخر التحكم المحلي في Home Assistant أثناء انقطاع الإنترنت عادةً أن مسارًا يُفترض أنه محلي لا يزال ينتظر اعتمادًا على شبكة WAN أو أعمالًا متراكمة.
ابدأ بالفصل بين وصول المُشغِّل واكتمال الإجراء: إذا تغيّر مستشعر الحركة فورًا لكن المصباح استجاب متأخرًا، فهذا يعني أن مسار الحدث يعمل وأن التأخير يقع في مرحلة لاحقة من السلسلة. وإذا أصبح الكيان المستهدف غير متاح، فالمشكلة تقع في جزء الجهاز من المسار؛ تعامل مع الانقطاع كمتغير مضبوط وحدد أول مرحلة يتغير زمن استجابتها.
السبب الجذري عادةً هو اعتماد مخفي في مسار التحكم
يمكن أن يكون تثبيت Home Assistant محليًا على مستوى الخادم، بينما تظل كيانات أو أسماء أو إشعارات أو خدمات مساعدة فردية معتمدة على الإنترنت. يختبر المستخدم ضغطة زر واحدة، لكن هذا الطلب قد يمر عبر لوحة تحكم محلية، ومحلل أسماء، وحلقة أحداث Home Assistant، وتكامل، وواجهة برمجة تطبيقات لمورّد، ثم جهاز فعلي. تكفي مرحلة واحدة تعتمد على WAN لتأخير الإجراء المرئي بالكامل.
توضح مقالة عن بنية المنزل المحلية أولًا النقطة نفسها، إذ تميّز بين التحكم الأساسي بالمنزل ووظائف WAN الاختيارية؛ تظل مسارات التحكم التي تعطي الأولوية للعمل دون اتصال موثوقة فقط عندما تبقى سلسلة المستشعر إلى الإجراء داخل المنزل. ويمكن أن تتعطل الإشعارات عن بُعد والطقس وخدمات المورّد بشكل منفصل من دون حجب تشغيل المصباح أو القفل.
لا تبدأ بتغيير وحدة المعالجة المركزية أو قاعدة البيانات أو إعدادات التشغيل الآلي. سجّل أولًا زمن حالة المستشعر، وبدء التشغيل الآلي، وكل خطوة من خطوات الإجراء، واستدعاء الخدمة المستهدفة، وتأكيد حالة الجهاز. يحدد أول فاصل زمني يتسع فقط عند عدم توفر WAN فئة الاعتماد التي تستحق التحقيق.
الأسباب الأربعة للتأخير المحلي المرتبط بالانقطاع
أكثر تقسيم مفيد هو التمييز بين إجراء سحابي بطيء، أو اسم محلي أو مسار يعتمد سرًا على بنية WAN، أو تكامل جهاز يُدار عبر السحابة، أو قائمة انتظار أنشأتها أعمال فاشلة سابقة. قد تبدو هذه الأسباب متطابقة من لوحة التحكم، لأن نتائجها الأربعة كلها تنتهي بنتيجة محلية متأخرة.
وجد تحقيق مجتمعي أن Home Assistant أصبح بطيئًا عندما كانت التكاملات السحابية تملك اتصالات ضعيفة أو مفقودة، مقدمًا مثالًا واقعيًا على تأثير تعطل السحابة في سرعة الاستجابة. وتفيد هذه الملاحظة لأنها تفصل بين وجود Core محلي وسلوك التكاملات التي ينتظرها Core.
استخدم التوقيعات أدناه كفرضيات لا كتصنيفات نهائية. أعد تنفيذ الإجراء المحلي نفسه مع اتصال WAN سليم ثم مفصول، وأزل اعتمادًا مشتبهًا به واحدًا فقط كل مرة. يتأكد السبب عندما تتحرك المرحلة المتغيرة والتأخير الذي يراه المستخدم معًا، بينما يبقى باقي مسار التحكم ثابتًا.
السبب 1: إجراء سحابي يُبقي التشغيل مفتوحًا
- الآلية: يصل مُشغِّل محلي إلى إجراء يعتمد على السحابة وينتظر انتهاء المهلة أو إعادة المحاولة.
- التوقيع: تصل تغييرات الحالة المحلية في الوقت المحدد، لكن سجل تتبع التشغيل يتوقف عند استدعاء بعيد واحد.
- إذا–فإن: إذا أدى حذف ذلك الاستدعاء إلى استعادة زمن الاستجابة أثناء الانقطاع نفسه، فإن الخطوة السحابية المتأخرة هي السبب.
السبب 2: يعتمد حل الأسماء أو المسارات المحلية أيضًا على WAN
- الآلية: يستخدم العملاء أو التكاملات مسارات DNS أو وكيلًا أو توجيهًا تنتقل احتياطيًا إلى خارج الشبكة المحلية.
- التوقيع: يكون الوصول المباشر عبر عنوان IP محلي سريعًا، بينما يتوقف اسم المضيف المعتاد أو المسار الموجّه مؤقتًا.
- إذا–فإن: إذا أزال اسم ومسار محليان بالكامل التأخير، فكان منطق التحكم محليًا لكن مسار الوصول لم يكن كذلك.
السبب 3: جهاز محلي يُدار فعليًا عبر السحابة
- الآلية: يمثل الكيان الظاهر في Home Assistant واجهة برمجة تطبيقات لمورّد بدلًا من نقطة نهاية مباشرة عبر الشبكة المحلية أو الراديو.
- التوقيع: يعمل التشغيل الآلي، لكن الكيان المستهدف يصبح غير متاح أو لا يتحدث إلا بعد عودة الإنترنت.
- إذا–فإن: إذا استمر هدف Zigbee أو Z-Wave أو ESPHome أو أي هدف محلي آخر في الاستجابة بينما لا يستجيب هذا الجهاز، فحدود التكامل هي السبب.
السبب 4: تراكم من الانقطاع يؤخر عمليات التشغيل المحلية اللاحقة
- الآلية: تستهلك الأعمال الموضوعة في قائمة الانتظار أو المتوازية، والتي أُنشئت أثناء الانقطاع، موارد التشغيل الآلي أو المضيف نفسها بعد الفشل الأول.
- التوقيع: لا تتأخر الإجراءات المحلية البحتة إلا بعد تراكم عدة محاولات بعيدة فاشلة.
- إذا–فإن: إذا أدى مسح التراكم أو منعه إلى استعادة زمن الاستجابة المحلي، فالتأخير الثانوي ناتج عن الانتظار في قائمة وليس عن البروتوكول المحلي.
ميّز بين فقدان الإنترنت وفقدان الشبكة المحلية
لا ينبغي الخلط بين انقطاع الإنترنت وفقدان الموجّه أو نقطة وصول Wi-Fi أو محول Ethernet أو DNS المحلي أو منسق Zigbee أو مضيف Home Assistant. فإذا تدهورت الشبكة المحلية نفسها، فقد يفشل التحكم المحلي حتى لو لم يتضمن التصميم أي اعتماد سحابي. يجب أن يُبقي اختبار الانقطاع البنية التحتية المحلية قيد التشغيل وقابلة للوصول، مع إزالة مسار الإنترنت الصاعد فقط.
يصف دليل حديث عن Home Assistant المحلي أولًا هذا الفصل تحديدًا، ويؤكد أن التحكم المحلي هو تصميم للاعتمادات، وليس مجرد حقيقة أن Home Assistant يعمل في المنزل. فلا بد أن تصمد أجهزة الراديو المحلية وواجهات LAN وDNS ووحدة التحكم بشكل مستقل عن WAN.
إذا ظل الوصول المباشر عبر عنوان IP محلي وأجهزة الراديو والخدمات المحلية سريعًا، بينما كان اسم المضيف المعتاد بطيئًا فقط، فاختبر DNS وحل الوكيل قبل تعديل عمليات التشغيل الآلي. وإذا فقد Home Assistant إمكانية الوصول إليه من الشبكة المحلية نفسها، فالمشكلة ليست فشلًا مقتصرًا على الإنترنت، وينبغي نقل التحقيق إلى طبقة الشبكة المحلية أو المضيف.
أجرِ اختبار عزل بأربعة طوابع زمنية
اختر عملية تشغيل آلي بسيطة تضم مستشعرًا محليًا ومشغّلًا محليًا. يمكن لـ سير عمل تصحيح الأخطاء المعتمد على سجلات التتبع الحالي التقاط المُشغِّل والشروط وبيانات الإجراء المعروضة وتوقيت الخطوات؛ واربط ذلك بتأكيد حالة الجهاز المرصودة. كرر العملية عشر مرات مع توفر الإنترنت، ثم عشر مرات مع حجب WAN مع إبقاء الشبكة المحلية سليمة، وقارن الوسيط وأبطأ عمليات التشغيل بدلًا من الاعتماد على ضغطة واحدة عابرة.
يوضح ZimaSpace كيف يمكن لتطبيق سريع ظاهريًا على LAN أن يتوقف قبل مسار التطبيق، لأن زمن استجابة DNS قد يسبق بدء الاتصال. وينطبق مبدأ العزل نفسه هنا: قِس زمن كل مرحلة حتى لا يُخلط بين تأخير حل الأسماء وتأخير تنفيذ التشغيل الآلي.
اعتبر تصميم التحكم المحلي ناجحًا عندما لا يؤدي حذف WAN إلى تغيير جوهري في الفاصل الزمني من المُشغِّل إلى الجهاز المحلي، وعندما لا تتمكن مهام السحابة الفاشلة من بناء تراكم يحجب المسار المحلي لاحقًا. إذا اتسع أحد الطوابع الزمنية، فأصلح ذلك الاعتماد أولًا. لا ترفع التزامن، ولا تنقل قواعد البيانات، ولا تستبدل العتاد قبل أن تُظهر أدلة التوقيت أن هذه الموارد مشتركة فعليًا.
مركز التكنولوجيا والذكاء الاصطناعي
المزيد للقراءة

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

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

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

