ऑटोमेशन एपीआई का इस्तेमाल शुरू करने से पहले, आपको अपने ऑटोमेशन डिज़ाइन करने होंगे.
हर ऑटोमेशन के लिए, ये पैरामीटर तय करें:
- वे स्थितियां जिनमें उपयोगकर्ता को ऑटोमेशन का सुझाव दिया जाना चाहिए. उदाहरण के लिए, अगर उपयोगकर्ता ने अपने होम में अभी-अभी तीन नई लाइटें जोड़ी हैं, तो हो सकता है कि वह लाइटों को कंट्रोल करने के लिए, किसी खास ऑटोमेशन में दिलचस्पी ले.
- ऑटोमेशन के लिए, किस तरह के डिवाइस ज़रूरी हैं. उदाहरण के लिए, अगर उपयोगकर्ता ने अपने होम में अभी-अभी तीन नई लाइटें जोड़ी हैं, तो हो सकता है कि वह लाइटों को कंट्रोल करने के लिए, किसी खास ऑटोमेशन में दिलचस्पी ले. लाइट डिवाइस के उदाहरण के तौर पर,
OnOffLightDevice
,ColorTemperatureLightDevice
,DimmableLightDevice
याExtendedColorLightDevice
शामिल हैं. - ऑटोमेशन के लिए, ट्रीट एट्रिब्यूट और निर्देशों की ज़रूरत होती है. साथ ही, यह भी ज़रूरी है कि वे Android पर ऑटोमेशन एपीआई के साथ काम करते हों.
- ऐसे ट्रैट जो ऑटोमेशन को स्टार्टर के तौर पर चालू करते हैं. स्टार्टर के बारे में Android पर ऑटोमेशन कॉम्पोनेंट में बताया गया है.
- अतिरिक्त शर्तें, जिनसे यह तय होता है कि ऑटोमेशन को असल में चलाया जाना चाहिए या नहीं. साथ ही, यह भी तय होता है कि कौनसी कार्रवाइयां की जानी हैं.
- ऑटोमेशन के लिए, प्रोसेस को पूरा करने का फ़्लो. क्या इसे क्रम से या एक साथ चलाया जाना चाहिए? क्या आपको एक से ज़्यादा लॉजिक पाथ की ज़रूरत है?
डिज़ाइन करते समय, ऑटोमेशन के फ़्लो को नोड के हिसाब से, हर चरण में ज़रूरी लॉजिक के साथ डायग्राम में दिखाना मददगार हो सकता है.
ऑटोमेशन डिज़ाइन करने के बाद, उसे बनाने के लिए ऑटोमेशन डीएसएल का इस्तेमाल करें. आपका बनाया गया ऑटोमेशन, एक "टेंप्लेट" होता है. इसमें मौजूद सभी स्ट्रक्चर और डिवाइस प्लेसहोल्डर होते हैं. जब कोई उपयोगकर्ता अपने काम के लिए ऑटोमेशन को "अपनाता" है, तो उसमें हर उपयोगकर्ता के खास स्ट्रक्चर और डिवाइस अपने-आप जुड़ जाते हैं.
यहां अलग-अलग तरह के ऑटोमेशन के बारे में बताया गया है. ये ऑटोमेशन, कोई ऐप्लिकेशन Home API का इस्तेमाल करके बना सकता है. इन उदाहरणों से जुड़े कोड के कुछ हिस्सों के लिए, ऑटोमेशन बनाएं पेज देखें.
आसान ऑटोमेशन
मान लें कि आपको एक ऐसा ऐप्लिकेशन लिखना है जो सुबह 8:00 बजे, अपने-आप ब्लाइंड को ऊपर करने वाला ऑटोमेशन बनाता है. ऐसा करने के लिए, ऐप्लिकेशन को स्ट्रक्चर में मौजूद उन ब्लाइंड (WindowCoveringDevice
डिवाइस टाइप वाले डिवाइस) की सूची की ज़रूरत होती है जो ऑटोमेशन के साथ काम करते हैं. यह सूची, डिस्कवरी एपीआई से मिल सकती है.
जिन ऑटोमेशन को किसी खास समय पर चलाना है उनके लिए, आपको यह भी पक्का करना होगा कि उपयोगकर्ता ने Google Home app (GHA) में चुने गए स्ट्रक्चर के लिए, कोई सड़क पता असाइन किया हो. ऐसा न करने पर, ऑटोमेशन को यह पता नहीं चलेगा कि उसे किस टाइम ज़ोन में चलाना है. डिस्कवरी एपीआई की मदद से, यह पता लगाया जा सकता है कि स्ट्रक्चर को कोई पता असाइन किया गया है या नहीं.
इसलिए, प्रोसेस को पूरा करने का फ़्लो कुछ ऐसा दिखेगा:
- Discovery API का इस्तेमाल करके,
WindowCoveringDevice
डिवाइसों की सूची इकट्ठा करें. - अगर मोहल्ले का पता अपने-आप नहीं भरा है, तो उपयोगकर्ता को बताएं कि उसे मोहल्ले का पता देना होगा और प्रोसेस को रोक दें.
- इसके अलावा, ऑटोमेशन तय करें:
- ऑटोमेशन को सुबह 8:00 बजे शुरू करें.
- हर ब्लाइंड के लिए,
WindowCovering
ट्रैट केupOrOpen
कमांड का इस्तेमाल करें.
जटिल ऑटोमेशन
मान लें कि कोई ऐसा ऐप्लिकेशन है जो ऑटोमेशन बनाता है. यह ऑटोमेशन, किसी गतिविधि का पता चलने पर, लाइटें चमकने की सुविधा को ट्रिगर करता है.
इस ऐप्लिकेशन को लागू करने के लिए, सबसे पहले यह पता करना होता है कि उपयोगकर्ता के घर में कौनसी लाइटें उपलब्ध हैं. इसके लिए, डिस्कवरी एपीआई का इस्तेमाल किया जाता है. इस जानकारी की मदद से, आपका ऐप्लिकेशन अब उपलब्ध लाइटें दिखा सकता है. साथ ही, उपयोगकर्ता को यह चुनने की अनुमति भी दे सकता है कि उसे कौनसी लाइटें ब्लिंक करनी हैं.
प्रोसेस को लागू करने का फ़्लो:
- डिस्कवरी एपीआई का इस्तेमाल करके, स्ट्रक्चर में मौजूद लाइट डिवाइसों की सूची इकट्ठा करें. ये ऐसे डिवाइस होंगे जिनका डिवाइस टाइप
OnOffLightDevice
,ColorTemperatureLightDevice
,DimmableLightDevice
याExtendedColorLightDevice
होगा. - ब्लिंक करने वाली लाइटों को चुनने का तरीका दें. इसके लिए, कस्टम सेटिंग पैनल का इस्तेमाल किया जा सकता है.
- ऑटोमेशन तय करें:
AreaPresenceState
को मॉनिटर करके, जब भी कोई व्यक्ति आपके कारोबार की जगह पर आए या वहां से जाए, तब ऑटोमेशन शुरू करें.- अगर
presenceState
से पता चलता है कि स्ट्रक्चर में कोई व्यक्ति मौजूद है, तो चुनी गई लाइटों को ब्लिंक करें.
सामान्य ऑटोमेशन
बेहतर ऑटोमेशन के उदाहरण के लिए, ऐसा ऑटोमेशन देखें जो उपयोगकर्ता को, घर में मौजूद किसी भी या सभी डिवाइसों के आधार पर, ओपन-एंड ऑटोमेशन बनाने में मदद करता हो.
ऑटोमेशन, उपयोगकर्ता को पहले कोई स्ट्रक्चर चुनने के लिए कह सकता है.
इसके बाद, ऑटोमेशन से स्ट्रक्चर के सभी रूम, बड़ा किए जा सकने वाले आउटलाइन व्यू में दिखाए जा सकते हैं. किसी रूम को बड़ा करने पर, उसमें मौजूद डिवाइस दिखते हैं. किसी डिवाइस को और बड़ा करने पर, उस डिवाइस पर काम करने वाले स्टार्टर और निर्देशों की सूची दिखती है.
उपयोगकर्ता उन डिवाइसों, स्टार्टर, और निर्देशों को चुन सकता है जिनका इस्तेमाल करना है. इसके बाद, ऑटोमेशन की सुविधा, उपयोगकर्ता को ऑटोमेशन को असेंबल करने में मदद करेगी.
जब उपयोगकर्ता की सभी पसंद और फ़ैसले फ़ाइनल हो जाएंगे, तब ऑटोमेशन जनरेट हो जाएगा और उसे उपयोगकर्ता के चुने गए स्ट्रक्चर में सेव कर दिया जाएगा.
हाई लेवल पर, इस तरह के ऑटोमेशन को Android के लिए Structure API, Android के लिए डिवाइस एपीआई, और डिस्कवरी एपीआई का इस्तेमाल करके, उपयोगकर्ता के होम के बारे में डेटा के कई सेट इकट्ठा करने होंगे.
एपीआई | जानकारी |
---|---|
Structure API |
|
Device API |
|
Discovery API |
|