- यह एक ऐसा उदाहरण है जिसमें किराए के अपार्टमेंट में कोई डिवाइस बदले बिना या electrician बुलाए बिना, मौजूदा thermostat के wireless signal replay से Home Assistant heating control लागू किया गया
- thermostat
868MHz बैंड पर boiler से संचार करता था और protocol encrypted था, लेकिन Replay Attack packet की सामग्री जाने बिना भी काम कर सकता था
rtl_433 विश्लेषण से यह Honeywell परिवार जैसे protocol जैसा लगा, और demand मान boiler के on/off को दिखाता था, जबकि boiler acknowledgement response भेजता था
- अंतिम सेटअप में
HackRF One clone और hackrf_transfer से signal record/playback किया गया, और Docker web server को Home Assistant के command_line, average, generic_thermostat से जोड़ा गया
- यह 2024 के दिसंबर की शुरुआत से बिना समस्या के उपयोग में है, लेकिन
868MHz transmission स्थानीय नियमों के अनुसार अवैध हो सकता है, और साधारण on/off control के लिए HackRF का उपयोग कुछ ज़्यादा ही है
किराए के घर में heating automation करना मुश्किल क्यों है
- किराए के अपार्टमेंट का boiler मकान-मालिक द्वारा लगाए गए एक wireless thermostat से नियंत्रित होता था
- thermostat अपने built-in temperature sensor से target temperature के अनुसार heating को on/off करता था
- वास्तविक उपयोग में तीन असुविधाएँ थीं
- sensor अपार्टमेंट के सिर्फ एक कमरे का तापमान मापता था, इसलिए हर कमरे में heating समान नहीं थी
- जिस कमरे में control unit हो, उसके अनुसार बिस्तर या living room से इस्तेमाल करना असुविधाजनक था
- बाहर जाने से पहले heating बंद न करें तो महंगी energy बेकार जाती थी
- घर में automation पहले से Home Assistant से हो रहा था, और heating को भी उसी तरह नियंत्रित करना चाहा गया
- बाज़ार में उपलब्ध समाधान थे, लेकिन उनमें मकान-मालिक के सहयोग और electrician की visit की ज़रूरत पड़ सकती थी, इसलिए मौजूदा thermostat को वैसे ही रखने का रास्ता चुना गया
protocol को समझने की जगह replay attack चुना गया
- शुरुआत इस तथ्य से हुई कि thermostat और boiler wireless protocol से संचार करते हैं
- protocol को शुरू से reverse engineer करना उपलब्ध radio knowledge के हिसाब से बहुत जटिल था
- चुना गया तरीका Replay Attack था
- boiler और thermostat के बीच signal की कॉपी बनाई जाती है
- कॉपी किए गए signal को फिर से transmit करके हमलावर thermostat जैसा दिखाई देता है
- protocol की सामग्री समझे बिना भी यह काम कर सकता है
- इस तरीके में डिवाइस implementation पर कुछ हद तक किस्मत भी निर्भर करती है
- अगर संचार में बढ़ता हुआ counter हो, तो पुराने signal को अनदेखा करके replay attack रोका जा सकता है
- इस thermostat में ऐसा तरीका नहीं था, इसलिए replay संभव था
signal band की पहचान और शुरुआती अवलोकन
- online सटीक thermostat model की जानकारी मिली, और datasheet के RF Communication सेक्शन से पुष्टि हुई कि यह
868MHz के आसपास का band इस्तेमाल करता है
- datasheet में
Protocol: Encrypted लिखा था, लेकिन replay method में यह बड़ी समस्या नहीं थी
868MHz signal cloning पर सामग्री बहुत कम थी
- LoRa/Meshtastic से जुड़ी सामग्री काफी थी
- ceiling fan या garage door जैसे डिवाइस clone करने की कोशिश वाले Reddit पोस्ट बहुत थे, लेकिन जवाब कम मिले
- अनुमान था कि अगर यह
433MHz होता तो consumer tools कहीं अधिक मिलते
- signal देखने के लिए Software-Defined Radio का उपयोग किया गया
- सस्ता RTL-SDR V4 खरीदा गया
- SDR++ में thermostat का button दबाने पर waterfall में signal दिखाई दिया
- Flipper Zero इस स्थिति के लिए उपयुक्त नहीं था
- Flipper Zero SDR नहीं है
- इसकी workable frequency range सीमित है, इसलिए इस डिवाइस पर इसे उपयोग नहीं किया जा सका
protocol के संकेत और असफल transmission प्रयास
- rtl_433 से यह जाँचा गया कि thermostat कोई ज्ञात protocol उपयोग करता है या नहीं
- नाम के विपरीत, यह अन्य frequencies पर भी काम करता है
- अधिक दुर्लभ डिवाइस पहचाने नहीं भी जा सकते
- नतीजे में यह thermostat अन्य Honeywell डिवाइस के समान protocol इस्तेमाल करता हुआ लगा
- संचार में
demand property boiler की स्थिति दिखाती थी
1 मतलब boiler on
0 मतलब boiler off
- boiler acknowledgement response भेजता था, जो शायद यह जाँचने के लिए था कि thermostat range से बाहर तो नहीं है
- इसके बाद packet सीधे बनाकर transmit करने की कोशिश की गई, लेकिन असफल रही
- URH से packet को manually reverse engineer और reconstruct करने की कोशिश की गई
- सस्ते
868MHz microcontroller board से transmit करने की कोशिश हुई
- वे board एक-दूसरे के साथ संचार के लिए अधिक उपयुक्त थे, और आगे बढ़ने के लिए radio registers को सीधे संभालना पड़ता
- यह काम अपनी technical capability से बाहर लगा
HackRF से signal को ज्यों का त्यों record और play करना
- अंत में HackRF का उपयोग करके signal की सामग्री समझे बिना उसे जस का तस replay करने का तरीका चुना गया
- मौजूदा RTL-SDR केवल receive कर सकता था, इसलिए transmission के लिए उपयोगी नहीं था
HackRF One आमतौर पर 400 डॉलर से अधिक का होता है, लेकिन AliExpress पर लगभग 40 डॉलर का clone मिला
- बाद में AliExpress पर “HackRF” खोजने से मिलने वाली अधिकतर listings गायब हो गईं
- नए clone OpenSourceSDRLab से खरीदे जा सकते हैं, लेकिन अब वे पहले जितने सस्ते नहीं हैं
- अगर संभव हो, तो Great Scott Gadgets के HackRF One जैसे मूल hardware project को support करना बेहतर है
- hackrf_transfer से on/off signal अलग-अलग record किए गए
# We set the frequency to 868.3Mhz and the sample rate to 2000000.
hackrf_transfer -r turn_off.raw -f 868300000 -s 2000000
hackrf_transfer -r turn_on.raw -f 868300000 -s 2000000
- उसी configuration से signal को replay करके CLI से boiler को on/off किया जा सका
# We use -a to turn on the amplifier and -x to increase the gain a tad.
hackrf_transfer -t turn_off.raw -f 868300000 -s 2000000 -a 1 -x 23
hackrf_transfer -t turn_on.raw -f 868300000 -s 2000000 -a 1 -x 23
- command चलाने के बाद boiler के अंदर के physical relay के on/off होने की आवाज़ सुनी जा सकती थी
Home Assistant से जोड़ने का तरीका
- HackRF को powered USB hub में लगाया गया और उसे Home Assistant server से जोड़ा गया
- Docker container के अंदर transmission command चलाने वाला एक साधारण web server लिखा गया
- Home Assistant में Average Sensor Plugin का उपयोग किया गया, और
command_line, average, generic_thermostat configuration को जोड़ा गया
command_line:
- switch:
name: Boiler
command_on: "curl http://docker-vm:1111/api/on"
command_off: "curl http://docker-vm:1111/api/off"
sensor:
- platform: average
name: "Average Temperature"
entities:
- sensor.bedroom_thermostat_temperature
- sensor.kitchen_thermostat_temperature
climate:
- platform: generic_thermostat
name: Boiler Thermostat
heater: switch.boiler
target_sensor: sensor.average_temperature
- इस configuration से bedroom और kitchen temperature sensor के औसत तापमान के आधार पर boiler नियंत्रित करने वाला thermostat बनाया गया
- implementation काफी हद तक अस्थायी जुगाड़ जैसा था
- dedicated Home Assistant plugin लिखना बेहतर होता
- CLI को shell से बुलाने की बजाय radio को सीधे नियंत्रित करना अधिक साफ़ तरीका होता
curl पर heating निर्भर होना कुछ असुविधाजनक है
वास्तविक उपयोग के परिणाम और बाकी सीमाएँ
- यह setup 2024 के दिसंबर की शुरुआत से अपार्टमेंट heating control के लिए उपयोग में है, और उसके बाद कोई समस्या नहीं आई
- फ़ोन से तापमान समायोजित करना सुविधाजनक है
- automation के उदाहरण इस प्रकार हैं
- सोते समय तापमान कम करना
- सुबह उठने के समय के अनुसार तापमान बढ़ाना
- शहर की ओर निकलने पर heating बंद करना
- घर लौटने से कुछ stops पहले heating फिर चालू करना ताकि पहुँचने पर घर गर्म मिले
- सबसे खटकने वाली बात यह है कि साधारण boiler on/off switch के लिए HackRF जैसे शक्तिशाली radio को लगातार इस्तेमाल करना पड़ता है
- छोटे radio को जबरन फिट करने में और समय लगाने के बजाय, कुछ ज़्यादा भारी समाधान होते हुए भी ठीक से काम करने वाले विकल्प को चुना गया
wireless transmission और blog comments पर कानूनी सावधानी
- wireless signal transmit करने से पहले स्थानीय नियमों की जाँच ज़रूर करनी चाहिए
- लेख में इस्तेमाल किया गया
868MHz band अमेरिका में बिना license transmission के लिए अवैध है
- 16 मार्च 2025 से ब्रिटेन का Online Safety Act पूरी तरह लागू होने के साथ, blog comments जैसे user-to-user content चलाने का बोझ बढ़ गया
- regulator Ofcom के व्यक्तिगत blog तक enforcement पहुँचने की संभावना कम है, लेकिन उल्लंघन पर 1.8 करोड़ पाउंड के जुर्माने का जोखिम होने से comment section हटा दिया गया
- self-hosted blog पर इस कानून के प्रभाव पर संबंधित कानूनी व्याख्या और hobbyist internet पर चर्चा भी साथ दी गई है
1 टिप्पणियां
Hacker News की राय
अगर लक्ष्य energy या cost बचाना है, तो ऐसा सिस्टम उल्टा कम पसंद आएगा जो 20 मिनट में ठंडे घर को गरमा दे
इसकी बजाय heating water circulation temperature को काफी कम पर चलाना बेहतर है, ताकि non-heated spaces में होने वाला loss घटे और पूरे कमरे में गर्मी ज्यादा समान रूप से फैले। अगर condensing boiler है, तो सिर्फ target flow temperature कम करके भी यह किया जा सकता है
इसके ऊपर outdoor temperature compensation (weather compensation) जोड़ दें, तो बाहर के तापमान के हिसाब से flow temperature adjust किया जा सकता है, ताकि building बस इतना ही चले कि target temperature तक मुश्किल से वापस पहुँचे
सही तरह से tune करने पर thermostat एक upper limit की तरह काम करता था, और दिन में 22~24 घंटे heating मांगता था, लेकिन overheat नहीं होने देता था। आम तौर पर flow temperature गर्म दिनों में 110°F और शून्य से नीचे के मौसम में 135°F के आसपास था, और पिछली सर्दियों के fixed 160°F flow की तुलना में gas usage 8~15% कम हुआ, साथ ही आराम भी काफी बेहतर था। हालांकि इस तरीके में recovery time लंबा होता है, इसलिए यह बड़े setback settings के साथ अच्छी तरह नहीं चलता; इसके लिए ज्यादा smart control चाहिए जो सामान्य समय में low temperature पर precision से चलाए और सिर्फ recovery phase में ज्यादा गर्म पानी इस्तेमाल करे
गर्मी temperature difference के अनुसार गर्म जगह से ठंडी जगह की ओर रैखिक रूप से चलती है। मान लें कि pipe temperature indoor temperature के बराबर है, तो transfer हुई सारी heat building envelope के बाहर निकल जाएगी, और pipe जितना ज्यादा गर्म होगा, यह अनुपात उतना बेहतर होगा। Pipe का कितना प्रतिशत envelope के अंदर है, उससे फर्क नहीं पड़ता
लेकिन अगर heating खिड़कियों के नीचे जैसी बाहरी दीवारों के साथ की जा रही है, तो indoor thermostat की तुलना में बाहरी दीवारें ज्यादा गर्म हो जाती हैं और बाहर की ओर loss बढ़ता है। वहीं radiant heating आम तौर पर इस प्रभाव से बचती है
यानी, उचित रूप से insulated घर में लगभग 20°C का कम लेकिन स्थिर तापमान बनाए रखना comfort के लिहाज से सबसे अच्छा है, और इससे heating water temperature भी कम रखा जा सकता है, जिससे heat pump या boiler की efficiency बेहतर होती है
fixed temperature पर छोड़ने और बाहर जाते समय ऊपर-नीचे करने या बंद करके घर लौटने से पहले वापस पहले जैसा करने की तुलना में लगभग कोई फर्क नहीं मिला, और power consumption भी लगभग समान था
अच्छा होता अगर लिंक होता, लेकिन उन tests में reheating की inefficient situations भी शामिल थीं। इसमें “emergency heating” भी शामिल था
बढ़िया hack है
इससे आसान तरीका शायद thermostat के नीचे Peltier heating/cooling element रखना और उसे remotely control करना होगा, ताकि thermostat जो temperature महसूस करे उसे अपने नियंत्रण में लिया जा सके
thermostat के exact model का लिंक काम नहीं कर रहा, इसलिए यह approach design के हिसाब से कितना फिट बैठता है, कहना मुश्किल है, लेकिन मैंने जिन thermostats का इस्तेमाल किया है वे आम तौर पर wall-mounted होते थे, इसलिए नीचे heat source या cold source रखना बहुत मुश्किल नहीं था। बस यह सुनिश्चित करना होता है कि गर्म और ठंडा हिस्सा एक साथ thermostat तक न पहुँचे, और वह तो सिर्फ placement की समस्या है
लगता है toolbox ही solution space को सच में तय करता है। मैं RF के बारे में बिल्कुल नहीं जानता, इसलिए यह लेख पढ़ते समय मेरे tools के हिसाब से एक दूसरा हमला तुरंत दिमाग में आया। क्या thermostat को किसी box में रखकर उस box का temperature mechanically control नहीं किया जा सकता?
फिर भी अगर thermostat के अंदर तक पहुँचा जा सकता है, तो temperature sensor को circuit से replace करके जरूरत के समय बहुत ऊँचा या बहुत नीचा reading दिलाना शायद मुश्किल नहीं होगा
पहली बार करने पर भी शायद 30 मिनट का काम है, और थोड़ा double-sided tape हो तो आसानी से वापस original हालत में लाया जा सकता है। Tracy Island बना चुके किसी ब्रिटिश व्यक्ति के लिए यह परिचित चीज होगी। electric shock का जोखिम सच में है, लेकिन boiler की power बंद कर दें तो उसे लगभग पूरी तरह घटाया जा सकता है
फिर भी यह मजेदार hack है, और अच्छी तरह implement किया गया है
मुझे यह जानने की जिज्ञासा है कि एक सामान्य-purpose thermostat का आदर्श रूप क्या होगा
हमारे अपार्टमेंट के thermostat में वह “feature” है जो आजकल कई अमेरिकी उत्पादों में होता है: आपको चार क्रमबद्ध समय—जागना, बाहर जाना, घर लौटना, और सोना—और हर अवधि के लिए इच्छित तापमान सेट करना पड़ता है। मैं लगभग किसी भी ऐसे परिवार को नहीं जानता जहाँ घर के सभी लोग हर दिन एक ही समय पर उठते हों, निकलते हों, लौटते हों और सोते हों
मैं घर से काम करता हूँ, इसलिए मैं बस एक ही तापमान सेट करके उसे अनिश्चित समय तक बनाए रखना चाहता हूँ, लेकिन इस सिस्टम में मनचाहा तापमान चार बार दबाकर दर्ज करना पड़ता है और चारों अवधियों को जाँचना भी पड़ता है
आखिरकार, शायद ऐसा ज़्यादा programmable thermostat बेहतर होगा जिसे पुराने dial thermostat की तरह व्यवहार करने के लिए सेट किया जा सके
आदर्श व्यवस्था यह होगी कि घर के सभी radiators पर smart thermostatic valves लगे हों, ताकि कमरे में कोई न हो तो उन्हें हाथ से कम किया जा सके या गतिविधि/खिड़की खुलने का अपने-आप पता लगाकर समायोजित किया जा सके। लेकिन केवल लिविंग रूम का मुख्य thermostat ही boiler चालू करने वाला न हो; ज़रूरत पड़ने पर हर valve के पास केंद्रीय boiler चालू करने का अधिकार होना चाहिए
मुझे रात में थोड़ा ठंडा पसंद है, इसलिए मैंने इसे ऐसे सेट किया है कि सामान्य सोने के समय के आसपास तापमान बदल जाए, और अगर मैंने दिन का तापमान समायोजित भी किया हो, तब भी यह अपने-आप वापस लौट आता है। मैं smart thermostat इसलिए इस्तेमाल करता हूँ क्योंकि मैं इसे फिर से बदलना याद नहीं रखना चाहता। जब मैं घर से निकलता हूँ तो यह पहचानकर Away पर चला जाता है, और छुट्टी पर होने पर मैं इसे ऐसे सेट कर सकता हूँ कि घर सुरक्षित रहे लेकिन आरामदायक न बनाया जाए, फिर विमान के उतरने के समय के आसपास इसे वापस किया जा सकता है
जब तक आपकी दिनचर्या पूरी तरह पागलपन भरी random न हो, या आप सोते समय, जागते समय, या घर से बाहर होने पर हमेशा एक ही तापमान नहीं चाहते, तब तक बस एक basic schedule बना लें और ज़रूरत पड़ने पर manual adjustment करें। अगर आप एक घंटा पहले उठ जाते हैं तो खुद बदल लें, और अगर समय पर उठते हैं तो कुछ भी सोचने की ज़रूरत नहीं
आप जिस तरह इस्तेमाल करना चाहते हैं, वह भी संभव है। standard program को 15°C पर रखें, और जब ज़रूरत हो तो अपने मनचाहे तापमान वाला holiday चालू कर दें। अगर इसे शाम के किसी ठीक-ठाक समय पर 15°C पर लौटने के लिए सेट कर दें, तो भूल जाने पर भी यह हमेशा चालू नहीं रहेगा
Flipper Zero बेहतरीन है, और अगर आप custom firmware इंस्टॉल करें तो hacking और investigation वाला सारा हिस्सा यह संभाल सकता है
मूल उत्पाद समझ में आने लायक कई सीमाओं वाले firmware के साथ आता है। शायद इसका मकसद कंपनी पर आने वाली आलोचना कम करना है। लेकिन Flipper Unleashed जैसी चीज़ इंस्टॉल करना बहुत आसान है, और फिर वे सीमाएँ हट जाती हैं और बहुत-से अतिरिक्त features मिल जाते हैं
केवल ऐसा tool रखना जिसे अपराध में इस्तेमाल किया जा सकता है, अपने-आप में अपराध नहीं है। लेकिन आप उससे क्या करते हैं, इस बारे में सावधान रहना चाहिए, और देश के अनुसार सूट पहने लोग आपके दरवाज़े पर दस्तक भी दे सकते हैं
व्यक्तिगत रूप से, मैं अपने उपकरणों—जैसे electric gate, roller door, roller shutter वगैरह—के “encrypted” 433MHz signals को replay करना चाहता था, लेकिन जब Flipper की region setting Australia पर थी, तब यह disabled था
तकनीकी खोजबीन और जिज्ञासा हमेशा प्रोत्साहित की जानी चाहिए, लेकिन Flipper Zero के उदाहरण में भी, jurisdiction चाहे जो हो, कुछ बातों को ध्यान में रखना चाहिए। अगर इस्तेमाल करने का इरादा नहीं है तो उसे साथ लेकर न घूमें। अभ्यास करने से पहले सारे दस्तावेज़ पढ़ें, और नज़र में आए बिना काम करने का अभ्यास करें। outdoor गतिविधियों से सीखा हुआ “कोई निशान न छोड़ो” वाला रवैया अपनाएँ। इस बात का ध्यान रखें कि आपकी मौजूदगी और आपके काम का वातावरण और लक्ष्य पर क्या असर पड़ेगा, और बाहरी देखने वाले उसे कैसे समझेंगे, और शक कम करने के उपाय करें
ये सिद्धांत disposable smartphones से लेकर Temu के सस्ते RFID card cloners तक बहुत-से उपकरणों पर लागू होते हैं
खासकर शुरुआती लोग अक्सर उत्साह में सीधे उस चरण पर कूदना चाहते हैं जहाँ वे TV और गेम के hackers जैसे दिखें। वे काल्पनिक पात्र हैं, इसके पीछे वजह है। आपका काम हानिरहित था या नहीं, आखिर में महत्वपूर्ण यह होता है कि सवाल पूछने वाला अधिकारी उसे कैसे देखता है
अगर आप decode करना चाहते हैं, तो शायद यह इतना कठिन नहीं होगा। मैंने बहुत पहले यह किया था, और transmitter side भी implement करने की कोशिश की थी, लेकिन घर बदलने के कारण पूरा नहीं कर पाया
https://blog.habets.se/2017/04/Decoding-FSK.html
मैं होता तो radio signal से छेड़छाड़ करने के बजाय thermostat को ही गर्म या ठंडा करने का तरीका अपनाता। उसके ऊपर एक छोटा डिब्बा चढ़ा दें, और किसी छोटे Peltier element जैसी चीज़ से उस डिब्बे के अंदर का तापमान नियंत्रित करें। heating चालू करनी हो तो डिब्बे के अंदर ठंडा करें, और बंद करानी हो तो गर्म करें
हालाँकि, हो सकता है कि hobby के तौर पर thermal control devices बनाने के कारण मुझे यह तरीका कहीं ज़्यादा आसान लग रहा हो
[0]: https://thex10shop.com/products/x10-powerhouse-th2807-thermo...
अगर मूल पोस्ट लिखने वाला यहाँ आए, तो संभव है कि बॉयलर के साथ compatible thermostat लगाकर ही कम पैसे और कम सिरदर्द में काम चल जाता। सिर्फ इस बात से कि उसे किसी random open source project में Honeywell signal मिला और वह काम भी कर गया, यह दिखता है कि बॉयलर बाज़ार काफ़ी हद तक प्रतिस्पर्धा के लिए खुला है
आगे के apartment customization के लिए शुभकामनाएँ
शानदार project है
अगर हीटर अपेक्षाकृत नया natural gas(CH4) heater है, तो उसमें OpenTherm/eBus जैसे protocol के ज़रिये modulating thermostat फीचर होना चाहिए। अगर इसे outdoor temperature sensor वाले thermostat के साथ जोड़ा जाए, तो system efficiency कुछ प्रतिशत बढ़ सकती है, और thermostat व installation cost की भरपाई में मदद मिलती है। आखिरकार इससे ज़्यादा efficient आधुनिक heating system मिलता है
यही बात heat pump system पर भी लागू होनी चाहिए
मैं एक नए apartment में नहीं, बल्कि घर में शिफ्ट हुआ, और उसे पूरी renovation की ज़रूरत थी। आधुनिक insulation नहीं था, लेकिन मैंने हिसाब लगाया कि फिलहाल insulation में निवेश का ROI सही नहीं बैठता। यह कई मंज़िलों वाला semi-detached house था, इसलिए मैं जितना संभव हो उतना comfortable और economical heating चाहता था
खासकर bedroom और living room में स्थिर और अलग-अलग नियंत्रित होने वाला तापमान, कुछ कमरों में underfloor heating, कुछ में radiator heating, और कुछ कमरों में कड़ाके की सर्दी में सिर्फ underfloor heating काफ़ी न हो सके इसलिए underfloor heating + radiator का combination चाहता था
मुझे लगा कि पैसे देकर किसी से control system configure करवा लूँगा। क्या यह आसान काम नहीं होना चाहिए था?
मैं पूरी तरह ग़लत था। “विशेषज्ञों” द्वारा सुझाए गए configuration को कुछ घंटे समझने के बाद ही मुझे ऐसे edge case मिल गए जहाँ बर्बादी होती या असुविधा पैदा होती। जैसे अनावश्यक और टाली न जा सकने वाली temperature overshoot या undershoot। Honeywell, Tado, Siemens आदि से कई बार बात की, लेकिन सबमें बड़ी खामियाँ थीं
इसकी वजह से renovation थोड़ी रुक गई, लेकिन piping तैयार थी, और मैं कम से कम यह देखना चाहता था कि piping और pump काम करते हैं या नहीं। इसलिए मैंने pump और valve को Zigbee-controlled smart plug से जोड़कर देखा कि वे ऑन होते हैं या नहीं। यह काम कर गया, और वहीं से विचार आगे बढ़ा
अब घर भर में 20 डॉलर वाले Zigbee temperature sensor लगे हैं, 30 डॉलर वाले smart plug और relay valve, pump और बॉयलर चलाते हैं, और Home Assistant सब कुछ control करता है। सब कुछ पूरी तरह काम करता है, और मैंने ऐसे फीचर भी बनाए हैं जो off-the-shelf system में संभव नहीं थे। उदाहरण के लिए, जिन कमरों में underfloor heating और radiator दोनों हैं, वहाँ अगर target temperature से फ़र्क ज़्यादा हो तो तेज़ी से गर्म करने के लिए दोनों heating चलती हैं, और target के पास पहुँचने पर radiator बंद हो जाता है ताकि underfloor heating मुख्य भूमिका निभाए। यह ज़्यादा comfortable है और radiator की तुलना में energy efficient भी। radiator वाले कमरे target के ±0.4°C के भीतर रहते हैं, और underfloor heating वाले कमरे ±0.1°C के भीतर
इसलिए वे लगभग हमेशा थोड़ा oversized और inefficient होते हैं, ताकि वे उन चीज़ों को भी संभाल लें जिन्हें simple model नज़रअंदाज़ कर देता है
सिर्फ heating ही नहीं, engineering का ज़्यादातर हिस्सा ऐसा ही है, और पूरी तरह optimized चीज़ें काफ़ी दुर्लभ हैं
“पूरा HVAC/heating industry ही बेवकूफ़ है और यह काम ठीक से नहीं कर पाता” ऐसा सोचने के बजाय, यह देखना बेहतर होगा कि कहीं आपकी अपनी assumptions या criteria ही ग़लत तो नहीं
उदाहरण के लिए, आधुनिक HVAC या heating system में undershoot/overshoot से बर्बादी या असुविधा नहीं होती। 1~2°F का overshoot यह नहीं बताता कि heated space उतनी ही हालत की तुलना में, जहाँ setpoint बिल्कुल सही पकड़ा गया हो, noticeably ज़्यादा heat खो रहा है। आप तुरंत प्रतिक्रिया देने वाला system भी नहीं चाहेंगे। अगर आप parcel लेने के लिए दरवाज़ा खोलें, हस्ताक्षर करें, और फिर बंद करें, तो कमरे की हवा काफ़ी ठंडी हो जाएगी
तो क्या इस समय heating चालू हो जानी चाहिए?
आपके घर में शायद हो जाएगी, लेकिन सही जवाब नहीं है। क्योंकि कमरे के तापमान पर मौजूद सारी वस्तुएँ उस हवा को बहुत जल्दी फिर से गर्म कर देंगी। सिर्फ surface area ही हज़ारों square feet से ज़्यादा होगा
Honeywell, JCI, Siemens, Trane, Carrier जैसे residential विकल्प शायद universal applicability पर ज़्यादा केंद्रित हैं, जबकि commercial BAS system, भले ही generic sensor और controller इस्तेमाल करें, फिर भी किसी खास building के लिए custom design के क़रीब होते हैं। संदर्भ के लिए, मैंने ऊपर बताए गए इन पाँचों कंपनियों के साथ building automation project किए हैं
कुछ लोगों की किस्मत इतनी खराब होती है कि वे ऐसा घर खरीद लेते हैं जिसका बॉयलर configuration किसी mechanical engineer ने डिज़ाइन किया होता है, और boiler room में इतने valve और pressure gauge लगे होते हैं जैसे Titanic के इंजन को चलाना हो
आजकल लगता है कि इस क्षेत्र का नया अपराधी programmer है