विषयसूची:

नेस्ट योर ओल्ड थर्मोस्टेट: 4 कदम (चित्रों के साथ)
नेस्ट योर ओल्ड थर्मोस्टेट: 4 कदम (चित्रों के साथ)

वीडियो: नेस्ट योर ओल्ड थर्मोस्टेट: 4 कदम (चित्रों के साथ)

वीडियो: नेस्ट योर ओल्ड थर्मोस्टेट: 4 कदम (चित्रों के साथ)
वीडियो: How to Install a Smart Thermostat | Ask This Old House 2024, जुलाई
Anonim
Image
Image
थर्मोस्टेट कैसे काम करता है
थर्मोस्टेट कैसे काम करता है

मेरे घर में हीटिंग सिस्टम शायद घर जितना ही पुराना है। यह लगभग 30 साल पुराना है, जो घर के वर्षों के मामले में ठीक है, लेकिन जहां तक तकनीक का संबंध है, हिमयुग में बहुत अधिक फंस गया है। व्यावसायिक समाधान के साथ 2 मुख्य समस्याएं हैं:

  • निषेधात्मक मूल्य निर्धारण
  • सेवा के रूप में उत्पाद

हम सभी को याद है कि रिवॉल्व के साथ क्या हुआ था और मैं सर्दियों के बीच में मेरे साथ ऐसा होने के लिए उत्सुक नहीं हूं। इसे ध्यान में रखते हुए, मैं आपको आपके पुराने थर्मोस्टेट के लिए अविश्वसनीय रूप से संदिग्ध दिखने वाले लेकिन कार्यात्मक NEST-Alike नियंत्रक के साथ प्रस्तुत करता हूं। चिंता न करें, मैं जल्द ही एक बेहतर एनक्लोजर जोड़ने की योजना बना रहा हूँ!

विशेषताएं:

  • मौजूदा थर्मोस्टेट का उपयोग करने की क्षमता (यदि पत्नी इसके बारे में विलाप करती है)
  • दूरदराज का उपयोग
  • दूर मोड
  • इष्टतम तापमान संकेतक
  • एलेक्सा के साथ काम करता है

जल्द ही (अपडेट के लिए यहां देखें)

  • गूगल होम
  • गूगल कैलेंडर
  • एकाधिक सेंसर
  • रेडिएटर नियंत्रण
  • IFTT एकीकरण
  • टास्कर समर्थन
  • HTTP अनुरोध
  • एक बेहतर दिखने वाला संलग्नक

चरण 1: थर्मोस्टेट कैसे काम करता है

थर्मोस्टेट कैसे काम करता है
थर्मोस्टेट कैसे काम करता है
थर्मोस्टेट कैसे काम करता है
थर्मोस्टेट कैसे काम करता है

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

हनीवेल थर्मोस्टेट एक दीवार पर चढ़कर इकाई है, जो मुख्य द्वारा संचालित है (सोनॉफ मूल बातें न्यूनतम 90V की आवश्यकता है, मेरे सर्किट में 230V है)। बॉक्स मुख्य नियंत्रण इकाई (जो एक अधिक उन्नत बॉक्स है) से जुड़ा है और जब तापमान लक्ष्य स्तर से नीचे चला जाता है तो यह संकेत भेजता है। जबकि आपकी इकाई भिन्न हो सकती है, सिद्धांत सबसे अधिक समान है। यदि आपके पास 3 तार हैं और वॉल-माउंटेड यूनिट के बीच कोई रेडियो कनेक्शन नहीं है - यह आपके लिए ट्यूटोरियल है।

मुझे पता है कि कैसे 3-तार थर्मोस्टैट एक सिद्धांत में काम करते हैं, जो मुझे दुर्घटना से 2 तारों को छोटा करके फ्यूज उड़ाने से नहीं रोकता है! मेरे पास यूनिट से जुड़े 3 तार हैं (चौथा पृथ्वी होने के साथ)। मेरा हनीवेल थर्मोस्टेट वायरलेस नहीं है, इसलिए सिग्नल को स्विच करने के लिए, मैं सोनऑफ बेसिक का उपयोग कर सकता हूं। इसे अलग करने और यूनिट को सिग्नल कैसे भेजा जाता है, यह देखने का समय आ गया है। करीब से निरीक्षण करने पर, टर्मिनल निम्नलिखित तरीके से जुड़ा हुआ है:

  1. (नीला) - ग्राउंड
  2. (पीला) - संकेत, जब उच्च खींचा जाता है तो ताप चालू होता है
  3. बेकार
  4. (लाल) - सिग्नल को ऊंचा खींचने के लिए इस्तेमाल किया जाने वाला लाइव वायर

