आप ट्रेन में हैं, याद आता है कि हीटिंग अभी भी चालू है, और आपका फ़ोन पहले से ही एक चैट विंडो पर खुला है। ChatGPT में "लिविंग रूम का हीटिंग 17 पर कर दो और बताओ कि पिछला दरवाज़ा बंद है या नहीं" टाइप करना और घर को उसे पूरा करते हुए देखना पहले सिर्फ़ डेवलपर डेमो हुआ करता था। अब यह MCP, यानी Model Context Protocol, और Home Assistant में बने MCP Server इंटीग्रेशन के ज़रिए काम करता है। यह आर्टिकल बताता है कि इसके हिस्से आपस में कैसे जुड़ते हैं, आपको क्या तैयार करना है, कौन-से डिवाइस एक्सपोज़ करने लायक हैं, और किन्हें पहुँच से बाहर रखना चाहिए।
छोटे में कहें तो Home Assistant एक MCP server बन जाता है, ChatGPT client बन जाता है, और आपकी लाइट्स, थर्मोस्टैट और सेंसर वे tools बन जाते हैं जिन्हें चैटबॉट कॉल कर सकता है। कोई कस्टम कोड नहीं, बीच में कोई अतिरिक्त सर्विस नहीं, और एंटिटी की सूची पर नियंत्रण आपके हाथ में रहता है। अगर आप एक भरोसेमंद स्मार्ट होम ऑटोमेशन सेटअप खोज रहे हैं जिससे आप सरल भाषा में बात कर सकें, तो अभी यह सबसे साफ़ रास्ता है।

MCP आपके घर के लिए क्या करता है
MCP सरल शब्दों में
MCP एक ओपन प्रोटोकॉल है, जो किसी AI ऐप को tools, prompts और resources के एक मानक सेट के ज़रिए बाहरी सिस्टम से बात करने देता है। हर चैटबॉट अपना अलग प्लगइन फ़ॉर्मैट बनाने के बजाय, एक ही सर्वर किसी भी ऐसे client को सेवा दे सकता है जो यह प्रोटोकॉल समझता हो। Home Assistant, वह ओपन सोर्स हब जो पहले से हज़ारों डिवाइसों से बात करता है, अब उस सर्वर की भूमिका निभा सकता है।
जब आप ChatGPT से कोई लैंप डिम करने को कहते हैं, तो मॉडल किसी वेब रिक्वेस्ट का अंदाज़ा नहीं लगाता। वह Home Assistant द्वारा प्रकाशित tools की सूची पढ़ता है, सही tool चुनता है, एंटिटी का नाम और ब्राइटनेस भरता है, और नतीजे का इंतज़ार करता है। आप जो जवाब पढ़ते हैं, वह मॉडल की कल्पना से नहीं, बल्कि आपके घर से असल में मिले नतीजे से बनता है।
दो दिशाएँ, दो इंटीग्रेशन
लोग इन दोनों को अक्सर आपस में मिला देते हैं, इसलिए यह बँटवारा देखिए:
| इंटीग्रेशन | दिशा | यह क्या करता है | कब इस्तेमाल करें |
|---|
| MCP Server | ChatGPT से Home Assistant | ChatGPT Assist API के ज़रिए आपके घर को कॉल करता है | आप ChatGPT ऐप से अपने घर से चैट करना चाहते हैं |
| OpenAI Conversation | Home Assistant से OpenAI मॉडल | Assist अपने "दिमाग" के रूप में एक OpenAI मॉडल इस्तेमाल करता है | आप स्पीकर और वॉल पैनल पर ज़्यादा स्मार्ट वॉइस कमांड चाहते हैं |
| MCP client integration | Home Assistant से दूसरे MCP सर्वर | Assist बाहरी tools तक पहुँचता है | आप चाहते हैं कि आपका असिस्टेंट कैलेंडर या दूसरी सेवाएँ इस्तेमाल करे |
यह आर्टिकल पहली पंक्ति पर केंद्रित है। आप तीनों को एक साथ बिना किसी टकराव के चला सकते हैं।
💡 टिप: किचन के वॉइस असिस्टेंट के लिए OpenAI Conversation इस्तेमाल करें, और फ़ोन से टाइप की गई चैट के लिए MCP Server। ये अलग-अलग समस्याएँ हल करते हैं और एक ही एक्सपोज़्ड एंटिटी साझा करते हैं।
कनेक्ट करने से पहले क्या चाहिए
हार्डवेयर और वर्ज़न की जाँच
MCP Server इंटीग्रेशन Home Assistant 2025.2 में आया था, इसलिए कोई भी मौजूदा इंस्टॉल इसे रखता है। किसी सेटिंग को छूने से पहले सुनिश्चित करें कि आपके पास ये हों:
- एक चालू Home Assistant इंस्टेंस (Raspberry Pi, मिनी PC, NAS कंटेनर, कुछ भी जो स्थिर चले)
- ऐसे डिवाइस जो Home Assistant के अंदर पहले से काम करते हों
- Assist कॉन्फ़िगर किया हुआ, क्योंकि सर्वर Assist API को एक्सपोज़ करता है
- सेटअप के लिए एक एडमिन अकाउंट, और ChatGPT के लिए एक दूसरा अकाउंट (इस पर बाद में और बात होगी)

