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