अपने लक्ष्य को प्राप्त करने के लिए, जब मैं चाहता हूं कि मेरा हीटिंग चालू हो जाए, तो मुझे सिग्नल वायर के साथ लाइव वायर को छोटा करना होगा। यदि आपके पास एक समान रूप से जुड़ा थर्मोस्टेट है, तो आप भाग्य में हैं क्योंकि सोनऑफ बेसिक ट्रिक करने के लिए पर्याप्त होगा।

चरण 2: सोनऑफ़ बेसिक तैयार करना

Sonoff बेसिक तैयार करना
Sonoff बेसिक तैयार करना
Sonoff बेसिक तैयार करना
Sonoff बेसिक तैयार करना
Sonoff बेसिक तैयार करना
Sonoff बेसिक तैयार करना

इससे पहले कि हम तारों को जोड़ना शुरू करें, हमें मिश्रण में एक तापमान संवेदक (DHT11) जोड़ना होगा। सुनिश्चित करें कि आपके पास आपके सोनऑफ डिवाइस पर तस्मोटा फर्मवेयर फ्लैश है (मेरे पास यहां एक उत्कृष्ट फ्लैशिंग गाइड है) और आपका तस्मोटा-सक्षम सोनऑफ सही तरीके से कॉन्फ़िगर किया गया है (मेरे द्वारा पहले से ही कवर किया गया है)। अब, आपके पास केवल DHT11 सेंसर को Sonoff से कनेक्ट करना है और इसे तापमान रिपोर्टिंग के लिए कॉन्फ़िगर करना है।

DHT11 वायर्ड 3 पिन के साथ आता है: सिग्नल - GPIO14Vcc - 3.3VGND - GND

मैंने एक छेद किया, मैं इस बात से परेशान नहीं हूं कि यह अब कैसा दिखता है, मुझे केवल अवधारणा और सत्यापन का प्रमाण चाहिए। मेरा ३डी प्रिंटर आने के बाद मैं एक अच्छा और चमकदार बाड़ा बनाऊंगा। मैंने इस बात पर अतिरिक्त ध्यान दिया कि मैं सोनऑफ़ को कैसे तार करता हूँ, क्योंकि मुझे यह सुनिश्चित करना है कि लाइव तार सोनऑफ़ डिवाइस के दूसरे छोर पर सिग्नल वायर से जुड़ता है। हनीवेल यूनिट में लोड रेसिस्टर (R) बनाया गया है जो करंट को सीमित करता है। जबकि सर्किट 3A फ्यूज द्वारा सुरक्षित है, अतिरिक्त सुरक्षा के लिए समान प्रतिरोध से मेल खाना स्मार्ट है। एक बार जब मेरे पास तार तैयार हो गए, तो मुख्य बिजली को बंद करने और सोनऑफ को वापस तार करने का समय आ गया था।

Sonoff Tasmota - हनीवेल थर्मोस्टेट

इनपुट लाइव - चौथा टर्मिनल लाइव

इनपुट जीएनडी - पहला टर्मिनल जीएनडी

आउटपुट सिग्नल - दूसरा टर्मिनल सिग्नल

मैंने पहले उल्लेख किया था कि अभी के लिए, मैं इसके स्वरूप के बारे में जोर नहीं देने जा रहा हूं। पत्नी आश्वस्त हो गई है और मैं कार्यक्षमता पर ध्यान केंद्रित कर सकता हूं और किसी भी बग को दूर कर सकता हूं। अच्छी बात यह है कि मूल थर्मोस्टेट अभी भी काम कर रहा है। अगर मैं इसे चालू करता हूं, तो यह Sonoff Tasmota आधारित एक को ओवरराइड कर देगा। किसी भी अप्रत्याशित घटना के लिए यह एक बेहतरीन बैकअप होना चाहिए।

चरण 3: नोडरेड

नोडरेड
नोडरेड
नोडरेड
नोडरेड
नोडरेड
नोडरेड

कृपया ध्यान दें कि वीडियो में पुराने NodeRed संदर्भ हो सकते हैं, मैं डिजाइन में सुधार के लिए लगातार काम कर रहा हूं। ये छोटे परिवर्तन हैं और लेख फ़ाइलों को अद्यतित रखा जाता है।

