سافٹ ویئر کا HALO Smart Sensor API بنیادی سافٹ ویئر

آگے
یہ دستاویز ہیلو اسمارٹ سینسر کی سہولیات کے گروپ کی وضاحت کرتی ہے جسے اجتماعی طور پر BASIC API، یا ایپلیکیشن پروگرامنگ انٹرفیس کہا جاتا ہے۔ یہ بحث پروگرامرز یا انٹیگریٹرز کے استعمال کے لیے ہے جو ایک یا زیادہ HALO Smart Sensors (HALOs) کو تھرڈ پارٹی (غیر-IPVideo) سافٹ ویئر کے اجزاء یا سسٹمز کے ساتھ مربوط کرنے میں دلچسپی رکھتے ہیں۔ عام طور پر، HALO API کا مقصد معلومات کو مؤثر طریقے سے HALO سے روایتی ایتھرنیٹ نیٹ ورک پر بیرونی پروگرام میں منتقل کرنا ہے۔ اس مقصد کو پورا کرنے کے لیے، API کو تین حصوں میں تقسیم کیا گیا ہے: ایونٹ سے چلنے والا ساکٹ کنکشن، ہارٹ بیٹ ساکٹ کنکشن، اور ایونٹ ڈیٹا URL. BACnet انٹرفیس بھی موجود ہے اور ایک علیحدہ دستاویز میں احاطہ کرتا ہے۔
API ڈیزائن
API کو انڈسٹری کے معیاری فارمیٹس جیسے TCP/IP کا استعمال کرتے ہوئے ڈیزائن کیا گیا ہے۔ HTTP، HTTPS، اور JSON۔ ڈیزائن کو بیرونی پروگرام یا ایپلیکیشن کی ترقی میں استعمال کرنے کے لیے کسی خاص یا ملکیتی تکنیک یا لائبریریوں کی ضرورت نہیں ہے۔ API لچکدار ہے اور اسے بالکل مطلوبہ ڈیٹا فراہم کرنے کے لیے ترتیب اور پروگرام کیا جا سکتا ہے اور انتہائی موثر انداز میں۔ مندرجہ بالا حصوں میں سے ہر ایک کے آپریشن کی تفصیلات اس گائیڈ کے درج ذیل حصوں میں شامل ہیں۔
بیرونی پیغام رسانی
اس سہولت کا استعمال انتباہات یا الارم اور ایونٹ کا ڈیٹا کسی بیرونی پروگرام، VMS سسٹم، سرور وغیرہ تک پہنچانے کے لیے کیا جاتا ہے جب کوئی ایونٹ شروع ہوتا ہے (سیٹ ہوتا ہے)۔ جب کوئی واقعہ صاف ہو جاتا ہے (ری سیٹ ہو جاتا ہے) تو اختیاری پیغامات کو سگنل دینے کے لیے بھی فعال کیا جا سکتا ہے۔ یہ ترسیل حقیقی وقت میں TCP/IP ساکٹ یا HTTP/S سرور پر کی جا سکتی ہے۔ حسب ضرورت مواد کے ساتھ قابل ترتیب پروٹوکولز کی ایک رینج موجود ہے۔ تصدیق اور خفیہ کاری دستیاب ہے۔
دل کی دھڑکن
دل کی دھڑکن کے پیغامات لائیو/ دستیابی کا ثبوت فراہم کرنے کے لیے قابل ترتیب وقفہ پر بھیجے جاتے ہیں۔ ان کے پاس بیرونی پیغام رسانی جیسی صلاحیتوں کی حد ہوتی ہے لیکن عام طور پر کسی خاص واقعہ کے بارے میں تفصیلات کے بجائے عام ریاستی معلومات پر مشتمل ہونے کے لیے ترتیب دی جاتی ہے۔
ایونٹ کا ڈیٹا URL
یہ سہولت صرف NDA کے تحت دستیاب ہے اور صرف اس وقت استعمال کی جانی چاہیے جب بیرونی پروگرام کو کسی بھی اور تمام ایونٹ کی اقدار، حدوں اور ریاستی جھنڈوں تک رسائی کی ضرورت ہو۔ یہ ڈیٹا عام طور پر بیرونی پروگرام کی مانگ پر حاصل کیا جاتا ہے لیکن بہت زیادہ فریکوئنسی پر نہیں۔ جب پولنگ کی معمولی شرح استعمال کی جاتی ہے تو یہ طریقہ عام طور پر کچھ تاخیر کا باعث بنتا ہے۔ عام پولنگ کی شرح ایک بار فی منٹ سے ایک بار فی 5 سیکنڈ تک ہوتی ہے جس کی مطلق زیادہ سے زیادہ شرح ایک بار فی سیکنڈ ہوتی ہے۔ جب کوئی واقعہ (انتباہ) موصول ہوتا ہے تو یہ طریقہ اضافی معاون ڈیٹا کو بازیافت کرنے کے لیے بھی استعمال کیا جا سکتا ہے۔
بیرونی پیغام رسانی کی تفصیلات
HALO کا ایک حصہ web انٹرفیس انٹیگریشن پاپ اپ ایک واحد فریق ثالث کنکشن کی تشکیل کے لیے فراہم کرتا ہے جہاں مختلف اقدار کو ریموٹ TCP ساکٹ یا HTTP/HTTPS سرور پر بھیجا جا سکتا ہے۔ پلیس ہولڈرز (ٹوکنز) کو منتقل شدہ متن میں لائیو اقدار داخل کرنے کے لیے استعمال کیا جاتا ہے۔ اگرچہ "بیرونی پیغام رسانی" کا لیبل لگا ہوا ہے، اس چینل کو تقریباً کسی بھی مقصد کے لیے استعمال کیا جا سکتا ہے جس میں حقیقی وقت کے ایونٹ ٹرگرز کی ضرورت ہوتی ہے، جو HALO کے ذریعے فعال طور پر فراہم کی جاتی ہے۔ یہ انتظام کافی لچکدار ہے کیونکہ "ایکشنز" پر انتخاب اس بات کا تعین کرتا ہے کہ کون سے HALO واقعات اس چینل کے ذریعے منتقل ہوتے ہیں۔