नामकरण हार्डवेयर से ज़्यादा मायने रखता है। "Light 3" और "Switch 12" जैसे एंटिटी नाम चैट के लिए खराब टारगेट हैं। पहले उनका नाम "Desk lamp" या "Hallway heater" रखें, क्योंकि मॉडल इन्हीं लेबल के आधार पर tools और टारगेट चुनता है।
एक सार्वजनिक HTTPS पता
यही वह कदम है जहाँ ज़्यादातर लोग अटक जाते हैं। रिमोट कनेक्शन के लिए Home Assistant का सार्वजनिक HTTPS URL चाहिए, या Home Assistant Cloud। ChatGPT आपके endpoint को इंटरनेट से कॉल करता है, इसलिए homeassistant.local:8123 जैसा लोकल पता कभी काम नहीं करेगा। आपके पास तीन व्यावहारिक विकल्प हैं:
- Home Assistant Cloud, सबसे छोटा रास्ता जिसमें सबसे कम मेंटेनेंस लगता है
- आपका अपना डोमेन वैध सर्टिफ़िकेट वाले रिवर्स प्रॉक्सी के पीछे
- एक टनल सर्विस जिस पर आप पहले से भरोसा करते हों, जो आपके इंस्टेंस की ओर इशारा करे
⚠️ इंटरनेट के लिए कभी भी सादा HTTP पोर्ट न खोलें। यह endpoint आपके घर के डिवाइस चालू-बंद कर सकता है, इसलिए इसे सामने के दरवाज़े की तरह समझें।
लोकल क्लाइंट की कहानी अलग है। डॉक्यूमेंटेशन mcp-proxy को stdio आधारित tools के लिए एक ब्रिज बताता है, जिसके साथ एक लॉन्ग-लिव्ड टोकन जुड़ता है। यह आपके अपने नेटवर्क पर चलने वाले डेस्कटॉप ऐप्स के लिए ठीक है, लेकिन ChatGPT के क्लाउड कनेक्टर के लिए नहीं।