मैं इस डिजाइन में ऑनलाइन आया था। यह बहुत अच्छा लग रहा है, हालांकि करीब से निरीक्षण करने पर, विजेट वास्तव में NodeRED के लिए उपयुक्त नहीं है। इसे सेट करने के लिए 5 पेलोड की आवश्यकता होती है, जो कि नोड समान डिजाइन के काम नहीं करता है। विजेट को अपडेट करने और इसे क्रियाशील रखने के लिए उस सारी जानकारी को पास करने का सबसे अच्छा तरीका जानने में मुझे कुछ समय लगा। मुझे यकीन है कि समय के साथ मैं डिजाइन पर अधिक समय बिताऊंगा ताकि मैं एक ही संदेश वस्तु के साथ सभी आवश्यक अपडेट को आगे बढ़ा सकूं। फिलहाल तो जो है, वही है।

तापमान धारा

DHT11 हर X सेकंड में NodeRED सर्वर को रिपोर्ट करता है। मैंने इस आवृत्ति को तस्मोटा के कंसोल के माध्यम से बढ़ाया। सेकंड में फ़्रीक्वेंसी सेट करने के लिए बस कमांड चलाएँ:

TelePeriod 10 और 3600 सेकंड के बीच टेलीमेट्री अवधि सेट करें

यह ज्यादातर परीक्षणों के लिए किया जाता है, क्योंकि मैं यह देखने के लिए मिनटों का इंतजार नहीं करना चाहता कि क्या मेरे बग फिक्स ने काम किया है। आवृत्ति उच्च रखने से कम समय के लिए हीटिंग अधिक बार आग लग जाएगी, इसलिए परीक्षण उद्देश्यों के अलावा इसे 10 सेकंड पर सेट करने से बचना चाहिए। MQTT नोड से डेटा खींचता है:

सोनोफ़/टेली/सेंसर

और निम्नलिखित वस्तुओं में सबसे उपयोगी डेटा रखता है:

msg.payload. DHT11.तापमान msg.payload. DHT11.आर्द्रता

त्रुटियों को सीमित करने के लिए, मैंने परिणामों को औसत करने के लिए सुचारू नोड जोड़ा और प्रवाह चर को अद्यतन किया: NodeRED:

फंक्शन नोड - 'TempAmbient' को अपडेट करें

Flow.set ('TempAmbient', msg.payload. DHT11. Temperature); वापसी संदेश;

विजेट अपडेट

मैंने तय किया कि 5 सेकंड एक अच्छी ताज़ा दर है, इसलिए मैं इस आवृत्ति के साथ सभी आवश्यक मूल्यों को आगे बढ़ा रहा हूं। एकमात्र अपवाद स्लाइडर है, जो स्पष्ट कारण के लिए तुरंत प्रतिक्रिया करता है।

प्रत्येक संबंधित नोड नेस्ट-अलाइक विजेट को निर्दिष्ट विषय के साथ पेलोड भेजता है।

  • रंग (हीटिंग|कूलिंग*|ऑफ और एचवीएसी_स्टेट)
  • पत्ता (सच|झूठा और है_लीफ)
  • दूर (सच|झूठा और दूर)
  • परिवेश अस्थायी (संख्या और परिवेश_तापमान)
  • लक्ष्य अस्थायी (संख्या और लक्ष्य_तापमान)

*बेकार

NodeRED: फ़ंक्शन नोड - विजेट अपडेट

रंग

एक्स = प्रवाह। प्राप्त करें ('अस्थायी लक्ष्य'); // लक्ष्य = प्रवाह। प्राप्त करें ('TempAmbient'); // परिवेश

अगर (जेड = एक्स) {

फ्लो.सेट ('हीटिंगस्टेट', "ऑफ"); फ्लो.सेट ('हीटिंगस्विच', "ऑफ"); } संदेश पेलोड = z; msg.topic = "परिवेश_तापमान"; वापसी संदेश;

पत्ता

एक्स = प्रवाह। प्राप्त करें ('अस्थायी परिवेश'); अगर (x> 17 && x <23) {flow.set ('पत्ती', सच); संदेश पेलोड = सच; msg.topic = "has_leaf"; वापसी संदेश; } और {flow.set ('पत्ती', झूठा); संदेश पेलोड = झूठा; msg.topic = "has_leaf"; वापसी संदेश; }

