OpenHAB بیگینرز گائیڈ حصہ 2: ZWave ، MQTT ، قواعد اور چارٹنگ۔

OpenHAB بیگینرز گائیڈ حصہ 2: ZWave ، MQTT ، قواعد اور چارٹنگ۔

مفت کا ہمیشہ یہ مطلب نہیں ہوتا کہ 'ادائیگی جتنا اچھا نہیں' ، اور اوپن ہب بھی اس سے مستثنیٰ نہیں ہے۔ اوپن سورس ہوم آٹومیشن سافٹ ویئر مارکیٹ میں موجود کسی دوسرے ہوم آٹومیشن سسٹم کی صلاحیتوں سے کہیں زیادہ ہے - لیکن اسے سیٹ اپ کرنا آسان نہیں ہے۔ در حقیقت ، یہ سراسر مایوس کن ہوسکتا ہے۔





گائیڈ کے حصہ 1 میں ، میں نے آپ کو دیکھا۔ Raspberry Pi پر OpenHAB انسٹال کرنا۔ ، OpenHAB کے بنیادی تصورات کو متعارف کرایا ، اور آپ کو دکھایا کہ سسٹم میں اپنی پہلی اشیاء کیسے شامل کی جائیں۔ آج ہم مزید آگے بڑھیں گے:





  • ZWave آلات شامل کرنا۔
  • ہم آہنگی کا حتمی کنٹرولر شامل کرنا۔
  • قواعد متعارف کروانا۔
  • MQTT متعارف کرانا ، اور اپنے Pi پر MQTT بروکر انسٹال کرنا ، ایک Arduino پر سینسر کے ساتھ
  • ڈیٹا ریکارڈ کرنا اور اسے گراف کرنا۔

زیڈ ویو کا تعارف۔

زیڈ ویو برسوں سے گھریلو آٹومیشن پروٹوکول رہا ہے: یہ قابل اعتماد ہے ، بڑے پیمانے پر تیار کیا گیا ہے ، اور کسی دوسرے سمارٹ ہوم پروڈکٹس کے مقابلے میں بہت لمبی رینج پر کام کرتا ہے۔ آپ کے لیے سینکڑوں Z-Wave سینسر دستیاب ہیں جو کاموں کی ایک وسیع رینج انجام دیتے ہیں۔ OpenHAB کر سکتے ہیں Z-Wave کے ساتھ کام کریں ، لیکن سیٹ اپ کرنے میں پریشانی ہے ، اور وشوسنییتا کی ضمانت نہیں ہے۔





اگر آپ زیڈ ویو سینسرز سے بھرے گھر کی خریداری پر غور کر رہے ہیں خاص طور پر اوپن ہیب کے استعمال کے لیے تو میں آپ سے گزارش کروں گا کہ دوبارہ غور کریں۔ یہ آپ کے لئے بہت اچھا کام کرسکتا ہے ، یا یہ چھوٹی لیکن مستقل پریشانیوں سے دوچار ہوسکتا ہے۔ کم از کم ، سینسر سے بھرا گھر نہ خریدیں جب تک کہ آپ کو کچھ آزمانے کا موقع نہ ملے۔ Z-Wave کو منتخب کرنے کی واحد وجہ یہ ہے کہ اگر آپ OpenHAB پر 100 settled آباد نہیں ہیں ، اور مستقبل میں اپنے اختیارات کو کھلا چھوڑنا چاہتے ہیں: مثال کے طور پر Z-Wave سیمسنگ اسمارٹ تھنگز ہب کے ساتھ ساتھ Z-Wave مخصوص حبس کے ساتھ کام کرتا ہے۔ جیسے ہوم سیر ، اور دیگر سافٹ ویئر آپشنز کی ایک رینج جیسے۔ domoticz .

اگرچہ OpenHAB میں Z-Wave بائنڈنگ شامل ہے ، پھر بھی آپ کو ضرورت ہے۔ Z-Wave نیٹ ورک کو پہلے ترتیب دیں۔ ، اس سے پہلے کہ OpenHAB ڈیٹا کے لیے اس سے استفسار شروع کر دے۔ اگر آپ کو راسبیری کنٹرولر بورڈ مل گیا ہے ، آپ کے پاس نیٹ ورک کو ترتیب دینے کے لیے کچھ سافٹ وئیر فراہم کیے گئے ہیں ، لہذا ہم یہاں اس کا احاطہ نہیں کریں گے۔ اگر آپ نے Aeotec USB Z-Stick کنٹرولر یا اس سے ملتا جلتا خریدا ہے ، تو ممکن ہے کہ آپ کے پاس کوئی سافٹ ویئر شامل نہ ہو ، لہذا پڑھیں۔



گیٹ وے بنانے کے لیے Aeotec Z-Stick Gen5 Z-Wave Hub Z-Wave Plus USB ابھی ایمیزون پر خریدیں۔

اگر آپ کے پاس پہلے سے ہی Z-Wave نیٹ ورک سیٹ اپ ہے۔ ، آپ صرف اپنے کنٹرولر کو Pi میں لگا سکتے ہیں اور بائنڈنگ اور آئٹمز کو ترتیب دینا شروع کر سکتے ہیں۔ اگر یہ Z-Wave میں آپ کا پہلا حملہ ہے تو ، یہ تھوڑا زیادہ پیچیدہ ہے۔

سب سے پہلے ، ہارڈ ویئر کی طرف: ہر کنٹرولر کا آلات کے ساتھ جوڑا بنانے کا اپنا طریقہ ہے (تکنیکی طور پر 'انکلوژن موڈ' کے نام سے جانا جاتا ہے جس میں نوڈ آئی ڈی تفویض کیا جاتا ہے)۔ Aotec Z-Stick کے معاملے میں ، اس کا مطلب ہے کہ اسے USB پورٹ سے پلگ ان کرنا ، اور ایک بار بٹن دبانے سے اسے انکلوژن موڈ میں رکھنا۔ پھر اسے اس ڈیوائس کے قریب لے جائیں جس کی آپ جوڑی بنا رہے ہیں ، اور اس پر بھی شامل کرنے کا بٹن دبائیں۔ (یہ بھی مختلف ہوگا: میرے ایور اسپرنگ ساکٹ کے لیے بٹن کی ضرورت ہوتی ہے کہ وہ یکے بعد دیگرے 3 بار دبائے ، لہذا یہاں سبق آپ کے آلے کے لیے دستی کو پڑھنا ہے) .





کامیابی کی نشاندہی کرنے کے لیے Z-Stick مختصر طور پر چمکتی ہے۔ جب اسے ایک نیا پورٹ تفویض کیا جاتا ہے تو اسے دوبارہ پی آئی میں پلگ کرنے پر یہ مسائل پیش کرتا ہے۔ اپنے پائی کو دوبارہ شروع کریں تاکہ اسے معیاری بندرگاہ پر دوبارہ ترتیب دیا جاسکے اگر آپ کو معلوم ہوتا ہے کہ اسے متحرک طور پر دوبارہ تفویض کیا گیا ہے۔ بہتر اب بھی: اسے پی آئی میں پلگ نہ کریں جب تک کہ آپ پہلے ہارڈ ویئر کے جوڑے نہ بنا لیں۔

