कॉन्फ़िगरेशन: MQTT का उपयोग करें

परिचय

MQTT, जिसका पूर्ण रूप Message Queuing Telemetry Transport है, एक हल्का और प्रभावी मैसेजिंग प्रोटोकॉल है जिसका व्यापक रूप से इंटरनेट ऑफ थिंग्स (IoT) में डिवाइस-से-डिवाइस संचार के लिए उपयोग किया जाता है। इसे सीमित नेटवर्क बैंडविड्थ और कम-पावर डिवाइस के साथ काम करने के लिए डिज़ाइन किया गया है, जो इसे दूरस्थ सेंसर, मोबाइल डिवाइस और विभिन्न छोटे पैमाने की गैजेट को इंटरनेट से जोड़ने के लिए आदर्श बनाता है।

Agent DVR MQTT को घटनाएं प्रकाशित कर सकता है और इस पर कमांड प्राप्त कर सकता है, जो इसे आपके कैमरे और आपके स्मार्ट होम या होम ऑटोमेशन सिस्टम के बीच एक लचीला पुल बनाता है।

कनेक्ट हो रहा है

सेटिंग्स मेनू का उपयोग करके Agent DVR को अपने MQTT सर्वर से कनेक्ट करें। एक बार कनेक्ट हो जाने के बाद, आप अलर्ट कार्रवाइयों को अपने MQTT सर्वर को संदेश प्रकाशित करने के लिए सेट कर सकते हैं। विवरण के लिए MQTT सर्वर सेटिंग्स देखें।

इसे कॉन्फ़िगर करने के लिए, अपने डिवाइस को संपादित करें और मेनू में कार्रवाइयाँ चुनें। एक अलर्ट (या अन्य इवेंट) के लिए एक कार्रवाई जोड़ें और कार्य प्रकार के रूप में MQTT चुनें। यहाँ, आप विषय और पोस्ट करने के लिए संदेश निर्दिष्ट कर सकते हैं।

MQTT के लिए कार्रवाई जोड़ना

पोस्ट करने के लिए विषय निर्दिष्ट करें (उदाहरण के लिए, Agent/alerts) और तदनुसार अपना संदेश तैयार करें।

कमांड भेजना

Agent DVR SERVER/commands विषय पर MQTT संदेश भी प्राप्त और प्रोसेस कर सकता है, जहां SERVER आपका सर्वर नाम है (सर्वर मेनू में प्रदर्शित, सेटिंग्स में संपादन योग्य)। सर्वर नाम से MQTT विषयों के लिए किसी भी स्लैश, अंडरस्कोर और हाइफन को हटा दिया जाता है। ये कमांड HTTP API के समान प्रारूपित हैं। बस /command को cmd=: से बदलें:

सभी डिवाइस चालू करने के लिए: cmd=allon।

किसी विशेष डिवाइस पर फोटो लेने के लिए: cmd=snapshot&ot=2&oid=1।

ट्रिप वायर क्रॉसिंग काउंटरों को कैमरा पर रीसेट करें: cmd=resettripwires&ot=2&oid=1।

mosquitto का उपयोग करके, आप एक कमांड भेज सकते हैं (SERVER को अपने सर्वर नाम से बदलें):

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

Agent DVR कमांड को निष्पादित करेगा और SERVER/responses विषय पर JSON प्रतिक्रिया भेजेगा।

ऑटो MQTT

Agent DVR में एक स्वचालित MQTT कॉन्फ़िगरेशन है जो डिफ़ॉल्ट इवेंट्स, स्टेटस और उपयोग के आंकड़े भेजता है। इस फीचर को सक्रिय करने के लिए, किसी डिवाइस को संपादित करते समय MQTT टैब पर "MQTT इवेंट्स" विकल्प को सक्षम करें।

विषय SERVER/cameras/NAME/ या SERVER/microphones/NAME/ के अंतर्गत प्रकाशित किए जाते हैं, जहाँ SERVER आपका सर्वर नाम है और NAME डिवाइस नाम है (दोनों लोअरकेस में, स्लैश हटाए गए हुए)। यह कॉन्फ़िगरेशन मोशन, कनेक्टेड, अलर्ट, रिकॉर्डिंग, टाइमलैप्स, अलर्ट्स (आर्म किया गया स्थिति) और डिटेक्टर (मोशन डिटेक्शन चालू या बंद) जैसे विषयों के लिए फ्लैग्स के साथ-साथ AI ऑब्जेक्ट, चेहरा, प्लेट और ध्वनि पहचान से JSON परिणाम शामिल हैं।

ट्रिप वायर डिटेक्टर का उपयोग करने वाले कैमरे जिनमें गिनती सक्षम है, भी प्रकाशित करते हैं (v7.7.4.0+):

  • tripwire: गणना की गई प्रत्येक क्रॉसिंग के लिए एक संदेश, उदाहरण के लिए
    {"wire":1,"direction":"left","left":3,"right":2,"total":5}
  • tripwire_left, tripwire_right, tripwire_total: वर्तमान काउंटर, जो बनाए रखे जाते हैं ताकि आप सदस्यता लेने के तुरंत बाद उपलब्ध हों। रीसेट गिनती बटन, resettripwires कमांड या कैमरा रीस्टार्ट द्वारा 0 पर रीसेट किए जाते हैं।

यदि आप Home Assistant का उपयोग करते हैं तो आपको इन विषयों के साथ सीधे काम करने की आवश्यकता नहीं है: स्वचालित सेटअप के लिए Home Assistant देखें।