HTTP موڈ میں، سیٹ اور ری سیٹ سٹرنگز ہیں۔ URLs جو مطلوبہ منزل کے سرور کی ضرورت کے مطابق درج اور فارمیٹ ہونا ضروری ہے۔ تصدیق کے لیے صارف اور پاس ورڈ کا فیلڈ استعمال کیا جا سکتا ہے۔ ذیل میں HTTP وضع دیکھیں۔

TCP موڈ میں، سیٹ اور ری سیٹ سٹرنگز صرف ایک پیغام کا ڈیٹا ہے جو وصول کرنے والے TCP ساکٹ کو بھیجا جاتا ہے۔ انہیں منزل کے مطابق ضرورت کے مطابق فارمیٹ کیا جا سکتا ہے۔ منزل ایڈریس اور پورٹ فیلڈز میں بتائی گئی ہے۔ نیچے TCP موڈ دیکھیں۔

کسی بھی موڈ کے لیے، تازہ ترین پیغام سے اسٹیٹس ظاہر ہوتا ہے جو کنکشن یا دیگر مسائل کو ٹھیک کرنے میں مدد کر سکتا ہے۔ آپ ایکشنز کے پاپ اپ پر واقع ایونٹ ٹیسٹ کے بٹن کو زبردستی پیغام بھیجنے کے لیے استعمال کر سکتے ہیں:

اس قسم کے پیغامات کو فعال کرنے کے لیے سیٹ یا ری سیٹ کے لیے گلوبل آن/آف آن ہونا چاہیے۔ ری سیٹ اکثر استعمال نہیں کیا جاتا ہے کیونکہ صرف ایک ایونٹ کا آغاز دلچسپی کا حامل ہوتا ہے، لیکن یہ مختلف ہو سکتا ہے۔ ہر واقعہ آزادانہ طور پر اس بات کی وضاحت کر سکتا ہے کہ آیا وہ ایکشن پاپ اپ پر سیٹ یا ری سیٹ کا پیغام استعمال کرے گا۔ آئی بال کے بٹن مطلوبہ الفاظ کے متبادل اور فارمیٹنگ کے بعد جو کچھ بھیجا جاتا ہے اس کی کسی حد تک نمائندگی دکھائیں گے۔ ریپیٹ ہولڈ آف کو بار بار آنے والے پیغامات کو دوسرے بھیجے جانے سے پہلے تاخیر سے تھروٹل کرنے کے لیے استعمال کیا جا سکتا ہے۔ یہ فی ایونٹ آزادانہ طور پر کیا جاتا ہے۔ HALO کے پاس 15 سیکنڈ کے ایونٹس کے لیے ایک بلٹ ان ہولڈ ٹائم ہوتا ہے تاکہ ایونٹس کو تیزی سے دوبارہ شروع ہونے سے روکا جا سکے۔ اگر آپ اس بات کو یقینی بنانا چاہتے ہیں کہ ایک قسم کا 1 سے زیادہ واقعہ فی منٹ نہیں بھیجا جائے تو آپ Repeat Holdoff کو 60 (سیکنڈز) پر سیٹ کر سکتے ہیں۔
دل کی دھڑکن کی تفصیلات
دل کی دھڑکن ٹرانسمیشن اوپر کی طرح کام کرتی ہے سوائے اس کے کہ ایکشن پیج کے ساتھ کوئی تعامل نہیں ہوتا ہے۔ اس کے بجائے، ہارٹ بیٹ ٹرانسمیشن مستقل بنیادوں پر ہوتی ہے جیسا کہ انٹرول فیلڈ کے ساتھ ترتیب دیا گیا ہے، HTTP موڈ میں، سیٹ اور ری سیٹ سٹرنگز ہیں URLs جو مطلوبہ منزل کے سرور کی ضرورت کے مطابق درج اور فارمیٹ ہونا ضروری ہے۔ تصدیق کے لیے صارف اور پاس ورڈ کا فیلڈ استعمال کیا جا سکتا ہے۔ ذیل میں HTTP وضع دیکھیں۔

اگرچہ ہارٹ بیٹ کا بنیادی مقصد ریموٹ ایپلی کیشن کو HALO اسمارٹ سینسر کی زندگی کا ثبوت فراہم کرنا ہے، اس پیغام کو منتخب سینسر یا موجودہ واقعہ کی حالت کی معلومات کو منتقل کرنے کے لیے بھی استعمال کیا جا سکتا ہے۔ سابقample اوپر کے ساتھ ایک لمبی سٹرنگ پیرامیٹر بھیجتا ہے۔ URL جس میں Halo کا نام، سینسر کی زیادہ تر اقدار، اور آخر میں Triggered=%ACTIVE% جو کہ خالی ہو سکتا ہے یا فی الحال متحرک ہونے والے واقعات کی فہرست شامل ہے۔
HTTP (اور HTTPS) موڈ
بیرونی پیغام رسانی اور دل کی دھڑکن کے تار http: یا https: ہو سکتے ہیں۔ URLs ضرورت کے مطابق۔ منزل کے سرور کی ضرورت کے مطابق راستہ اور پیرامیٹرز درج کیے جا سکتے ہیں۔ مطلوبہ الفاظ جیسے %NAME% (HALO ڈیوائس کا نام) یا %EID% (ایونٹ آئی ڈی) کو ضرورت کے مطابق داخل کیا جا سکتا ہے اور پیغام بھیجے جانے پر متعلقہ ڈیٹا سے تبدیل کر دیا جائے گا۔ عام طور پر استعمال ہونے والے مطلوبہ الفاظ کی فہرست فوری حوالہ کے لیے دکھائی جاتی ہے۔
دی URL پاتھ میں کلیدی الفاظ کے ساتھ ساتھ کے پیرامیٹرز بھی شامل ہو سکتے ہیں۔ URL. پیرامیٹرز NAME=VALUE جوڑے یا JSON آبجیکٹ، یا منزل سرور کے لحاظ سے حسب ضرورت فارمیٹ ہو سکتے ہیں۔ سابقamples for External Messaging میں %EID% شامل ہوگا تاکہ اس واقعہ کی نشاندہی کی جا سکے جس نے متحرک کیا:
- https://server.com/event/%NAME%/%EID%
- https://server.com/event?location=%NAME%&event=%EID%
- https://server.com/event?{“location”:”:%NAME%”,”event”:”%EID%”}
Exampدل کی دھڑکن کے لیے les %ACTIVE% (فی الحال متحرک واقعات) یا سینسر کی قدر کا اضافہ کر سکتا ہے:
- https://server.com/alive?location=%NAME%&Triggered=%ACTIVE%
- https://server.com/event?{“location”:”:%NAME%”,”NH3”:%SENSOR:NH3%}
%SENSOR:…% اقدار evtYYYYMMDD.csv لاگ میں دائیں ہاتھ کے سینسر کالم کے عنوانات میں پائے جانے والے ناموں کا استعمال کرتی ہیں۔ files وہ عام طور پر ہیں:

