कॉन्फ़िगरेशन: MQTT का उपयोग करें
बारे में
MQTT, जिसका अर्थ Message Queuing Telemetry Transport है, एक हल्का और प्रभावी मेसेजिंग प्रोटोकॉल है जो Internet of Things (IoT) में डिवाइस-टू-डिवाइस संचार के लिए व्यापक रूप से उपयोग किया जाता है। यह सीमित नेटवर्क बैंडविड्थ और कम-शक्ति वाले डिवाइस के तहत काम करने के लिए डिज़ाइन किया गया है, जो इसे रिमोट सेंसर, मोबाइल डिवाइस और विभिन्न छोटे पैमाने के गैजेट को इंटरनेट से जोड़ने के लिए आदर्श बनाता है।
Agent DVR MQTT को इवेंट प्रकाशित कर सकता है और इसके माध्यम से कमांड प्राप्त कर सकता है, जो इसे आपके कैमरा और आपके स्मार्ट होम या होम ऑटोमेशन सिस्टम के बीच एक लचकदार ब्रिज बनाता है।
कनेक्ट करना
Settings मेनू का उपयोग करके Agent DVR को अपने MQTT सर्वर से कनेक्ट करें। कनेक्ट होने के बाद, आप अलर्ट एक्शन को अपने MQTT सर्वर को संदेश प्रकाशित करने के लिए सेट कर सकते हैं। विवरण के लिए MQTT सर्वर सेटिंग देखें।
इसे कॉन्फ़िगर करने के लिए, अपने डिवाइस को संपादित करें और मेनू में Actions चुनें। अलर्ट (या अन्य इवेंट) के लिए एक एक्शन जोड़ें और कार्य प्रकार के रूप में MQTT चुनें। यहां, आप पोस्ट करने के लिए विषय और संदेश निर्दिष्ट कर सकते हैं।
पोस्ट करने के लिए विषय निर्दिष्ट करें (उदाहरण के लिए, Agent/alerts) और अपने संदेश को तदनुसार तैयार करें।
हिंदी में अनुमतियाँ भेजना
Agent DVR SERVER/commands विषय पर MQTT संदेश प्राप्त और प्रक्रिया भी कर सकता है, जहाँ SERVER आपका सर्वर नाम है (सर्वर मेनू में प्रदर्शित, सेटिंग्स में संपादन योग्य)। सर्वर नाम से MQTT विषयों के लिए कोई भी स्लैश, अंडरस्कोर और हाइफन हटा दिए जाते हैं। ये आदेश HTTP API के समान स्वरूप में होते हैं। बस /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 आदेश को निष्पादित करेगा और SERVER/responses विषय पर JSON प्रतिक्रिया भेजेगा।
ऑटो MQTT
Agent DVR में एक स्वचालित MQTT कॉन्फ़िगरेशन है जो डिफ़ॉल्ट इवेंट, स्टेटस और उपयोग सांख्यिकी भेजता है। इस सुविधा को सक्रिय करने के लिए, डिवाइस संपादित करते समय MQTT टैब पर "MQTT Events" विकल्प सक्षम करें।
इस कॉन्फ़िगरेशन में motion, connected, alert, recording, timelapse, alerts (armed state) और detector (motion detection on or off) जैसे विषयों के लिए फ़्लैग शामिल हैं।
यदि आप Home Assistant का उपयोग करते हैं तो आपको इन विषयों के साथ सीधे काम करने की आवश्यकता नहीं है: स्वचालित सेटअप के लिए Home Assistant देखें।
समस्या निवारण
यदि आपको MQTT में बार-बार डिस्कनेक्ट और पुनः कनेक्ट होने का सामना करना पड़ता है, तो यह आमतौर पर इंगित करता है कि Server Settings में MQTT के अंतर्गत निर्दिष्ट Client ID कई क्लाइंट द्वारा उपयोग किया जा रहा है। यह सुनिश्चित करना महत्वपूर्ण है कि MQTT से जुड़ा प्रत्येक क्लाइंट एक अनन्य Client ID रखता है।
होम असिस्टेंट
Agent DVR अपने उपकरणों को Home Assistant को MQTT discovery का उपयोग करके स्वचालित रूप से घोषित कर सकता है। आपके कैमरे और माइक्रोफोन तब Home Assistant में सेंसर और स्विच के साथ उपकरण के रूप में दिखाई देते हैं, डैशबोर्ड और ऑटोमेशन में बिना YAML कॉन्फ़िगरेशन के उपयोग के लिए तैयार।
आपको क्या मिलता है
- Motion sensor: जब detector गतिविधि देखता है तो चालू रहता है।
- Alert sensor: जब उपकरण सचेत करता है तो चालू रहता है।
- Connected sensor: चाहे उपकरण ऑनलाइन हो।
- Recording sensor: जब उपकरण record कर रहा हो तो चालू रहता है।
- Enabled switch: Home Assistant से उपकरण को चालू या बंद करें।
- Alerts switch: Home Assistant से सचेतों को सक्षम या अक्षम करें।
- Detector switch: Home Assistant से motion detection को चालू या बंद करें।
Send Stats सक्षम होने पर server भी CPU, memory और disk usage sensors के साथ एक उपकरण के रूप में दिखाई देता है। जब Agent DVR ऑफलाइन हो जाता है तो सभी entities Home Assistant में unavailable के रूप में दिखाई देते हैं।
इसे सेटअप करना
आपको एक MQTT broker (आमतौर पर आपकी Home Assistant मशीन पर Mosquitto add-on) और Home Assistant का MQTT integration इससे जुड़ा हुआ चाहिए। Agent DVR के लिए कोई अतिरिक्त ports खोलने की आवश्यकता नहीं है: यह broker से बाहर की ओर कनेक्ट करता है जैसे Home Assistant करता है।
एक नई स्थापना पर, बस स्वागत स्क्रीन पर Home Assistant के तहत अपने broker का पता और लॉगिन दर्ज करें। बस इतना ही: MQTT और discovery आपके लिए चालू हैं, और हर कैमरा और माइक्रोफोन जो आप बाद में जोड़ते हैं वह Home Assistant में स्वचालित रूप से दिखाई देगा।
इसे बाद में सेटअप करने के लिए (या मौजूदा स्थापना पर), Server Settings - MQTT पर जाएं, अपने broker को कॉन्फ़िगर करें और Enabled और Home Assistant Discovery दोनों को सक्षम करें। फिर हर उपकरण पर MQTT Events को सक्षम करें जिसे आप प्रकाशित करना चाहते हैं (उपकरण को संपादित करते समय MQTT tab)। जब discovery चालू हो तो जोड़े गए उपकरणों में MQTT Events स्वचालित रूप से सक्षम होते हैं; discovery से पहले मौजूद उपकरण अपनी वर्तमान सेटिंग रखते हैं।
नोट्स
- उपकरण Home Assistant में Agent DVR के broker से कनेक्ट होने के कुछ सेकंड के भीतर दिखाई देते हैं। किसी उपकरण का नाम बदलना या MQTT Events को toggle करना Home Assistant को स्वचालित रूप से अपडेट करता है।
- उन्नत MQTT सेटिंग में Discovery Prefix Home Assistant के MQTT integration में discovery prefix से मेल खाना चाहिए। जब तक आप नहीं जानते कि आपने इसे बदला है, दोनों को default (homeassistant) पर छोड़ दें।
- Home Assistant Discovery को बंद करने से entities Home Assistant से हटा दिए जाते हैं।
- स्विच Agent DVR के MQTT commands का उपयोग करते हैं, इसलिए आपके MQTT network पर कुछ भी एक ही commands भेज सकता है।