ऑटोमेशन की मदद से, घर में टास्क और डिवाइस की सेटिंग को ऑटोमेट किया जा सकता है. Google Home के इकोसिस्टम में, ऑटोमेशन की सुविधा Google Home app (GHA) में रूटीन के तौर पर उपलब्ध है. इसके अलावा, इसे automation script editor पर मौजूद Google Home for web की मदद से भी इस्तेमाल किया जा सकता है.
अब Google Home के इकोसिस्टम में, ऑटोमेशन की सुविधा Android के लिए Home API के ज़रिए भी उपलब्ध है. इनमें GHA रूटीन और script editor में इस्तेमाल किए जाने वाले बुनियादी कॉन्सेप्ट का इस्तेमाल किया जाता है. हालांकि, इनमें बेहतर सुविधाएं और क्षमताएं होती हैं. ये सुविधाएं और क्षमताएं सिर्फ़ Home API के ज़रिए उपलब्ध होती हैं. इनमें ये शामिल हैं:
- किसी डिवाइस के लिए, सभी Matter स्टैंडर्ड और smart home प्रॉपर्टी को ऐक्सेस करना. ये प्रॉपर्टी, Home API में दिखती हैं.
- सीक्वेंशियल, पैरलल, और चुनिंदा एक्ज़ीक्यूशन फ़्लो के लिए सहायता.
ऑटोमेशन, Automation DSL का इस्तेमाल करके लिखे जाते हैं. यह खास तौर पर डोमेन के लिए बनी लैंग्वेज है, जिसे Kotlin में ऑटोमेशन बनाने के लिए डिज़ाइन किया गया है.
डिवाइस और स्ट्रक्चर या Automation API के साथ, अपने ऐप्लिकेशन में इस्तेमाल की जाने वाली सभी प्रॉपर्टी और टाइप को, शुरू में ही रजिस्टर करना ज़रूरी है. Android पर होम को शुरू करने का तरीका देखें .
उपयोगकर्ता के सभी अनुमतियां वापस लेने पर दिशा-निर्देश
अगर उपयोगकर्ता सभी अनुमतियां वापस ले लेता है, तो मौजूदा सभी ऑटोमेशन काम करना बंद कर देंगे. इसके अलावा, अगर उपयोगकर्ता कुछ डिवाइसों के लिए ऐक्सेस वापस ले लेता है, तो उन डिवाइसों से जुड़े स्टार्टर, शर्तें, और कार्रवाइयां काम करना बंद कर देंगी.
हर बार ऐप्लिकेशन शुरू होने पर, यह पक्का करें कि अनुमतियां अब भी लागू हैं. अगर अनुमतियां वापस ले ली गई हैं, तो यह पक्का करें कि पिछला सारा डेटा हटा दिया गया हो. इसमें ऐप्लिकेशन में कैश किया गया डेटा भी शामिल है.
डेवलपर का अनुभव
Automation API, डेवलपमेंट के बड़े अनुभव का एक हिस्सा है. इसे स्ट्रक्चर और डिवाइस एपीआई को इंटिग्रेट करने के बाद इस्तेमाल किया जाता है, ताकि यह पक्का किया जा सके कि जब कोई उपयोगकर्ता ऑटोमेशन का इस्तेमाल करना चाहे, तो वह ऐसा कर सके.
- डेवलपर, अपने ऑटोमेशन की योजना बनाता है और इसे Automation DSL का इस्तेमाल करके तय करता है.
- डेवलपर, ऑटोमेशन की परिभाषा को Kotlin Android ऐप्लिकेशन में एम्बेड करता है.
- ऐप्लिकेशन, उपयोगकर्ताओं को उनके डिवाइसों के बारे में जानकारी के आधार पर ऑटोमेशन दिखाता है. इसमें प्रॉपर्टी, एट्रिब्यूट, कमांड, और इवेंट शामिल हैं. यह जानकारी, Discovery API या Device API का इस्तेमाल करके इकट्ठा की जाती है.
- Discovery API की मदद से, ऐप्लिकेशन, ऑटोमेशन का ड्राफ़्ट जनरेट कर सकता है. इसे उपयोगकर्ता के स्ट्रक्चर में मौजूद डिवाइस के टाइप और प्रॉपर्टी के हिसाब से बनाया जाता है. इसके लिए, उपयोगकर्ता से इनपुट लिया भी जा सकता है और नहीं भी.
- Device API, Discovery API के जैसी ही ज़्यादातर जानकारी दे सकता है. हालांकि, इसे ऑटोमेशन के इस्तेमाल के मामलों के लिए ऑप्टिमाइज़ नहीं किया गया है. ज़्यादा जानकारी के लिए, Device API और Discovery API की तुलना देखें.
- ऐप्लिकेशन, असली ऑटोमेशन बनाता है. यह ऑटोमेशन, चुने गए स्ट्रक्चर के लिए होता है.
- ऑटोमेशन अब उपयोगकर्ता के स्ट्रक्चर में उपलब्ध है. इसे Structure API के तरीकों का इस्तेमाल करके, एक्ज़ीक्यूट या मिटाया जा सकता है.
उपयोगकर्ता, किसी भी समय ऑटोमेशन के नए इंस्टेंस बना सकता है. इसके लिए, वह कोई दूसरा स्ट्रक्चर चुन सकता है या ऐप्लिकेशन के लॉजिक के हिसाब से, डिवाइसों का कोई दूसरा सेट चुन सकता है. ऐसा करने पर, ऐप्लिकेशन, ऑटोमेशन का नया इंस्टेंस जनरेट करता है.
सबसे बुनियादी स्थिति में, अपने उपयोगकर्ताओं को पहले से तय किया गया ऐसा ऑटोमेशन सुझाया जा सकता है जो अपेक्षाकृत बुनियादी टास्क करता हो. इसके अलावा, ऑटोमेशन का ऐसा ढांचा दिखाया जा सकता है जिसे उपयोगकर्ता अपनी ज़रूरत के हिसाब से पसंद के मुताबिक बना सके. या फिर, ऐसा ओपन-एंडेड ऑटोमेशन एडिटर लिखा जा सकता है जिसकी मदद से उपयोगकर्ता, Automation API में उपलब्ध सभी बिल्डिंग ब्लॉक का इस्तेमाल करके, जटिल ऑटोमेशन बना सके.
ऑटोमेशन के सुझाव
Home API,
Structure के लिए ऑटोमेशन के सुझाव दे सकते हैं. ये सुझाव,
स्पेस में मौजूद डिवाइस के टाइप जैसे फ़ैक्टर के आधार पर दिए जाते हैं.
ऑटोमेशन के सुझावों को
AutomationSuggestion
क्लास से दिखाया जाता है.
Structure इंटरफ़ेस में HasSuggestions इंटरफ़ेस शामिल होता है. इसमें suggestions() फ़ंक्शन होता है. यह फ़ंक्शन, ऑटोमेशन के सुझावों का कलेक्शन दिखाता है.
The
likeSuggestion()
और
dislikeSuggestion()
तरीकों को,
और
यूज़र इंटरफ़ेस (यूआई) कंट्रोल से जोड़ा जाता है. उपयोगकर्ता, सुझाव/राय देने या शिकायत करने के लिए इन कंट्रोल पर टैप कर सकता है.
तीसरा तरीका,
clearSuggestionFeedback(),
है. इसकी मदद से, उपयोगकर्ता, सुझाए गए ऑटोमेशन के लिए अपनी राय हटा सकता है.
उपयोगकर्ता की राय के आधार पर, आने वाले समय में बेहतर सुझाव दिए जाते हैं.
संसाधन की सीमाएं
Home API में ऑटोमेशन पर ये सीमाएं लागू होती हैं:
| मेट्रिक | सीमा |
|---|---|
| हर स्ट्रक्चर के लिए, ऑटोमेशन की ज़्यादा से ज़्यादा संख्या | 64 |
| हर ऑटोमेशन के लिए, नोड की ज़्यादा से ज़्यादा संख्या | 128 |
| हर ऑटोमेशन के लिए, एक्सप्रेशन नोड की ज़्यादा से ज़्यादा संख्या | 64 |
| हर स्ट्रक्चर के लिए, ऑटोमेशन के इंस्टेंस की ज़्यादा से ज़्यादा संख्या | 1024 |
| हर स्ट्रक्चर के लिए, हर डेवलपर के लिए ऑटोमेशन के इंस्टेंस की ज़्यादा से ज़्यादा संख्या | 64 |
| हर स्ट्रक्चर के लिए, हर दिन एक्ज़ीक्यूशन की ज़्यादा से ज़्यादा संख्या | 1024 |
| हर स्ट्रक्चर के लिए, हर डेवलपर के लिए हर दिन एक्ज़ीक्यूशन की ज़्यादा से ज़्यादा संख्या | 128 |