HABmin اور Z-Wave Bindings انسٹال کرنا۔

چونکہ اوپن ایچ اے بی اصل میں زیڈ ویو کے لیے کنفیگریشن یوٹیلیٹی نہیں ہے ، اس لیے ہم ایک اور ویب مینجمنٹ ٹول انسٹال کرنے جا رہے ہیں جو کہ کرتا ہے۔ کی طرف بڑھیں۔ HABmin Github مخزن۔ موجودہ ریلیز ڈاؤن لوڈ کریں۔ ایک بار جب آپ اسے زپ کر لیں گے ، آپ کو 2 مل جائیں گے۔ .جار ایڈونس ڈائرکٹری میں فائلیں - یہ آپ کے اوپن ہاب ہوم شیئر میں متعلقہ ایڈونس ڈائرکٹری میں رکھی جائیں۔ (اگر آپ Aotec gen5 Z-Stick بھی استعمال کر رہے ہیں تو یقینی بنائیں کہ آپ کو Z-Wave بائنڈنگ کا کم از کم 1.8 ورژن مل گیا ہے) .





اگلا ، webapps ڈائرکٹری میں ایک نیا فولڈر بنائیں ، اور اسے 'habmin' کہا (چھوٹا کیس اہم ہے)۔ باقی ڈاؤن لوڈ کردہ فائلیں وہاں کاپی کریں۔

نوٹ: ایک بھی ہے۔ HABmin 2۔ فعال ترقی کے تحت تنصیب ایک جیسی ہے لیکن ایک اضافی .jar addon کے ساتھ۔ یہ دونوں کو آزمانے کے قابل ہو سکتا ہے صرف یہ دیکھنے کے لیے کہ آپ کس کو ترجیح دیتے ہیں۔

اگر آپ نے پہلے ہی نہیں کیا ہے تو ، اپنے کنٹرولر کو اپنے Pi میں لگائیں۔ صحیح پورٹ تلاش کرنے کے لیے درج ذیل ٹائپ کریں۔

ls /dev /tty*

آپ نام کے ساتھ USB کے ساتھ کچھ بھی ڈھونڈ رہے ہیں ، یا میرے خاص معاملے میں ، Z-stick نے بطور پیش کیا۔ / dev / ttyACM0۔ (ایک موڈیم) کمانڈ پلگ کرنے سے پہلے ایک بار اور بعد میں ایک بار کرنا آسان ہوسکتا ہے ، لہذا آپ دیکھ سکتے ہیں کہ اگر آپ کو یقین نہیں ہے تو کیا تبدیلیاں آتی ہیں۔

اوپن ایچ اے بی کنفگ فائل کھولیں اور زیڈ ویو پر سیکشن میں ترمیم کریں ، دونوں لائنوں کو کم کر دیں اور اپنے اصل آلے کا پتہ ڈالیں۔ میرے لیے ایک آخری مرحلہ اوپن ہیب صارف کو موڈیم تک رسائی کی اجازت دینا تھا۔

sudo usermod -a -G ڈائل آؤٹ اوہاب۔

اب ، ہر چیز کو عمل میں لانے کے لیے ، OpenHAB کو دوبارہ شروع کریں۔

سوڈو سروس اوپن ہب دوبارہ شروع کریں۔

امید ہے کہ ، اگر آپ ڈیبگ لاگ چیک کر رہے ہیں تو آپ کو کچھ ایسا ہی نظر آئے گا۔ مبارک ہو ، آپ اب Z-Wave کی بات کر رہے ہیں۔ آپ کو ڈیبگ لاگ مختلف Z-Wave نوڈس کے پیغامات سے بھر گیا ہے۔ آئیے HABMIN کو چیک کرکے شروع کریں کہ یہ کیا پایا جاتا ہے: http: //openhab.local: 8080/habmin/index.html (openhab.local کو اپنے Raspberry Pi میزبان نام یا IP ایڈریس سے تبدیل کریں)۔

HABMIN میں دیکھنے کے لئے بہت کچھ ہے ، لیکن ہم صرف اس کے ساتھ واقعی فکر مند ہیں۔ کنفیگریشن -> بائنڈنگز -> زیڈ ویو -> ڈیوائسز۔ ٹیب ، جیسا کہ آپ نیچے دیکھ سکتے ہیں۔ اپنے حوالہ میں آسانی کے لیے مقام اور نام لیبل میں ترمیم کرنے کے لیے نوڈ کو وسعت دیں۔

Z-Wave اشیاء کی تشکیل

ہر Z-Wave ڈیوائس میں OpenHAB کے لیے ایک مخصوص کنفیگریشن ہوگی۔ شکر ہے ، زیادہ تر آلات پہلے ہی دریافت ہوچکے ہیں اور وہاں آپ کے لیے مثالیں موجود ہوں گی۔ اپنی مرضی کے مطابق ڈیوائسز کو کنفیگر کرنا جنہیں پہچانا نہیں گیا ہے اس گائیڈ کے دائرہ کار سے باہر ہے ، لیکن آئیے فرض کریں کہ یہ ابھی کے لیے معاون ہے۔

سب سے پہلے ، مجھے نوڈ 3 پر ایک بنیادی Everspring AN158 پاور سوئچ اور میٹر مل گیا ہے۔ میں نے اسے اس طرح ڈھال لیا:

سوئچ Dehumidifier_Switch 'Dehumidifier' {zwave = '3: command = switch_binary'}

نمبر Dehumidifier_Watts 'Dehumidifier بجلی کی کھپت [٪ .1f W]' {zwave = '3: command = meter'}

کامل

اگلا ایک Aeotec Gen5 ملٹی سینسر ہے۔

ایون لیبز Aeotec Z-Wave Gen5 Multi-Sensor (Z-Wave Plus) ابھی ایمیزون پر خریدیں۔

اس کے لئے ، مجھے ایک نمونہ تشکیل ملا۔ iwasdot.com ، اور میرا ملٹی سینسر نوڈ 2 پر ہے۔

نمبر Hallway_Temperature 'دالان درجہ حرارت [٪ .1f ° C]' (دالان ، درجہ حرارت) {zwave = '2: 0: command = sensor_multilevel، sensor_type = 1، sensor_scale = 0'}

نمبر Hallway_Humidity 'دالان نمی [٪ .0f ٪٪]' (دالان ، نمی) {zwave = '2: 0: command = sensor_multilevel، sensor_type = 5'}

نمبر Hallway_Luminance 'Hallway Luminance [٪ .0f Lux]' (Hallway) {zwave = '2: 0: command = sensor_multilevel، sensor_type = 3'}

ہال وے موشن سے رابطہ کریں 'ہال وے موشن [٪ s]' (ہال وے ، موشن) {zwave = '2: 0: command = sensor_binary، response_to_basic = true'}

نمبر سینسر_1_ بیٹری 'بیٹری [٪ s ٪٪]' (موشن) {zwave = '2: 0: command = battery'}

اگر اس کی شکل آپ کو عجیب لگتی ہے تو ، براہ کرم پہلے کی طرف جائیں۔ ابتدائی رہنما۔ ، خاص طور پر ہیو بائنڈنگ سیکشن ، جہاں میں وضاحت کرتا ہوں کہ اشیاء کیسے شامل کی جاتی ہیں۔ آپ کو شاید کبھی بھی اس طرح کی پیسٹ مثالوں کو کاپی کرنے کی ضرورت ہوگی ، لیکن اگر آپ کے پاس کوئی نیا آلہ ہے تو ، پابند دستاویزات تمام تفصیلات احکامات .

لاجٹیک ہم آہنگی بائنڈنگ۔

اس سے پہلے کہ ہم قوانین میں کود جائیں ، میں ہم آہنگی بائنڈنگ کے ساتھ کام کرنے کے بارے میں ایک فوری نوٹ شامل کرنا چاہتا تھا۔ میں ہوم میڈیا سنٹر کے تجربے کو آسان بنانے کے لیے حتمی ریموٹس کی ہم آہنگی سیریز کا بہت بڑا پرستار ہوں ، لیکن وہ اکثر سمارٹ ہوم کے اندر ایک الگ نظام کے طور پر کھڑے ہوتے ہیں۔ اوپن ایچ اے بی کے ساتھ ، لاجٹیک ہم آہنگی کی سرگرمیاں اور ڈیوائس کا مکمل کنٹرول اب آپ کے مرکزی نظام کا حصہ بن سکتا ہے ، اور یہاں تک کہ آٹومیشن قوانین میں بھی شامل ہے۔

تین بائنڈنگ فائلوں کو انسٹال کرکے شروع کریں جو آپ کو 'ہم آہنگی' کی تلاش کے لیے آپٹ کیشے کا استعمال کرتے ہوئے ملتی ہیں۔

کرنا نہ بھولیں۔ چیونٹ جب آپ کام کر لیں تو دوبارہ بائنڈنگ ڈائریکٹری:

sudo apt-get openhab-addon-action-harmonyhub انسٹال کریں۔

sudo apt-get openhab-addon-binding-harmonyhub انسٹال کریں۔

sudo apt-get openhab-addon-io-harmonyhub انسٹال کریں۔

sudo chown -hR openhab: openhab/usr/share/openhab

بائنڈنگ کو ترتیب دینے کے لیے ، openhab.cfg فائل کھولیں اور ایک نیا سیکشن درج ذیل کے طور پر شامل کریں:

########### ہارمونی ریموٹ کنٹرولز ##########

ہم آہنگی کا مرکز: میزبان = 192.168.1.181۔ یا آپ کا آئی پی

ہم آہنگی: صارف نام = your-harmony-email-login

ہم آہنگی: پاس ورڈ = آپ کا پاس ورڈ

آئی پی ایڈریس آپ کے ہم آہنگی کا مرکز ہے۔ یہ جاننے کے لیے نیٹ ورک سکینر استعمال کریں۔ آپ کو اپنی لاگ ان کی تفصیلات بھی داخل کرنے کی ضرورت ہوگی ، جب آپ معیاری ہم آہنگی کی ترتیب کی افادیت شروع کرتے ہیں۔ یہی ہے. اپنے ہیو کو دوبارہ شروع کرنے پر ، آپ کے ڈیبگ لاگ میں بائنڈنگ سے اچانک آؤٹ پٹ پھٹ جانا چاہئے۔

یہ آپ کی تمام سرگرمیوں ، آلات اور احکامات کی ایک JSON فارمیٹ شدہ فہرست ہے جو بھیجی جا سکتی ہے۔ مستقبل کے حوالے کے لیے اسے کاپی کرنا ایک اچھا خیال ہے۔ آپ آن لائن JSON فارمیٹر میں چسپاں کر کے ٹوٹنے والے نوڈس کے ساتھ پڑھنا اور بھی آسان بنا سکتے ہیں۔ جیسے یہ ایک .

اس کے ساتھ ساتھ معیاری PowerOff سرگرمی جو کہ ایک ڈیفالٹ ہے ، آپ کو اپنی اپنی متعین سرگرمیاں یہاں نام سے درج ہوں گی۔ اب سرگرمیاں شروع کرنے کے لیے ایک سادہ ون بٹن کنٹرول بنائیں۔ سب سے پہلے ، اپنی آئٹمز فائل میں ، درج ذیل لائن شامل کریں۔ اگر آپ چاہیں تو گروپ اور آئیکن کو تبدیل کریں۔

/ * ہم آہنگی کا مرکز */

سٹرنگ Harmony_Activity 'Harmony [٪ s]' (Living_Room) {harmonyhub = '*[currentActivity]'}

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

آئٹم سوئچ کریں = ہم آہنگی_ ایکٹیویٹی میپنگز

پرانے ٹیکسٹ پیغامات کیسے دیکھیں

مربع بریکٹ میں آپ لیبل کے ساتھ ہر سرگرمی دیکھیں گے۔ عام طور پر آپ سرگرمیوں کا براہ راست حوالہ دے سکتے ہیں جیسا کہ آپ نے ان کا نام اپنے ریموٹ پر رکھا ہے ، لیکن مجھے اس سے مستثنیٰ ، سرگرمی کے نام میں جگہ کے ساتھ کچھ بھی تھا ، جیسے 'واچ ٹی وی'۔ اس صورت میں ، آپ کو سرگرمی ID استعمال کرنے کی ضرورت ہوگی۔ ایک بار پھر ، آپ کو JSON ڈیبگ آؤٹ پٹ میں ID مل سکتی ہے۔ اپنے انٹرفیس کو محفوظ اور ریفریش کریں ، آپ کو اس سے ملتا جلتا کچھ دیکھنا چاہیے:

آپ اپنے قواعد میں سرگرمیوں کا حوالہ بھی دے سکتے ہیں ، جیسا کہ ہم آگے دیکھیں گے۔ پر مزید معلومات کے لیے ویکی پیج پڑھیں۔ ہم آہنگی کا پابند۔ .

قواعد کا عمومی تعارف

زیادہ تر ہوشیار گھروں میں کچھ قسم کے قواعد تخلیق شامل ہیں تاکہ آپ گھر میں سینسر ڈیٹا اور واقعات پر خود بخود رد عمل ظاہر کرسکیں۔ در حقیقت ، میں یہ بحث کروں گا کہ واقعی سمارٹ گھر وہ نہیں ہے جو آپ کو موبائل ایپس کے ساتھ بات چیت کرنے میں وقت گزارنے کی ضرورت ہو - یہ وہ ہے جو آخری صارف کے لیے پوشیدہ ہے اور مکمل طور پر خودکار ہے۔ اس مقصد کے لیے ، OpenHAB میں ایک طاقتور قواعد سکرپٹ لینگویج بھی شامل ہے جسے آپ پروگرام کر سکتے ہیں ، زیادہ تر سمارٹ ہوم حبس یا IFTTT ترکیبوں کی پیچیدگی سے کہیں زیادہ۔

پروگرامنگ کے قوانین اس سے بدتر لگتے ہیں۔ آئیے ایک سادہ قواعد کے ساتھ شروع کریں جو موجودگی کے سینسر پر منحصر روشنی کو آن یا آف کرتے ہیں۔

قاعدہ 'جیمز کے حاضر ہونے پر آفس لائٹ'

کب

آئٹم JamesInOffice آف سے ON میں تبدیل ہو گیا۔

پھر

کمانڈ بھیجیں (آفس ​​ہیو ، آن)

ختم