ChatGPT प्लान और डेवलपर मोड
Home Assistant डॉक्स ChatGPT के Plus, Pro और उससे ऊपर के प्लान को समर्थित client के रूप में सूचीबद्ध करते हैं। कस्टम MCP कनेक्टर ChatGPT सेटिंग्स में, connectors वाले हिस्से में, डेवलपर मोड के पीछे होते हैं। मेनू के नाम रिलीज़ के हिसाब से बदलते रहते हैं, इसलिए "Connectors" या कोई अतिरिक्त सेटिंग्स सेक्शन खोजें और डेवलपर मोड चालू करें। प्लान के नियम भी समय-समय पर बदलते हैं, इसलिए सेटअप में एक शाम लगाने से पहले जाँच लें कि आपके अपने सब्सक्रिप्शन में क्या शामिल है।
Home Assistant की ओर सेटअप करें
MCP Server इंटीग्रेशन जोड़ें
- Settings खोलें, फिर Devices & services चुनें।
- Add integration चुनें और Model Context Protocol Server खोजें।
- सेवा देने के लिए Assist API चुनें।
- डायलॉग पूरा करें।
अब endpoint /api/mcp पर लाइव है, और Assist API विशेष रूप से /api/mcp/assist पर जवाब देता है। सर्वर Streamable HTTP पर चलता है, इसलिए यहाँ कोई लंबे समय तक चलने वाला सॉकेट नहीं है जिसकी देखभाल करनी पड़े। ऑनलाइन पुराने ट्यूटोरियल अलग endpoint दिखा सकते हैं, इसलिए आप जो वर्ज़न चला रहे हैं उसके लिए इंटीग्रेशन पेज पर भरोसा करें।
तय करें कि ChatGPT क्या देख सकता है
Home Assistant वॉइस असिस्टेंट सेटिंग्स के exposed entities पेज में चुनी हुई सूची को ही मानता है। वहाँ जो आप एक्सपोज़ करते हैं, केवल वही कनेक्टर को दिखता है, और वह एक सूची आपका सबसे महत्वपूर्ण सुरक्षा नियंत्रण है। शुरुआत के लिए इस टेबल का इस्तेमाल करें:
| श्रेणी | उदाहरण | सलाह |
|---|
| एक्सपोज़ करना सुरक्षित | लाइट्स, सीन, पंखे, मीडिया प्लेयर | यहीं से शुरू करें |
| सेंसर | तापमान, आर्द्रता, दरवाज़े के कॉन्टैक्ट, ऊर्जा उपयोग | स्वभाव से केवल पढ़ने वाले, सवालों के लिए आदर्श |
| दो बार सोचें | थर्मोस्टैट, हीटर, सिंचाई, मोटराइज़्ड ब्लाइंड्स | गलती से पैसे या आराम का नुकसान होता है |
| बाहर रखें | लॉक, गैराज दरवाज़े, अलार्म पैनल, कैमरे | नीचे दिए जोखिम वाले हिस्से को देखें |
OAuth या टोकन चुनें
Home Assistant दो तरीकों से ऑथेंटिकेट करता है। पहला है IndieAuth के ज़रिए OAuth, जिसमें client एक URL-आधारित client ID से खुद की पहचान कराता है। दूसरा है लॉन्ग-लिव्ड एक्सेस टोकन, जिसे उन clients के लिए आप अपनी यूज़र प्रोफ़ाइल के Security टैब से बनाते हैं, जिनमें OAuth नहीं है।
एक सीमा जानना उपयोगी है: Home Assistant Dynamic Client Registration (RFC 7591) को सपोर्ट नहीं करता, इसलिए जो client इस पर अड़ा हो, वह रजिस्टर नहीं कर पाएगा। जब भी कनेक्टर की स्क्रीन OAuth दे, उसे प्राथमिकता दें। एक्सेस रद्द किया जा सकता है, और आपको कभी चैट सेटिंग में कोई सीक्रेट नहीं चिपकाना पड़ता। अगर स्क्रीन केवल टोकन फ़ील्ड दे, तो लॉन्ग-लिव्ड टोकन काम करता है, लेकिन उसे पासवर्ड की तरह सँभालकर रखें।

ChatGPT को चरण-दर-चरण कनेक्ट करें
- ChatGPT सेटिंग्स में डेवलपर मोड चालू करें।
- एक नया कस्टम कनेक्टर बनाएँ (बटन का लेबल अलग-अलग रिलीज़ में अलग होता है)।
- उसे "Home" जैसा छोटा नाम दें और "Controls lights, climate and sensors in my house" जैसा सरल विवरण लिखें। यह विवरण मॉडल को तय करने में मदद करता है कि इसे कब इस्तेमाल करना है।
- अपना सार्वजनिक URL चिपकाएँ, जो
/api/mcp पर खत्म होता हो, जैसे https://home.example.com/api/mcp।
- अगर मिले तो OAuth चुनें, फिर Home Assistant द्वारा दिखाई गई लॉगिन स्क्रीन को मंज़ूरी दें।
- एक नई चैट खोलें, कनेक्टर चालू करें, और पहला सवाल पूछें।
हानिरहित कमांड से टेस्ट करें
धीरे-धीरे, एक-एक कदम करके आगे बढ़ें। केवल-पढ़ने वाले सवाल से शुरू करें: "बेडरूम का तापमान क्या है?" फिर किसी ऐसी चीज़ को आज़माएँ जिसे पलटा जा सके: "डेस्क लैंप 30 प्रतिशत पर चालू करें।" जब ये दोनों काम कर जाएँ, तभी कोई संयुक्त अनुरोध माँगें, जैसे "लिविंग रूम डिम करो, ब्लाइंड्स बंद करो और बताओ कि कोई खिड़की खुली है या नहीं।"
💡 टिप: हर टेस्ट के बाद Home Assistant में Logbook खोलें। वह दिखाता है कि कौन-सी एंटिटी कब बदली, और यह जानने का सबसे तेज़ तरीका है कि ChatGPT ने असल में क्या किया।
जब कनेक्शन विफल हो
| लक्षण | संभावित कारण | समाधान |
|---|
| कनेक्टर सर्वर तक नहीं पहुँच पाता | URL सार्वजनिक नहीं है या HTTPS नहीं है | मोबाइल डेटा पर अपने फ़ोन से URL खोलें |
| लॉगिन लूप या रजिस्ट्रेशन एरर | Client को Dynamic Client Registration चाहिए | लॉन्ग-लिव्ड टोकन या कोई दूसरा client आज़माएँ |
| Tool सूची खाली लौटती है | कोई एंटिटी एक्सपोज़ नहीं है | वॉइस असिस्टेंट सेटिंग्स में एंटिटी एक्सपोज़ करें |
| गलत डिवाइस प्रतिक्रिया देता है | डुप्लिकेट या अस्पष्ट नाम | एंटिटी का नाम बदलें, एरिया और एलियस जोड़ें |
| धीमे जवाब | बहुत ज़्यादा एक्सपोज़्ड एंटिटी | सूची को उतना ही रखें जितना आप सच में इस्तेमाल करते हैं |
जो असली कमांड अच्छी तरह काम करते हैं
लाइट्स और सीन
लाइटिंग सबसे आसान जीत है, क्योंकि नतीजे तुरंत दिखते हैं और अगर मॉडल आपकी बात गलत समझ ले तो भी कुछ नहीं टूटता। भरोसे से काम करने वाले वाक्यांश:
- "हॉलवे को छोड़कर ग्राउंड फ़्लोर की हर लाइट बंद करें।"
- "लिविंग रूम को गर्म और धीमी रोशनी पर सेट करो, लगभग 20 प्रतिशत।"
- "मूवी सीन चालू करो।"

सबसे अच्छी तरकीब है कि सीन Home Assistant के अंदर बनाएँ और ChatGPT को उनका नाम लेकर चलाने दें। "Movie night" वाले एक tool कॉल की विश्वसनीयता बारह अलग-अलग लाइट एडजस्टमेंट से ज़्यादा होती है, और आप अपने प्रॉम्प्ट छुए बिना सीन को बारीकी से ट्यून कर सकते हैं।
क्लाइमेट और रूटीन
यहाँ मॉडल अपनी उपयोगिता साबित करता है, क्योंकि वह एक तय नियम चलाने के बजाय जानकारी को मिला सकता है। पूछें "अभी कौन-से कमरे 22 डिग्री से गर्म हैं?" या "हीटिंग चालू होने पर क्या कहीं कोई खिड़की खुली है?" और वह कई सेंसर पढ़कर एक वाक्य में जवाब देता है। एक साधारण वॉइस असिस्टेंट हर सवाल के लिए अलग कस्टम ऑटोमेशन के बिना यह नहीं कर सकता।

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

💡 टिप: अगर आप हर दिन एक ही क्रम दोहराते हैं, तो उसे Home Assistant ऑटोमेशन में बदल दें। चैट का इस्तेमाल अपवादों और सवालों के लिए करें, और तय शेड्यूल को ऑटोमेशन सँभालने दें।
लॉक, अलार्म और दूसरे जोखिम
यह endpoint शक्तिशाली है, और यही वजह है कि यह हिस्सा ज़रूरी है। चैटबॉट कोई वाक्य गलत समझ सकता है, और खराब शब्दों वाले अनुरोध के भौतिक परिणाम हो सकते हैं।
संवेदनशील डिवाइस बाहर रखें
लॉक, गैराज दरवाज़े, अलार्म पैनल और कैमरे एक्सपोज़्ड सूची में नहीं होने चाहिए। गलती से दिया गया ऐसा कमांड जो सामने का दरवाज़ा खोल दे, या ऐसा अनुरोध जो अलार्म बंद कर दे, गलत कमरे में लाइट जलने से कहीं बड़ी समस्या है।

एक और, ज़्यादा सूक्ष्म जोखिम भी है जिसे prompt injection कहते हैं। अगर वही चैट किसी दूसरे स्रोत से टेक्स्ट पढ़ती है, जैसे किसी वेब पेज या किसी दूसरे कनेक्टर के ज़रिए आया ईमेल, तो उस टेक्स्ट के अंदर छिपे निर्देश मॉडल को आपके घर के tools कॉल करने पर धकेल सकते हैं। अपने Home कनेक्टर को अलग चैट में रखें, उन दूसरे कनेक्टरों से दूर जो ऐसी सामग्री पढ़ते हैं जिस पर आपका नियंत्रण नहीं है।
एक अलग, कम-अधिकार वाला यूज़र
Home Assistant में सिर्फ़ ChatGPT के लिए एक अलग नॉन-एडमिन यूज़र बनाएँ, और कनेक्टर को अनुमति देते समय उसी अकाउंट से साइन इन करें। एक्सपोज़्ड एंटिटी की सूची फिर भी असली गेट है, लेकिन अलग पहचान आपके एडमिन अकाउंट को बाहर रखती है और एक क्लिक में एक्सेस रद्द करने देती है। एक छोटी-सी रूटीन मदद करती है:
- एक्सपोज़्ड एंटिटी की सूची को हर कुछ महीने में देखें
- जो कार्रवाइयाँ आप नहीं पहचानते, उनके लिए Logbook जाँचें
- जो लॉन्ग-लिव्ड टोकन अब इस्तेमाल नहीं करते, उन्हें रोटेट या डिलीट करें
- अगर ChatGPT का इस्तेमाल बंद कर दें, तो उससे कनेक्टर हटा दें
PicassoIA पर GPT 5.4 कैसे इस्तेमाल करें
एक भी डिवाइस एक्सपोज़ करने से पहले एक मज़बूत लैंग्वेज मॉडल ज़मीन तैयार कर सकता है। वह बेहतर एंटिटी नाम सुझा सकता है, सीन का ड्राफ़्ट बना सकता है, और ऑटोमेशन के लिए YAML लिख सकता है जिसे आप बाद में Home Assistant में चिपकाते हैं। यह काम के लिए GPT 5.4 PicassoIA पर उपयुक्त है, क्योंकि यह लंबे और विस्तृत निर्देशों का पालन करता है और टेक्स्ट के साथ इमेज भी स्वीकार करता है।
- PicassoIA पर GPT 5.4 पेज खोलें।
- अपनी एंटिटी नामों की सूची प्रॉम्प्ट फ़ील्ड में चिपकाएँ और पूछें: "इन डिवाइसों के लिए साफ़ नाम और तीन उपयोगी सीन सुझाओ।"
- भूमिका तय करने के लिए system prompt भरें, जैसे: "आप छोटी टिप्पणियों के साथ वैध Home Assistant YAML लिखते हैं। केवल YAML आउटपुट दें।"
- सीधे YAML के लिए verbosity को low रखें, और जब आप तर्क समझाना चाहें तो high।
- सरल नाम बदलने के लिए reasoning_effort को none पर रखें। कई चरणों वाले ऑटोमेशन के लिए इसे medium या high करें।
- image input के ज़रिए फ़ोटो अपलोड करें, जैसे आपके डैशबोर्ड का स्क्रीनशॉट या फ़्यूज़ पैनल पर लगा लेबल, और मॉडल से पूछें कि वह कौन-से डिवाइस देखता है।
| सेटिंग | आज़माने लायक मान | क्यों |
|---|
| verbosity | low | छोटा, चिपकाने लायक आउटपुट |
| reasoning_effort | नाम बदलने के लिए none, ऑटोमेशन के लिए medium या high | सरल कामों के लिए गति, तर्क के लिए गहराई |
| max_completion_tokens | effort ऊँचा होने पर बढ़ाएँ | रीज़निंग पूरा बजट इस्तेमाल कर सकती है और जवाब खाली छोड़ सकती है |
| system_prompt | "केवल YAML आउटपुट दें" | बातूनी जवाबों को रोकता है जो कॉपी-पेस्ट तोड़ते हैं |
⚠️ सेव करने से पहले हर जनरेट किया गया ऑटोमेशन ज़रूर पढ़ें। मॉडल ऐसा एंटिटी नाम गढ़ सकता है जो आपके घर में मौजूद ही नहीं है।
अगर आप उसी प्रॉम्प्ट पर दूसरी राय चाहते हैं, तो Claude Sonnet 5 और Gemini 3.5 Flash भी प्लेटफ़ॉर्म के लार्ज लैंग्वेज मॉडल संग्रह में उपलब्ध हैं।
अपने घर के लिए विज़ुअल बनाएँ
स्मार्ट होम तब बेहतर दिखता है जब उसकी स्क्रीन आसपास के कमरों से मेल खाती हों। अपने सेटअप के लिए तस्वीरें बनाने में आप Picasso IA का इस्तेमाल कर सकते हैं: वॉल टैबलेट के लिए शांत बैकग्राउंड, हर कमरे के लिए मूड बोर्ड, या उस ब्लॉग पोस्ट के लिए हेडर इमेज जहाँ आप अपना बिल्ड दर्ज करते हैं।

पहले तीन मॉडल आज़माने लायक हैं:
- प्राकृतिक, फ़ोटोग्राफ़िक इंटीरियर के लिए Seedream 4.5
- फ़र्नीचर और मटीरियल में तीखी डिटेल के लिए Flux 2 Pro
- जब सीन में कुछ शब्द पढ़ने लायक टेक्स्ट चाहिए, तब GPT Image 2
"A cozy living room at dusk, warm lamp light, a wall tablet by the bookshelf, natural film photography, 35mm lens" जैसा प्रॉम्प्ट आज़माएँ और एक बार में एक डिटेल बदलें: दिन का समय, लेंस, कमरा। कुछ कोशिशों में आपके पास ऐसी इमेज का सेट होगा जो आपके घर पर फ़िट बैठे, और जो आदत आपके Home Assistant सीन में छोटे बदलाव टेस्ट करने में काम आती है, वही तस्वीरों में भी काम करती है। Picasso IA खोलें, कोई मॉडल चुनें, और आज ही अपनी पहली इमेज बनाएँ।