रंग दूर ओवरराइड

एक्स = प्रवाह। प्राप्त करें ('दूर'); अगर (x === सच) { msg.topic = "hvac_state"; संदेश पेलोड = "बंद"; वापसी संदेश; }

msg.topic = "hvac_state";

संदेश पेलोड = प्रवाह। प्राप्त करें ('हीटिंगस्टेट');

वापसी संदेश;

दूर

एक्स = प्रवाह। प्राप्त करें ('दूर'); अगर (x === सच) {flow.set ('हीटिंगस्विच', "ऑफ"); फ्लो.सेट ('हीटिंगस्टेट', "ऑफ"); }

संदेश विषय = "दूर";

संदेश पेलोड = प्रवाह। प्राप्त करें ('दूर'); वापसी संदेश;

लक्ष्य अस्थायी

अगर (msg.topic === "अपडेट"){ msg.topic = "target_temperature"; संदेश पेलोड = प्रवाह। प्राप्त करें ('TempTarget'); वापसी संदेश; }

अगर (msg.command === "SetTargetTemperatureRequest") {

फ्लो.सेट ('दूर', झूठा); msg.topic = "target_temperature"; Flow.set ('TempTarget', msg.payload); }

अगर (msg.topic === "स्लाइडर") {

फ्लो.सेट ('दूर', झूठा); msg.topic = "target_temperature"; Flow.set ('TempTarget', msg.payload); }

अगर (msg.command === "GetTemperatureReadingRequest") {}

वापसी संदेश;

जैसा कि आप देख सकते हैं, मैंने फ्लो वेरिएबल्स के लिए ऑप्ट आउट किया है, इसलिए मैं किसी भी समय मान को याद कर सकता हूं। मेरे पास एक डीबग प्रवाह है जो मूल रूप से सभी संग्रहीत मानों को पढ़ता है।

  • 'TempAmbinet' - वर्तमान तापमान को संग्रहीत करता है
  • 'TempTarget' - अस्थायी लक्ष्य मान रखता है
  • 'पत्ती' - यदि आवश्यक हो तो पत्ता प्रदर्शित करता है
  • 'दूर' - यदि आवश्यक हो तो दूर की स्थिति प्रदर्शित करता है
  • 'हीटिंगस्टेट' - डिस्प्ले का रंग बदलता है
  • 'हीटिंगस्विच' - रिले की स्थिति को नियंत्रित करता है।

चुनौती वास्तव में यह सुनिश्चित करने की थी कि जानकारी "अपडेट" पर अपडेट की जाती है और जब अन्य माध्यमों (एलेक्सा, आदि) के माध्यम से अनुरोध किया जाता है। यही कारण है कि आपको जावास्क्रिप्ट में विभिन्न स्थितियां दिखाई देंगी। हर बार मानों को अद्यतन किया जाता है, प्रवाह चर को भेजा जाता है और विजेट को ताज़ा किया जाता है।

स्लाइडर

परीक्षण से पता चला कि एक अतिरिक्त स्लाइडर अपडेट (स्लाइडर लक्ष्य तापमान को धक्का देता है) की आवश्यकता है। स्लाइडर ले जाने पर संबंधित विषय स्लाइडर) के साथ पेलोड (संख्या) भेजता है। इसके शीर्ष पर, यदि एकाधिक वेब इंटरफेस मौजूद हैं तो मैं स्लाइडर को सही स्थिति में लाना चाहता हूं। ऐसा करने के लिए, हर 5 सेकंड में मैं स्लाइडर स्थिति को वर्तमान लक्ष्य तापमान पर अपडेट करता हूं।

NodeRED: फंक्शन नोड - अपडेट स्लाइडर'

संदेश पेलोड = प्रवाह। प्राप्त करें ('TempTarget'); वापसी संदेश;

रिले नियंत्रण

रिले नियंत्रक सरल है, इसमें (अभी के लिए) दो इनपुट लगते हैं। एलेक्सा का सच | झूठा और इंटरैक्शन जो "हीटिंग स्विच" प्रवाह चर के अपडेट का अनुसरण करता है। तत्काल कार्रवाई की कोई आवश्यकता नहीं है, इसलिए सरलता के लिए, यह शेष प्रवाह के समान 5sec अद्यतन आवृत्ति पर चलता है।

रिले MQTT के माध्यम से जुड़ा हुआ है। नोड विषय पर ON|OFF आदेश पोस्ट कर रहा है:

सोनोफ/सेमीएनडी/पावर1

फंक्शन नोड एलेक्सा से ट्रू | फाल्स को स्वीकार करता है और 'हीटिंगस्विच' फ्लो वेरिएबल के अनुसार इनपुट की स्थिति को भी बदलता है।

NodeRED: फंक्शन नोड - कंट्रोल रिले'

अगर (msg.command === "TurnOffRequest"){ msg.payload = "OFF"; वापसी संदेश; }

अगर (msg.command === "TurnOnRequest"){

संदेश पेलोड = "चालू"; प्रवाह.सेट ('अस्थायी लक्ष्य', 21); वापसी संदेश; } अगर (msg.topic === "अपडेट"){ msg.payload =flow.get('heatingSwitch'); } वापसी संदेश;

एलेक्सा एकीकरण

यह पहला उपकरण है जिसे मुझे "ऑटो पावती" बंद करना पड़ा। स्वचालित रूप से एक प्रतिक्रिया मानने के बजाय मैंने एक उत्पन्न किया है क्योंकि मैं निर्धारित तापमान को क्वेरी करने की क्षमता चाहता हूं। सिद्धांत रूप में, msg.payload = true|false इंगित करता है कि अनुरोध सफल रहा है, और यहां पाए गए टेम्पलेट बाकी काम करते हैं। यदि आप Alexa और NodeRed पर नए हैं, तो इसे अवश्य पढ़ें।

मैंने पावती को अलग से पारित करने का फैसला किया (मुझे पता है कि यह सबसे अच्छा तरीका नहीं है) इसे थोड़ा बेहतर तरीके से नियंत्रित करने में सक्षम होने के लिए। ठीक से प्रत्येक प्रतिक्रिया कमांड श्रृंखला के अंत में दी जानी चाहिए। ऐसा होने पर त्रुटियों को वापस न करने का मेरा जोखिम है। ध्यान दें, कि सुसंगत होने के लिए, मैं केवल वेरिएबल्स को अपडेट करता हूं, जबकि रीफ्रेश लूप, नए मानों को विजेट पर धक्का देता है।

NodeRED: फ़ंक्शन नोड - एलेक्सा प्रतिक्रियाओं को संसाधित करें'

// थर्मोस्टेट का लक्ष्य तापमान क्या है अगर (msg.command === "GetTemperatureReadingRequest") { x =flow.get('TempTarget'); msg.extra = { "तापमान पढ़ना": { "मान": x}, "उपकरण रिस्पॉन्स टाइमस्टैम्प": नई तिथि ()। toISOString ()}; संदेश पेलोड = सच; वापसी संदेश;) संदेश पेलोड = झूठा; msg.extra = रेंज; } और { msg.extra = { targetTemperature: { मान: msg.payload } }; संदेश पेलोड = सच; } वापसी संदेश; } // इसे चालू करें अगर (msg.command === "TurnOnRequest"){ msg.payload = true; फ्लो.सेट ('दूर', झूठा); प्रवाह.सेट ('अस्थायी लक्ष्य', 21); वापसी संदेश; } // इसे बंद कर दें अगर (msg.command === "TurnOffRequest"){ msg.payload = true; प्रवाह.सेट ('दूर', सत्य); वापसी संदेश;

चरण 4: निष्कर्ष

निष्कर्ष
निष्कर्ष

यदि आप NodeRED डैशबोर्ड को WAN में उजागर करते हैं तो पूरे हीटिंग सिस्टम को दूर से नियंत्रित किया जा सकता है। मैं आपको NodeRED और NodeRED सुरक्षा के साथ गति प्राप्त करने के लिए निम्नलिखित लेख पढ़ने की सलाह दूंगा।

  • नौसिखियों के लिए NodeRED
  • नोडरेड सुरक्षा

इसके अलावा, यदि आप इस परियोजना के अपडेट के बारे में जानकारी प्राप्त करना चाहते हैं - मुझे अपनी पसंद के मंच पर अनुसरण करने पर विचार करें:

  • फेसबुक
  • ट्विटर
  • instagram
  • यूट्यूब

और अगर आपको मेरे लिए एक कॉफी खरीदने या अधिक निरंतर तरीके से मेरा समर्थन करने का मन कर रहा है:

  • Paypal
  • पैट्रियन

मुझे आशा है कि आपने परियोजना का आनंद लिया है!

सिफारिश की: