التكوين: باستخدام MQTT

حول

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

الاتصال

قم بتوصيل Agent DVR بخادم MQTT الخاص بك باستخدام قائمة الإعدادات. بمجرد الاتصال، يمكنك تعيين إجراءات التنبيه لنشر الرسائل إلى خادم MQTT الخاص بك. انظر إعدادات خادم MQTT للتفاصيل.

لتكوين هذا، قم بتحرير الجهاز الخاص بك، انتقل إلى علامة عامة واختر الإجراءات. أضف إجراءً لتنبيه (أو حدث آخر) واختر MQTT كنوع للإجراء. هنا، يمكنك تحديد الموضوع والرسالة للنشر.

إضافة إجراء لـ MQTT

حدد الموضوع الذي تريد النشر إليه (على سبيل المثال، Agent/alerts) وصاغ رسالتك وفقًا لذلك.

إرسال الأوامر

يمكن لـ Agent DVR أيضًا استقبال ومعالجة رسائل MQTT على القناة SERVER/commands حيث يكون SERVER اسم الخادم الخاص بك (المعروض في قائمة الخادم التي يمكنك تحريرها في الإعدادات). تتم تهيئة هذه الأوامر بشكل مماثل لـ واجهة برمجة التطبيقات HTTP. ما عليك سوى استبدال /command بـ cmd=:

لتشغيل جميع الأجهزة: cmd=allon.

لالتقاط صورة على جهاز معين: cmd=snapshot&ot=2&oid=1.

باستخدام mosquitto، يمكنك إرسال أمر مثل (استبدل SERVER بـ اسم الخادم الخاص بك):

mosquitto_pub -t 'SERVER/commands' -m 'cmd=record&ot=2&oid=1'
.

سيقوم Agent DVR بتنفيذ الأمر وإرسال استجابة JSON إلى القناة SERVER/responses.

أوتو MQTT

يتميز Agent DVR بتكوين MQTT تلقائي يرسل الأحداث الافتراضية والحالات وإحصائيات الاستخدام. لتفعيل هذه الميزة، قم بتمكين خيار "MQTT Events" في علامة التبويب العامة أثناء تحرير جهاز.

يتضمن هذا التكوين علامات لمواضيع مثل الحركة، متصل، تنبيه، تسجيل، تنبيهات (حالة مسلحة) وكاشف (كشف الحركة قيد التشغيل أو الإيقاف).

إذا كنت تستخدم Home Assistant، فلا تحتاج إلى العمل مع هذه المواضيع مباشرة: راجع Home Assistant للإعداد التلقائي.

استكشاف الأخطاء وإصلاحها

إذا واجهت انقطاعات متكررة وإعادة اتصال في MQTT، فإن ذلك يشير عادةً إلى أن معرف العميل المحدد في إعدادات الخادم تحت MQTT يتم استخدامه من قبل عدة عملاء. من المهم التأكد من أن كل عميل متصل بـ MQTT لديه معرف عميل فريد.

مساعد المنزل

يمكن لـ Agent DVR الإعلان عن أجهزته إلى Home Assistant تلقائيًا باستخدام اكتشاف MQTT. ستظهر الكاميرات والميكروفونات الخاصة بك بعد ذلك في Home Assistant كأجهزة تحتوي على مستشعرات ومفاتيح، جاهزة للاستخدام في لوحات المعلومات والأتمتة دون الحاجة إلى تكوين YAML.

ما ستحصل عليه

  • مستشعر الحركة: يعمل أثناء رؤية الكاشف للنشاط.
  • مستشعر التنبيه: يعمل أثناء تنبيه الجهاز.
  • مستشعر الاتصال: سواء كان الجهاز متصلًا بالإنترنت.
  • مستشعر التسجيل: يعمل أثناء تسجيل الجهاز.
  • مفتاح التمكين: تشغيل أو إيقاف الجهاز من Home Assistant.
  • مفتاح التنبيهات: تفعيل أو تعطيل التنبيهات من Home Assistant.
  • مفتاح الكاشف: تشغيل أو إيقاف اكتشاف الحركة من Home Assistant.

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

إعدادها

تحتاج إلى وسيط MQTT (عادةً ما يكون إضافة Mosquitto على جهاز Home Assistant الخاص بك) وتكامل MQTT الخاص بـ Home Assistant متصل به. لا حاجة لفتح أي منافذ إضافية لـ Agent DVR: يتصل بالوسيط تمامًا كما يفعل Home Assistant.

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

لإعدادها لاحقًا (أو على تثبيت موجود)، انتقل إلى إعدادات الخادم - MQTT، قم بتكوين الوسيط الخاص بك وقم بتمكين كل من مفعل و اكتشاف Home Assistant. ثم قم بتمكين أحداث MQTT على كل جهاز تريد نشره (علامة التبويب العامة عند تحرير الجهاز). الأجهزة المضافة أثناء تشغيل الاكتشاف يتم تمكين أحداث MQTT تلقائيًا؛ الأجهزة التي كانت موجودة مسبقًا تحتفظ بإعدادها الحالي.

ملاحظات

  • تظهر الأجهزة في Home Assistant خلال بضع ثوانٍ من اتصال Agent DVR بالوسيط. إعادة تسمية جهاز أو تبديل أحداث MQTT يحدث تحديثًا تلقائيًا في Home Assistant.
  • يجب أن يتطابق بادئة الاكتشاف في إعدادات MQTT المتقدمة مع بادئة الاكتشاف في تكامل MQTT الخاص بـ Home Assistant. اترك كلاهما على الإعداد الافتراضي (homeassistant) ما لم تكن متأكدًا من أنك قمت بتغييره.
  • إيقاف تشغيل اكتشاف Home Assistant يزيل الكيانات من Home Assistant.
  • تستخدم المفاتيح أوامر MQTT الخاصة بـ Agent DVR في الخلفية، لذا يمكن لأي شيء آخر على شبكة MQTT الخاصة بك إرسال نفس الأوامر.