قاعدہ 'جیمز کے جانے پر آفس لائٹ آف'

کب

آئٹم JamesInOffice کو آن سے آف میں تبدیل کر دیا گیا۔

پھر

کمانڈ بھیجیں (آفس ​​ہیو ، آف)

ختم

سب سے پہلے ، ہم قاعدے کو نام دیتے ہیں - وضاحتی بنیں ، تاکہ آپ کو معلوم ہو کہ کون سا واقعہ فائرنگ کر رہا ہے۔ اگلا ، ہم اپنے سادہ اصول کی وضاحت کرتے ہوئے کہتے ہیں۔ جب x سچ ہے ، تو y کرو . اختتام اس خاص اصول کی بندش کی نشاندہی کرتا ہے۔ یہاں بہت سارے خاص الفاظ ہیں جو آپ قواعد میں استعمال کرسکتے ہیں ، لیکن اب ہم نحو کے دو سادہ ٹکڑوں کے ساتھ کام کر رہے ہیں۔ آئٹم ، جو آپ کو کسی چیز کی حالت پوچھنے کی اجازت دیتا ہے اور کمانڈ بھیجیں۔ ، جو بالکل وہی کرتا ہے جو آپ کے خیال میں ہوگا۔ میں نے آپ کو بتایا کہ یہ آسان تھا۔

قواعد کا ایک جوڑا استعمال کرنا شاید غیر ضروری ہے ، لیکن چونکہ میری منطق زیادہ پیچیدہ ہوتی جارہی ہے اس لیے ان کو الگ رکھنا فائدہ مند ہوگا چاہے میں اس علاقے میں داخل ہوں یا باہر جا رہا ہوں - اور کہیں بھی لائٹ سینسر شامل کرنا اچھا خیال ہوگا مساوات میں تاکہ ہم غیر ضروری طور پر لائٹس آن نہ کریں۔

ایک مقررہ قاعدہ بنانے کے لیے آئیے ایک اور مثال دیکھیں۔

اصول 'ہر صبح ورزش کریں'

کب

ٹائم کرون '0 0 8 1/1 *؟ *'

پھر

ہم آہنگی کی سرگرمی (ورزش)

ختم

ایک بار پھر ، ہم قاعدے کو نام دیتے ہیں ، ریاستی حالات جب اسے فائر کرنا چاہیے ، اور اقدامات۔ لیکن اس معاملے میں ، ہم ٹائم پیٹرن کی وضاحت کر رہے ہیں۔ مضحکہ خیز کوڈ جو آپ کوٹس میں دیکھتے ہیں وہ کوارٹج شیڈولر کے لیے ایک CRON اظہار ہے (شکل باقاعدہ CRONtab سے قدرے مختلف ہے)۔ میں نے استعمال کیا cronmaker.com تاثرات بنانے میں مدد کے لیے ، لیکن آپ تفصیلی وضاحت اور مزید مثالوں کے لیے فارمیٹ گائیڈ [مزید دستیاب نہیں] بھی پڑھ سکتے ہیں۔

کرون میکر ڈاٹ کام درست طریقے سے فارمیٹ شدہ کرون ایکسپریشن تیار کرنے کے لیے استعمال ہوتا ہے۔

میرے قواعد صرف یہ کہتے ہیں کہ 'ہر صبح صبح 8 بجے ، ہفتے کے ہر دن ، میرے ہارمنی الٹیمیٹ سسٹم کو ورزش کی سرگرمی شروع کرنے کے لیے کہو' ، جس کے نتیجے میں ٹی وی ، ایکس بکس ، یمپلیفائر کو چالو کیا جاتا ہے اور لانچ کرنے کے لیے ایک منٹ کے بعد اے بٹن دباتا ہے۔ ڈرائیو میں ڈسک.

افسوس کی بات ہے کہ اوپن ہاب ابھی تک میرے لیے ورزش کرنے کے قابل نہیں ہے۔

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

org.openhab.core.library.types.* درآمد کریں

org.openhab.model.script.actions درآمد کریں۔*

java.lang.String درآمد کریں۔

اصول 'نمی مانیٹر'

جب ٹائم کرون '0 * * * *؟'

پھر

var prevHigh = 0۔

var highHum = ''

نمی؟

logDebug ('humid.rules'، hum.name)

اگر (hum.state بطور DecimalType> prevHigh) {

prevHigh = hum.state

highHum = hum.name + ':' + hum.state + '٪'

}

99 فیصد ڈسک استعمال ونڈوز 10۔

]

logDebug ('humid.rules'، highHum)

پوسٹ اپ ڈیٹ (Dehumidifier_Needed ، highHum)

ختم

حکمرانی کی اصل میں ہے۔ نمی؟ لائن نمی میرے نمی سینسرز کے لیے ایک گروپ کا نام ہے۔ .ممبر اس گروپ کی تمام اشیاء کو پکڑ لیتا ہے ہر ایک کے لئے ان پر تکرار ہوتی ہے (ایک متجسس مربع بریکٹ فارمیٹ کے ساتھ جس سے آپ شاید واقف نہیں ہیں)۔ قواعد کا نحو Xtend سے ماخوذ ہے ، لہذا آپ پڑھ سکتے ہیں ایکسٹینڈ دستاویزات۔ اگر آپ کو ڈھالنے کی کوئی مثال نہیں ملتی۔

آپ کو شاید اس کی ضرورت نہیں ہوگی - یہاں سیکڑوں مثال کے اصول ہیں:

اوپن ہاب اور انٹرنیٹ آف چیزوں کے لیے ایم کیو ٹی ٹی۔

MQTT مشین سے مشین کے لیے ہلکا پھلکا پیغام رسانی کا نظام ہے-آپ کے Arduinos یا Raspberry Pis کے لیے ایک قسم کا ٹویٹر ایک دوسرے سے بات کرنے کے لیے (اگرچہ یقینا it یہ صرف ان سے کہیں زیادہ کام کرتا ہے)۔ یہ تیزی سے مقبولیت حاصل کر رہا ہے اور اپنے آپ کو انٹرنیٹ آف تھنگز ڈیوائسز کے ساتھ تلاش کر رہا ہے ، جو عام طور پر کم وسائل والے مائیکرو کنٹرولر ہوتے ہیں جنہیں سینسر ڈیٹا کو واپس اپنے مرکز میں منتقل کرنے یا ریموٹ کمانڈز وصول کرنے کے قابل اعتماد طریقے کی ضرورت ہوتی ہے۔ یہ بالکل وہی ہے جو ہم اس کے ساتھ کریں گے۔

لیکن پہیے کو دوبارہ کیوں بنایا جائے؟

ایم کیو ٹیلی میٹری ٹرانسپورٹ کی ایجاد 1999 میں تیل کی پائپ لائنوں کو سستے سیٹلائٹ کنکشن کے ذریعے جوڑنے کے لیے کی گئی تھی ، خاص طور پر بیٹری کے استعمال اور بینڈوڈتھ کو کم کرنے کے لیے ڈیزائن کیا گیا تھا ، جبکہ اب بھی قابل اعتماد ڈیٹا کی فراہمی کی جاتی ہے۔ برسوں کے دوران ڈیزائن کے اصول ایک جیسے رہے ہیں ، لیکن استعمال کا معاملہ خصوصی ایمبیڈڈ سسٹم سے عام انٹرنیٹ آف تھنگز ڈیوائسز میں منتقل ہو گیا ہے۔ 2010 میں پروٹوکول کو رائلٹی فری جاری کیا گیا ، کسی کے استعمال اور نفاذ کے لیے کھلا۔ ہمیں مفت پسند ہے۔

آپ سوچ رہے ہوں گے کہ ہم ایک اور پروٹوکول سے پریشان کیوں ہو رہے ہیں - ہمارے پاس پہلے ہی HTTP ہے - جو کہ ہر طرح کے ویب جڑے ہوئے نظام (جیسے OpenHAB اور IFTTT کے درمیان فوری پیغامات بھیجنے کے لیے استعمال کیا جا سکتا ہے ، خاص طور پر نئے میکر چینل کے ساتھ ). اور آپ صحیح ہوں گے۔ تاہم ، ایچ ٹی ٹی پی سرور کا پروسیسنگ اوور ہیڈ کافی بڑا ہے - اتنا کہ آپ آسانی سے کسی ایمبیڈڈ مائیکروکنٹرولر جیسے آرڈوینو پر نہیں چلا سکتے ). MQTT دوسری طرف ہلکا پھلکا ہے ، لہذا آپ کے نیٹ ورک کے ارد گرد پیغامات بھیجنے سے پائپ بند نہیں ہوں گے ، اور یہ آسانی سے ہماری چھوٹی Arduino میموری اسپیس میں فٹ ہو سکتا ہے۔

MQTT کیسے کام کرتا ہے؟

MQTT دونوں سرور (جسے 'بروکر' کہا جاتا ہے) اور ایک یا زیادہ کلائنٹس کی ضرورت ہوتی ہے۔ سرور ایک مڈل مین کے طور پر کام کرتا ہے ، پیغامات وصول کرتا ہے اور کسی بھی دلچسپی رکھنے والے گاہکوں کو ان کی دوبارہ نشریات کرتا ہے۔

آئیے کے ساتھ جاری رکھیں ٹویٹر کے لیے مشینیں۔ مشابہت اگرچہ جس طرح ٹوئٹر صارفین اپنے بے معنی 140 حروف کو ٹویٹ کر سکتے ہیں ، اور صارفین دوسرے صارفین کو پوسٹوں کا ایک ترتیب شدہ سلسلہ دیکھنے کے لیے 'فالو' کر سکتے ہیں ، اسی طرح ایم کیو ٹی ٹی کلائنٹس وہاں سے تمام پیغامات وصول کرنے کے لیے ایک خاص چینل کو سبسکرائب کر سکتے ہیں اس چینل کو. اس شائع اور سبسکرائب پیٹرن کے طور پر کہا جاتا ہے پب / ذیلی ، روایت کے برخلاف۔ کلائنٹ/سرور HTTP کا ماڈل

ایچ ٹی ٹی پی کا تقاضا ہے کہ آپ اس مشین تک پہنچیں جس کے ساتھ آپ بات کر رہے ہیں ، ہیلو کہو ، پھر جب آپ ڈیٹا حاصل کرتے ہو یا ڈالتے ہو تو ایک دوسرے کو مسلسل تسلیم کرنے میں آگے پیچھے ہو۔ پب/سب کے ساتھ ، پبلشنگ کرنے والے کلائنٹ کو یہ جاننے کی ضرورت نہیں ہوتی ہے کہ کون سے کلائنٹ سبسکرائب کیے گئے ہیں: یہ صرف پیغامات کو پمپ کرتا ہے ، اور بروکر انہیں کسی بھی سبسکرائب کردہ کلائنٹس میں دوبارہ تقسیم کرتا ہے۔ کوئی بھی کلائنٹ ایک ٹویٹر صارف کی طرح موضوعات کو شائع اور سبسکرائب کر سکتا ہے۔

ٹویٹر کے برعکس ، MQTT 140 حروف تک محدود نہیں ہے۔ یہ ڈیٹا اگنوسٹک ہے ، لہذا آپ چھوٹی تعداد یا بڑے ٹیکسٹ بلاکس ، JSON فارمیٹڈ ڈیٹاگرام ، یا یہاں تک کہ تصاویر اور بائنری فائلیں بھیج سکتے ہیں۔

ایسا نہیں ہے کہ MQTT ہر چیز کے لیے HTTP سے بہتر ہے - لیکن یہ۔ ہے زیادہ موزوں اگر ہم گھر کے چاروں طرف بہت سارے سینسر لگاتے رہیں ، مسلسل رپورٹ کرتے رہیں۔

یہ جاننا بھی ضروری ہے کہ OpenHAB آپ کے MQTT بروکر کے طور پر کام نہیں کرے گا - ہم اس پر تھوڑی دیر بعد بات کریں گے۔ تاہم ، OpenHAB ایک کلائنٹ کے طور پر کام کرے گا: یہ آپ کے OpenHAB سرگرمی لاگ کو شائع کر سکتا ہے ، نیز مخصوص چینلز کو آلات کے ساتھ باندھ سکتا ہے ، لہذا آپ مثال کے طور پر ایک خاص چینل پر MQTT پیغامات کے ذریعے کنٹرول کیا جا سکتا ہے۔ یہ سینسر سے بھرا گھر بنانے کے لیے مثالی ہے۔

اپنی پائی پر مچھر کو انسٹال کریں۔

اگرچہ اوپن ایچ اے بی میں ایک ایم کیو ٹی ٹی کلائنٹ شامل ہے لہذا آپ کسی موضوع کو سبسکرائب کر سکتے ہیں اور پیغامات بھی شائع کر سکتے ہیں ، یہ سرور کے طور پر کام نہیں کرے گا۔ اس کے لیے ، آپ کو یا تو ویب پر مبنی MQTT بروکر (بامعاوضہ یا مفت) استعمال کرنے کی ضرورت ہے ، یا اپنے Pi پر مفت سافٹ ویئر انسٹال کرنے کی ضرورت ہے۔ میں یہ سب گھر میں رکھنا چاہتا ہوں ، لہذا میں نے پائی پر مچھر کو انسٹال کیا ہے۔

بدقسمتی سے ، معمول کے مطابق دستیاب ورژن مکمل طور پر پرانا ہے۔ اس کے بجائے ، آئیے تازہ ترین ذرائع شامل کریں۔

ویجیٹ http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key

sudo apt-key شامل کریں Mosquitto-repo.gpg.key

cd /etc/apt/sources.list.d/

سوڈو ویجیٹ http://repo.mosquitto.org/debian/mosquitto-wheezy.list

sudo apt-get install مچھر۔

مقامی نیٹ ورک پر ایم کیو ٹی ٹی سرور اپ اور چلانے کے لیے ہمیں بس اتنا کرنے کی ضرورت ہے۔ آپ کا بروکر پورٹ 1883 پر بطور ڈیفالٹ چل رہا ہے۔