समस्या निवारण

यदि आपको MQTT में बार-बार डिस्कनेक्ट और रीकनेक्ट का सामना करना पड़ता है, तो यह आमतौर पर इंगित करता है कि सर्वर सेटिंग्स में MQTT के तहत निर्दिष्ट क्लाइंट ID का उपयोग कई क्लाइंट्स द्वारा किया जा रहा है। यह सुनिश्चित करना महत्वपूर्ण है कि MQTT से जुड़ा प्रत्येक क्लाइंट एक अद्वितीय क्लाइंट ID रखता है।

होम असिस्टेंट

Agent DVR अपने डिवाइस को Home Assistant को MQTT डिस्कवरी का उपयोग करके स्वचालित रूप से घोषित कर सकता है। आपके कैमरे और माइक्रोफ़ोन तब Home Assistant में डिवाइस के रूप में दिखाई देते हैं जिनमें सेंसर और स्विच होते हैं, डैशबोर्ड और ऑटोमेशन में उपयोग के लिए तैयार होते हैं, बिना YAML कॉन्फ़िगरेशन के।

आप क्या पाते हैं

  • मोशन सेंसर: जब डिटेक्टर गतिविधि देखता है तो सक्रिय रहता है।
  • अलर्ट सेंसर: जब डिवाइस अलर्ट कर रहा हो तो सक्रिय रहता है।
  • कनेक्टेड सेंसर: यह निर्धारित करता है कि डिवाइस ऑनलाइन है या नहीं।
  • रिकॉर्डिंग सेंसर: जब डिवाइस रिकॉर्ड कर रहा हो तो सक्रिय रहता है।
  • सक्षम स्विच: Home Assistant से डिवाइस को चालू या बंद करें।
  • अलर्ट्स स्विच: Home Assistant से अलर्ट्स को सक्षम या अक्षम करें।
  • डिटेक्टर स्विच: Home Assistant से मोशन डिटेक्शन को चालू या बंद करें।
  • बाएँ गिनती, दायां गिनती और कुल गिनती सेंसर: ट्रिप वायर डिटेक्टर का उपयोग करके कैमरे के लिए क्रॉसिंग काउंटर, लोग गिनती के लिए। (v7.7.4.0+)

सांख्यिकी भेजें सक्षम होने पर सर्वर भी CPU, मेमोरी और डिस्क उपयोग सेंसर के साथ एक डिवाइस के रूप में दिखाई देता है। जब Agent DVR ऑफलाइन हो जाता है तो सभी संस्थाएं Home Assistant में अनुपलब्ध दिखाई देती हैं।

इसे सेट अप करना

आपको एक MQTT ब्रोकर (आमतौर पर आपकी Home Assistant मशीन पर Mosquitto ऐड-ऑन) और Home Assistant का MQTT इंटीग्रेशन की आवश्यकता है जो इससे कनेक्टेड हो। Agent DVR के लिए कोई अतिरिक्त पोर्ट खोलने की आवश्यकता नहीं है: यह ब्रोकर से बाहर की ओर कनेक्ट करता है जैसे Home Assistant करता है।

नई स्थापना पर, स्वागत स्क्रीन के तहत Home Assistant के तहत अपने ब्रोकर का पता और लॉगिन दर्ज करें। बस इतना ही: MQTT और डिस्कवरी आपके लिए चालू किए जाते हैं, और हर कैमरा और माइक्रोफ़ोन जो आप बाद में जोड़ते हैं वह Home Assistant में स्वचालित रूप से दिखाई देंगे।

इसे बाद में सेट अप करने के लिए (या मौजूदा स्थापना पर), सर्वर सेटिंग्स - MQTT पर जाएँ, अपने ब्रोकर को कॉन्फ़िगर करें और सक्षम और होम असिस्टेंट डिस्कवरी दोनों को सक्षम करें। फिर प्रत्येक डिवाइस पर MQTT इवेंट्स को सक्षम करें जिसे आप प्रकाशित करना चाहते हैं (डिवाइस को संपादित करते समय MQTT टैब)। डिस्कवरी के चालू होने के दौरान जोड़े गए डिवाइस में MQTT इवेंट्स स्वचालित रूप से सक्षम होते हैं; जो डिवाइस पहले से मौजूद थे वे अपनी वर्तमान सेटिंग को बनाए रखते हैं।

नोट्स

  • डिवाइस Agent DVR के ब्रोकर से कनेक्ट होने के कुछ सेकंड के भीतर Home Assistant में दिखाई देते हैं। डिवाइस का नाम बदलना या MQTT इवेंट्स को टॉगल करना Home Assistant को स्वचालित रूप से अपडेट करता है।
  • उन्नत MQTT सेटिंग्स में डिस्कवरी प्रीफिक्स Home Assistant के MQTT इंटीग्रेशन में डिस्कवरी प्रीफिक्स से मेल खाना चाहिए। दोनों को डिफ़ॉल्ट पर छोड़ दें (homeassistant) जब तक कि आप जानते न हों कि आपने इसे बदल दिया है।
  • Home Assistant डिस्कवरी को बंद करने से Home Assistant से संस्थाएं हटा दी जाती हैं।
  • स्विच Agent DVR के MQTT कमांड का उपयोग करते हैं, इसलिए आपके MQTT नेटवर्क पर कुछ और भी समान कमांड भेज सकते हैं।