اگر منزل کا سرور GET درخواستوں کے بجائے HTTP PUT یا POST کو ترجیح دیتا ہے، تو آپ URL PUT: یا POST: کے ساتھ۔ آزادانہ طور پر، آپ JSON پے لوڈ شامل کر سکتے ہیں جو بہت سے سرورز میں مقبول ہے [JSONBODY] کلیدی لفظ کے بعد JSON فارمیٹ شدہ آبجیکٹ کو شامل کر کے۔ سابقampلی:
ڈالیں:https://server.com/event[JSONBODY]{"location":"%NAME%","event":"%EID%"}
دی URL عام IP ایڈریس (اور IPv6) اور پورٹ اور صارف کے پاس ورڈ کے اختیارات کو سپورٹ کرتا ہے، یا اگر ضرورت ہو تو آپ صارف اور پاس ورڈ کی فیلڈز کو استعمال کر سکتے ہیں اگر بنیادی یا ڈائجسٹ جیسے تصدیقی طریقوں کے لیے منزل کا سرور ہو:
https://username:password@123.321.123.321:9876/event…
TCP موڈ
بیرونی پیغام رسانی اور دل کی دھڑکن کے تار صرف ڈیٹا کے لیے ہیں کیونکہ ایڈریس اور پورٹ فیلڈز منزل کا تعین کرتے ہیں۔ پتہ ناموں، IPv4 اور IPv6 کو سپورٹ کرتا ہے۔
سٹرنگ کو اوپر بیان کردہ HTTP پیغامات کے ڈیٹا حصوں کی طرح فارمیٹ کیا جا سکتا ہے، یا منزل سرور کی ضرورت کے مطابق۔
Examples for External Messaging میں %EID% شامل ہوگا تاکہ اس واقعہ کی نشاندہی کی جا سکے جس نے متحرک کیا:
مقام=%NAME%،ایونٹ=%EID%
{"مقام":":%NAME%","ایونٹ":"%EID%"}
Exampدل کی دھڑکن کے لیے les %ACTIVE% (فی الحال متحرک واقعات) یا سینسر کی قدر کا اضافہ کر سکتا ہے:
مقام=%NAME%&Triggered=%ACTIVE%
{"مقام":":%NAME%","NH3":%SENSOR:NH3%}

"انٹیگریشن سیٹ" اور "انٹیگریشن ری سیٹ" کالمز میں چیک باکس اس بات کا تعین کرتے ہیں کہ کون سے ایونٹس بھیجنا شروع کرتے ہیں۔ ایونٹس اور ایکشنز کے سیٹ اپ کے بارے میں مزید معلومات HALO ایڈمنسٹریٹر گائیڈ میں دستیاب ہے۔
JSON ایونٹ کے پیغامات کی ترسیل
کچھ ڈویلپرز سادہ ASCII ٹیکسٹ کی بجائے انڈسٹری اسٹینڈرڈ سیلف لیبل والے JSON کے بطور فارمیٹ شدہ ایونٹ ڈیٹا وصول کرنے کو ترجیح دیتے ہیں کیونکہ سابقہ زیادہ قابل اعتماد اور آسانی سے پارس ہوتا ہے۔ HALO پر web صفحہ "میسجنگ" ٹیب پر، آپ JSON پیغامات کو "بیرونی پیغام رسانی" کی ترتیبات "Set String" اور "Reset String" اور "Heart Beat" "Message" میں فراہم کر سکتے ہیں۔
Examples:
"بیرونی پیغام رسانی" کی ترتیبات سیٹ سٹرنگ:
{ "ڈیوائس":"%NAME%", "ایونٹ":"%EID%", "الارم":"ہاں" }
یہ مخصوص سرور کو ایک واحد TCP یا UDP JSON پیغام بھیجے گا جس میں دوستانہ ڈیوائس کا نام، ایونٹ کا نام اور یہ ابھی شروع ہوا ہے۔
"بیرونی پیغام رسانی" کی ترتیبات ری سیٹ سٹرنگ:
{ "ڈیوائس":"%NAME%", "ایونٹ":"%EID%", "الارم":"نہیں" }
یہ مخصوص سرور کو ایک واحد TCP یا UDP JSON پیغام بھیجے گا جو دوستانہ ڈیوائس کا نام، ایونٹ کا نام بتاتا ہے اور یہ کہ حالت اب رک گئی ہے۔
"دل کی دھڑکن" پیغام:
{ "ڈیوائس":"%NAME%", "زندہ":"%DATE% %TIME%" }
یہ وقتاً فوقتاً ایک TCP یا UDP JSON پیغام مخصوص سرور کو بھیجے گا جس میں یہ اطلاع دی جائے گی کہ HALO اشارہ کردہ وقت پر زندہ ہے۔
دستاویزات / وسائل
![]() |
سافٹ ویئر کا HALO Smart Sensor API بنیادی سافٹ ویئر [پی ڈی ایف] یوزر گائیڈ HALO Smart Sensor API بنیادی سافٹ ویئر |