چیک کریں کہ آپ کا MQTT سرور مفت MQTT.fx کا استعمال کرتے ہوئے کام کر رہا ہے ، جو کہ کراس پلیٹ فارم ہے۔ نیا پروفائل بنانے کے لیے سیٹنگز آئیکن پر کلک کریں ، اور اپنا راسبیری پائی کا آئی پی ایڈریس یا نام درج کریں۔ محفوظ کریں ، اور کنیکٹ کو دبائیں۔ اگر اوپر دائیں طرف چھوٹی ٹریفک لائٹ سبز ہوجاتی ہے تو ، آپ جانا اچھا ہے۔

فوری ٹیسٹ کے لیے ، 'سبسکرائب' ٹیب پر کلک کریں ، اور ٹائپ کریں۔ ٹاپک / ٹیکسٹ باکس میں ، پھر دبائیں سبسکرائب بٹن اب آپ نے ٹاپک نامی موضوع پر پیغام وصول کرنے کے لیے سبسکرائب کیا ہے ، حالانکہ اس میں 0 پیغامات دکھائے جائیں گے۔ پبلشنگ ٹیب پر واپس جائیں ، چھوٹے باکس میں ٹاپک ٹائپ کریں ، اور نیچے کے بڑے ٹیکسٹ باکس میں ایک مختصر پیغام۔ مارا۔ شائع کریں۔ چند بار اور سبسکرائب ٹیب پر واپس دیکھیں۔ آپ کو اس موضوع میں چند پیغامات نظر آنے چاہئیں۔

اس سے پہلے کہ ہم اپنے نیٹ ورک میں کچھ حقیقی سینسر شامل کریں ، ہمیں موضوع کی سطحوں کے بارے میں جاننے کی ضرورت ہے ، جو ہمیں MQTT نیٹ ورک کی ساخت اور فلٹر کرنے کے قابل بناتے ہیں۔ موضوع کے نام کیس حساس ہیں ، $ سے شروع نہیں ہونا چاہیے ، یا کوئی جگہ ، یا غیر ASCII حروف شامل نہیں ہونا چاہیے-متغیر ناموں کے لیے معیاری پروگرامنگ کے طریقے ، واقعی۔

/ جداکار ایک موضوع کی سطح کی طرف اشارہ کرتا ہے ، جو درجہ بندی ہے ، مثال کے طور پر درج ذیل تمام درست موضوع کی سطح ہیں۔

inTopic / smallSubdivision / evenSmallerSubdivision

myHome/livingRoom/درجہ حرارت۔

myHome/livingRoom/نمی۔

myHome/کچن/درجہ حرارت۔

myHome/کچن/نمی

پہلے ہی ، آپ کو دیکھنا چاہیے کہ یہ درخت کا ڈھانچہ سینسرز اور آلات سے بھرے ہوشیار گھر کے لیے کس طرح موزوں ہے۔ ایک ہی کمرے میں ایک سے زیادہ سینسر کے ساتھ استعمال کرنے کا بہترین طریقہ یہ ہے کہ ہر سینسر متغیر کو اس کے اپنے موضوع کی سطح کے طور پر شائع کیا جائے - ایک ہی چینل پر متعدد اقسام کے سینسر شائع کرنے کی بجائے زیادہ مخصوصیت (جیسا کہ اوپر دی گئی مثالوں میں) کو شائع کیا جائے۔ .

اس کے بعد کلائنٹ انفرادی موضوع کی کسی بھی تعداد کو شائع یا سبسکرائب کر سکتے ہیں ، یا درخت کے اوپر سے فلٹر کرنے کے لیے کچھ خاص وائلڈ کارڈ حروف استعمال کر سکتے ہیں۔

کسی بھی ایک موضوع کی سطح کے لیے + وائلڈ کارڈ متبادل۔ مثال کے طور پر:

myHome/+/درجہ حرارت۔

کلائنٹ دونوں کو سبسکرائب کریں گے۔

myHome/livingRoom/درجہ حرارت۔

myHome/کچن/درجہ حرارت۔

... لیکن نمی کی سطح نہیں۔

# ایک ملٹی لیول وائلڈ کارڈ ہے ، لہذا آپ لونگ روم سینسر سرنی سے کچھ بھی لے سکتے ہیں:

myHome/livingRoom/#

تکنیکی طور پر ، آپ جڑ کی سطح # کو بھی سبسکرائب کر سکتے ہیں جس سے آپ کو بروکر سے گزرنے والی ہر چیز مل جاتی ہے ، لیکن یہ آپ کے چہرے پر آگ کی نلی چپکانے کے مترادف ہو سکتا ہے: تھوڑا بہت بھاری۔ HiveMQ سے عوامی MQTT بروکر سے رابطہ قائم کرنے اور #کو سبسکرائب کرنے کی کوشش کریں۔ میرے کلائنٹ کے کریش ہونے سے پہلے مجھے چند سیکنڈ میں تقریبا messages 300 پیغامات ملے۔

MQTT ابتدائی ٹپ: ' /myHome/' ایک مختلف موضوع ہے myHome/' - شروع میں ایک سلیش شامل کرنا ایک خالی موضوع کی سطح بناتا ہے ، جو کہ تکنیکی اعتبار سے درست ہونے کی وجہ سے تجویز نہیں کی جاتی ہے کیونکہ یہ الجھن کا باعث بن سکتا ہے۔

اب جب ہم تھیوری کو جانتے ہیں ، آئیے آرڈوینو ، ایتھرنیٹ شیلڈ ، اور ڈی ایچ ٹی 11 درجہ حرارت اور نمی سینسر کے ساتھ چلتے ہیں - آپ کو شاید اپنی اسٹارٹر کٹ میں سے ایک مل گیا ہے ، لیکن اگر نہیں ، تو صرف ایک حرکت کے لیے ماحولیاتی سینسر کو تبدیل کریں۔ سینسر (یا یہاں تک کہ ایک بٹن)۔

ایتھرنیٹ کنکشن کے ساتھ Arduino سے MQTT شائع کرنا۔

اگر آپ کے پاس وائی فائی یا ایتھرنیٹ بلٹ ان کے ساتھ ایک ہائبرڈ Arduino- ہم آہنگ آلہ ہے ، تو یہ بھی کام کرنا چاہیے۔ بالآخر ہم بات چیت کا ایک بہتر/سستا طریقہ چاہیں گے کہ ہر کمرے میں نیٹ ورک کنکشن استعمال کرنا پڑے ، لیکن اس سے بنیادی باتیں سیکھنے میں مدد ملتی ہے۔

ڈاؤن لوڈ کرکے شروع کریں۔ Github سے pubsubclient لائبریری۔ . اگر آپ نے 'بطور زپ ڈاؤن لوڈ کریں' بٹن استعمال کیا ہے تو ساخت تھوڑی غلط ہے۔ ان زپ کریں ، فولڈر کا نام تبدیل کریں۔ pubsubclient ، پھر دو فائلوں کو باہر نکالیں۔ src فولڈر اور انہیں ایک درجے اوپر ڈاؤن لوڈ کردہ فولڈر کی جڑ میں منتقل کریں۔ پھر پورے فولڈر کو اپنے میں منتقل کریں۔ Arduino/لائبریریاں ڈائریکٹری

یہ میرا نمونہ کوڈ ہے جسے آپ ڈھال سکتے ہیں۔ : DHT11 سگنل آؤٹ پٹ پن 7 پر ہے۔ درج ذیل لائن پر اپنے Pi کے لیے سرور IP تبدیل کریں:

client.setServer ('192.168.1.99'، 1883)

بدقسمتی سے ، ہم اس کا دوستانہ نام استعمال نہیں کر سکتے۔ (OpenHAB.local میرے معاملے میں) چونکہ آرڈوینو پر ٹی سی پی/آئی پی اسٹیک بہت آسان ہے اور بونجور نام کے کوڈ کو شامل کرنا بہت زیادہ میموری ہوگی جسے ہم ضائع نہیں کرنا چاہتے۔ ان موضوعات کو تبدیل کرنے کے لیے جن پر سینسر ڈیٹا نشر کیا جا رہا ہے ، ان لائنوں پر نیچے سکرول کریں:

چار بفر [10]

dtostrf (t، 0، 0، buffer)؛

client.publish ('openhab/himitsu/temperature'، buffer)؛

dtostrf (h، 0، 0، buffer)؛

client.publish ('openhab/himitsu/humidity' ، بفر)

کوڈ میں کمانڈ چینل کی سبسکرپشن بھی شامل ہے۔ درج ذیل لائن کو ڈھونڈیں اور ایڈجسٹ کریں:

client.subscribe ('openhab/himitsu/command')

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

اپنا کوڈ اپ لوڈ کریں ، اپنے Arduino کو نیٹ ورک میں پلگ کریں ، اور MQTT.fx کا استعمال کرتے ہوئے سبسکرائب کریں۔ # یا openhab / himitsu / # (یا جو کچھ بھی آپ نے کمرے کا نام تبدیل کیا ، لیکن آخر میں # شامل کرنا نہ بھولیں)۔ بہت جلد آپ کو پیغامات آتے نظر آئیں گے اور اگر آپ کمانڈ ٹاپک کو آن یا آف بھیجتے ہیں ، تو آپ کو اعترافات بھی واپس آتے نظر آئیں گے۔

اوپن ہیب کے لیے ایم کیو ٹی ٹی بائنڈنگ۔

مساوات کا آخری مرحلہ اسے OpenHAB میں شامل کرنا ہے۔ اس کے لئے ، یقینا ہمیں ایک پابند کی ضرورت ہے۔

sudo apt-get install openhab-addon-binding-mqtt

sudo chown -hR openhab: openhab/usr/share/openhab

اور بائنڈنگ کو فعال کرنے کے لیے config فائل میں ترمیم کریں۔

mqtt: broker.url = tcp: // localhost: 1883۔

mqtt: broker.clientId = openhab

OpenHAB کو دوبارہ شروع کریں۔

سوڈو سروس اوپن ہب دوبارہ شروع کریں۔

پھر آئیے ایک یا دو چیزیں شامل کریں:

/ * MQTT سینسر */

نمبر Himitsu_Temp 'Himitsu درجہ حرارت [٪ .1f ° C]' (Himitsu ، درجہ حرارت) {mqtt = '<[broker:openhab/himitsu/temperature:state:default]'}

نمبر Himitsu_Humidity'Himitsu Humidity [٪ .1f ٪٪] '(Himitsu ، Humidity) {mqtt ='<[broker:openhab/himitsu/humidity:state:default]'}

اب تک آپ کو فارمیٹ سمجھنا چاہیے۔ یہ ایک ہو رہا ہے نمبر آئٹم۔ MQTT بائنڈنگ سے ، ایک مخصوص موضوع پر۔ یہ ایک سادہ سی مثال ہے ، آپ ویکی پیج کا حوالہ دینا چاہیں گے۔ بہت زیادہ پیچیدہ ہو سکتا ہے۔ .

مبارک ہو ، اب آپ کے پاس ایک سستے Arduino پر مبنی سینسر صف کی بنیاد ہے۔ ہم مستقبل میں اس پر نظرثانی کریں گے اور آرڈوینو کو ان کے اپنے الگ الگ آر ایف نیٹ ورک پر رکھیں گے۔ میں نے ایک جیسا ورژن بھی بنایا ہے۔ Wizwiki 7500 بورڈز کے لیے۔ اگر آپ کے پاس ان میں سے ایک ہے۔

استقامت اور گرافنگ ڈیٹا۔

اب تک آپ شاید سینسروں کا ایک گروپ سیٹ کر چکے ہیں ، چاہے Z-Wave یا اپنی مرضی کے مطابق Arduinos چلانے والے MQTT سے-تاکہ آپ کسی بھی وقت ان سینسرز کی موجودہ حالت دیکھ سکیں ، اور آپ کو قواعد میں ان کی قدر پر ردعمل ظاہر کرنا چاہیے۔ لیکن سینسر اقدار کے بارے میں دلچسپ بات عام طور پر یہ ہے کہ وہ وقت کے ساتھ تبدیل ہوتی ہیں: اسی جگہ استقامت اور گرافنگ آتی ہے۔ استقامت۔ اوپن ایچ اے بی میں وقت کے ساتھ ڈیٹا کو محفوظ کرنا ہے۔ آئیے آگے بڑھتے ہیں اور RRD4J (راؤنڈ رابن ڈیٹا بیس برائے جاوا) سیٹ اپ کرتے ہیں ، اس لیے کہا جاتا ہے کہ ڈیٹا کو راؤنڈ رابن فیشن میں محفوظ کیا جاتا ہے - ڈیٹا بیس کے سائز کو سکیڑنے کے لیے پرانا ڈیٹا ضائع کردیا جاتا ہے۔

مندرجہ ذیل کمانڈز کے ساتھ rrd4j پیکجز انسٹال کریں۔

sudo apt-get install openhab-addon-persistence-rrd4j
sudo chown -hR openhab:openhab /usr/share/openhab

پھر ایک نئی فائل بنائیں جسے کہتے ہیں۔ rrd4j.persist میں ترتیب/استقامت فولڈر. مندرجہ ذیل میں چسپاں کریں:

حکمت عملی {

everyMinute: '0 * * * *؟'

ہر گھنٹہ: '0 0 * * *؟'

ہر دن: '0 0 0 * *؟'

ڈیفالٹ = ہر تبدیلی

}

اشیاء {

// ہر چیز کو برقرار رکھیں جب قیمت اپ ڈیٹ ہوجائے ، صرف ایک ڈیفالٹ ، اور انہیں اسٹارٹ اپ پر ڈیٹا بیس سے بحال کریں۔

*: حکمت عملی = ہر تبدیلی ، بحالی آن اسٹارٹ اپ۔

// اگلا ہم درجہ حرارت گروپ میں کسی بھی چیز کے لیے ہر گھنٹے کی مخصوص حکمت عملی اور نمی کے لیے ہر منٹ کی وضاحت کرتے ہیں۔

گوگل دستاویزات میں حاشیے میں ترمیم کرنے کا طریقہ

درجہ حرارت*: حکمت عملی = ہر گھنٹہ۔

نمی*: حکمت عملی = ہر منٹ۔

// متبادل کے طور پر آپ یہاں مخصوص اشیاء شامل کر سکتے ہیں ، جیسے۔

// بیڈروم_نمائٹی ، جیمز آفس: حکمت عملی = ہر منٹ۔

}

اس فائل کے پہلے حصے میں ، ہم حکمت عملی کی وضاحت کر رہے ہیں ، جس کا مطلب صرف ایک CRON اظہار کو نام دینا ہے۔ یہ ویسا ہی ہے جیسا کہ ہم نے پہلے ہی My.OpenHAB کے ساتھ کیا تھا ، لیکن اس بار ہم کچھ نئی حکمت عملی بنا رہے ہیں جنہیں ہم ہر دن ، ہر گھنٹہ اور ہر منٹ استعمال کر سکتے ہیں۔ میں نے ان سب کو ابھی تک استعمال نہیں کیا ہے ، لیکن میں مستقبل میں ہوسکتا ہوں۔

فائل کے دوسرے نصف حصے میں ، ہم rr4dj بتاتے ہیں کہ کون سا ڈیٹا ویلیوز کو محفوظ کرنا ہے۔ بطور ڈیفالٹ ، ہم ہر بار اپ ڈیٹ ہونے پر ہر چیز کو بچانے جا رہے ہیں ، لیکن میں نے مخصوص سینسرز کے لیے کچھ وقت پر مبنی حکمت عملی بھی بتائی ہے۔ درجہ حرارت کے بارے میں میں زیادہ پریشان نہیں ہوں ، اس لیے میں نے یہ مقرر کیا ہے کہ صرف ہر گھنٹے کو بچاؤں ، لیکن نمی میرے لیے ایک بڑی تشویش ہے ، اس لیے میں دیکھنا چاہتا ہوں کہ یہ ہر منٹ کیسے بدل رہا ہے۔ اگر کوئی دوسرا ڈیٹا ہے جسے آپ خاص طور پر مقررہ اوقات میں محفوظ کرنا چاہتے ہیں تو ان کو ابھی یہاں شامل کریں یا ضرورت کے مطابق ایڈجسٹ کریں۔

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

اس کی وضاحت کے ساتھ ، آپ کو کچھ ڈیبگ آؤٹ پٹ دیکھنا شروع کرنا چاہئے جو آپ کو بتاتا ہے کہ اقدار کو محفوظ کیا جارہا ہے۔

اگلا ، آئیے اس تمام ڈیٹا کے کچھ خوبصورت گراف بناتے ہیں۔ یہ واقعی آسان ہے۔ انفرادی سینسر کا گراف بنانے کے لیے ، اپنی سائٹ کے نقشے میں درج ذیل کو شامل کریں:

چارٹ آئٹم = سونے کے کمرے کی نمی کی مدت = h

یہ لفظی طور پر آپ کی ضرورت ہے۔ مدت کے لیے درست اقدار ہیں۔ h ، 4h ، 8h ، 12h ، D ، 3D ، W ، 2W ، M ، 2M ، 4M ، Y ؛ یہ واضح ہونا چاہیے کہ ان کا کیا مطلب ہے۔ اگر ڈیفالٹ نہیں ہے تو یہ پورے دن کے ڈیٹا کو ڈیفالٹ کرتا ہے۔

متعدد آئٹمز کے ساتھ گراف بنانے کے لیے ، اس کے بجائے صرف گروپ کا نام گراف کریں:

چارٹ آئٹم = نمی کی مدت = h

آپ کو یہ جاننے میں بھی دلچسپی ہو سکتی ہے کہ آپ اس گراف کو کہیں اور استعمال کر سکتے ہیں۔ یہ مندرجہ ذیل یو آر ایل کا استعمال کرتے ہوئے ایک تصویر بنا رہا ہے۔ http: // YOUROPENHABURL: 8080/chart؟ groups = humidity & period = h

کیسا ہے؟ آپ کا۔ OpenHAB سسٹم آرہا ہے؟

گائیڈ کی اس قسط کے لیے یہی ہے ، لیکن یہ توقع نہ کریں کہ یہ آخری بار آپ نے اوپن ہب کے بارے میں سنا ہوگا۔ امید ہے کہ اس اور ابتدائی رہنما نے آپ کو اپنا مکمل OpenHAB سسٹم تیار کرنے کے لیے ٹھوس بنیاد فراہم کی ہے - لیکن یہ ایک ایسا عمل ہے جو کبھی مکمل طور پر ختم نہیں ہوتا ہے۔

شکر ہے ، اوپن ایچ اے بی کچھ آلات سے لے کر سینکڑوں تک ، عام اصول کی پیچیدگی سے لے کر گھریلو آٹومیشن میں حتمی حد تک پہنچ سکتا ہے - تو آپ کا سسٹم کیسا چل رہا ہے؟ آپ نے کن آلات کا انتخاب کیا؟ اگلا بڑا پروجیکٹ کیا ہے جس سے آپ نمٹنے جا رہے ہیں؟

آئیے تبصرے میں بات کریں - اور براہ کرم ، اگر آپ کو یہ گائیڈ کارآمد معلوم ہوئی تو ، اپنے دوستوں کو بتانے کے لیے ان شیئر بٹنوں پر کلک کریں کہ وہ بھی اپنا اوپن ہیب سسٹم کیسے ترتیب دے سکتے ہیں۔

ہم امید کرتے ہیں کہ آپ ان اشیاء کو پسند کریں گے جن کی ہم تجویز کرتے ہیں اور تبادلہ خیال کرتے ہیں! MUO کی وابستہ اور اسپانسر شدہ شراکتیں ہیں ، لہذا ہمیں آپ کی کچھ خریداریوں سے حاصل ہونے والی آمدنی کا حصہ ملتا ہے۔ یہ اس قیمت کو متاثر نہیں کرے گا جو آپ ادا کرتے ہیں اور مصنوعات کی بہترین تجاویز پیش کرنے میں ہماری مدد کرتا ہے۔

بانٹیں بانٹیں ٹویٹ ای میل۔ متحرک تقریر کے لیے ایک ابتدائی رہنما۔

متحرک تقریر ایک چیلنج ہوسکتی ہے۔ اگر آپ اپنے پروجیکٹ میں ڈائیلاگ شامل کرنا شروع کرنے کے لیے تیار ہیں تو ہم آپ کے لیے عمل کو توڑ دیں گے۔

اگلا پڑھیں۔
متعلقہ موضوعات۔
  • DIY
  • سمارٹ ہوم۔
  • Arduino
  • ہوم آٹومیشن۔
  • لانگ فارم
  • لانگفارم گائیڈ۔
مصنف کے بارے میں جیمز بروس۔(707 مضامین شائع ہوئے)

جیمز کے پاس مصنوعی ذہانت میں بی ایس سی ہے اور CompTIA A+ اور Network+ مصدقہ ہے۔ جب وہ ہارڈ ویئر ریویوز ایڈیٹر کی حیثیت سے مصروف نہیں ہوتا ہے ، تو وہ لیگو ، وی آر اور بورڈ گیمز سے لطف اندوز ہوتا ہے۔ MakeUseOf میں شامل ہونے سے پہلے ، وہ لائٹنگ ٹیکنیشن ، انگریزی ٹیچر ، اور ڈیٹا سینٹر انجینئر تھا۔

جیمز بروس سے مزید

ہماری نیوز لیٹر کو سبسکرائب کریں

ٹیک ٹپس ، جائزے ، مفت ای بکس ، اور خصوصی سودوں کے لیے ہمارے نیوز لیٹر میں شامل ہوں!

سبسکرائب کرنے کے لیے یہاں کلک کریں۔