Android पर Automation API की खास जानकारी

ऑटोमेशन की मदद से, घर में टास्क और डिवाइस की सेटिंग को ऑटोमेट किया जा सकता है. Google Home के इकोसिस्टम में, ऑटोमेशन की सुविधा पहले से उपलब्ध है. इसे Google Home app (GHA) में रूटीन के तौर पर और automation script editor पर Google Home for web की मदद से इस्तेमाल किया जा सकता है.

अब Google Home के इकोसिस्टम में, ऑटोमेशन की सुविधा Android के लिए Home API की मदद से भी उपलब्ध है. इनमें रूटीन और script editor में इस्तेमाल किए जाने वाले बुनियादी कॉन्सेप्ट का इस्तेमाल किया जाता है. हालांकि, इनमें बेहतर सुविधाएं और क्षमताएं होती हैं. ये सुविधाएं और क्षमताएं सिर्फ़ Home API की मदद से उपलब्ध होती हैं. इनमें ये शामिल हैं:GHA

  • किसी डिवाइस के लिए, सभी Matter स्टैंडर्ड और smart home प्रॉपर्टी को ऐक्सेस करना. ये प्रॉपर्टी, Home API में दिखती हैं.
  • सीक्वेंशियल, पैरलल, और चुनिंदा एक्ज़ीक्यूशन फ़्लो के लिए सहायता.

ऑटोमेशन, Automation DSL का इस्तेमाल करके लिखे जाते हैं. यह खास तौर पर डोमेन के लिए बनी लैंग्वेज है. इसे Kotlin में ऑटोमेशन बनाने के लिए डिज़ाइन किया गया है.

डिवाइस और स्ट्रक्चर या Automation API के साथ, अपने ऐप्लिकेशन में इस्तेमाल की जाने वाली सभी प्रॉपर्टी और टाइप को, शुरू में ही रजिस्टर करना ज़रूरी है. Android पर होम को शुरू करने का तरीका देखें .

पूरी अनुमतियां वापस लेने पर दिशा-निर्देश

अगर उपयोगकर्ता पूरी अनुमतियां वापस ले लेता है, तो मौजूदा सभी ऑटोमेशन काम करना बंद कर देंगे. इसके अलावा, अगर उपयोगकर्ता कुछ डिवाइसों के लिए ऐक्सेस वापस ले लेता है, तो उन डिवाइसों से जुड़े स्टार्टर, शर्तें, और कार्रवाइयां काम करना बंद कर देंगी.

हर बार ऐप्लिकेशन शुरू होने पर, यह पक्का करें कि अनुमतियां अब भी लागू हैं. अगर अनुमतियां वापस ले ली गई हैं, तो यह पक्का करें कि पिछला सारा डेटा हटा दिया गया है. इसमें ऐप्लिकेशन में कैश किया गया डेटा भी शामिल है.

डेवलपर का अनुभव

Automation API, डेवलपमेंट के बड़े अनुभव का एक हिस्सा है. इसे स्ट्रक्चर और डिवाइस एपीआई को इंटिग्रेट करने के बाद इस्तेमाल किया जाता है, ताकि यह पक्का किया जा सके कि जब कोई उपयोगकर्ता ऑटोमेशन का इस्तेमाल करना चाहे, तो वह ऐसा कर सके.

  1. डेवलपर, अपने ऑटोमेशन की योजना बनाता है और Automation DSL का इस्तेमाल करके इसे तय करता है.
  2. डेवलपर, ऑटोमेशन की परिभाषा को Kotlin Android ऐप्लिकेशन में एम्बेड करता है.
  3. ऐप्लिकेशन, उपयोगकर्ताओं को उनके डिवाइसों के बारे में जानकारी के आधार पर ऑटोमेशन दिखाता है. इसमें प्रॉपर्टी, एट्रिब्यूट, कमांड, और इवेंट शामिल हैं. यह जानकारी, Discovery API या Device API का इस्तेमाल करके इकट्ठा की जाती है.
    1. Discovery API की मदद से, ऐप्लिकेशन, ऑटोमेशन का ड्राफ़्ट जनरेट कर सकता है. इसे उपयोगकर्ता के स्ट्रक्चर में मौजूद डिवाइस के टाइप और प्रॉपर्टी के हिसाब से बनाया जाता है. इसके लिए, उपयोगकर्ता से इनपुट लिया भी जा सकता है और नहीं भी.
    2. Device API, Discovery API के जैसी ज़्यादातर जानकारी दे सकता है. हालांकि, इसे ऑटोमेशन के इस्तेमाल के मामलों के लिए ऑप्टिमाइज़ नहीं किया गया है. ज़्यादा जानकारी के लिए, Device API और Discovery API की तुलना देखें.
  4. ऐप्लिकेशन, असल ऑटोमेशन बनाता है. इसे चुने गए स्ट्रक्चर के हिसाब से सेट किया जाता है.
  5. ऑटोमेशन अब उपयोगकर्ता के स्ट्रक्चर में उपलब्ध है. इसे Structure API के तरीकों का इस्तेमाल करके, एक्ज़ीक्यूट या मिटाया जा सकता है.

उपयोगकर्ता, ऑटोमेशन के नए इंस्टेंस कभी भी बना सकता है. इसके लिए, वह कोई दूसरा स्ट्रक्चर चुन सकता है या ऐप्लिकेशन के लॉजिक के हिसाब से, डिवाइसों का कोई दूसरा सेट चुन सकता है. हर बार ऐसा करने पर, ऐप्लिकेशन, ऑटोमेशन का नया इंस्टेंस जनरेट करता है.

सबसे बुनियादी स्थिति में, अपने उपयोगकर्ताओं को पहले से तय किया गया कोई ऐसा ऑटोमेशन सुझाया जा सकता है जो कोई आसान टास्क पूरा करता हो. इसके अलावा, ऑटोमेशन का कोई ऐसा ढांचा दिखाया जा सकता है जिसे उपयोगकर्ता अपनी ज़रूरत के हिसाब से बना सके. या फिर, कोई ऐसा ऑटोमेशन एडिटर लिखा जा सकता है जिसमें उपयोगकर्ता, Automation API में उपलब्ध सभी बिल्डिंग ब्लॉक का इस्तेमाल करके, मुश्किल ऑटोमेशन बना सके.

ऑटोमेशन के सुझाव

Home API, Structure के लिए ऑटोमेशन के सुझाव दे सकते हैं. ये सुझाव, जगह में मौजूद डिवाइस के टाइप जैसे फ़ैक्टर के आधार पर दिए जाते हैं.

ऑटोमेशन के सुझाव, AutomationSuggestion क्लास के तौर पर दिखाए जाते हैं.

Structure इंटरफ़ेस में HasSuggestions इंटरफ़ेस शामिल होता है. इसमें suggestions() फ़ंक्शन होता है. यह फ़ंक्शन, ऑटोमेशन के सुझावों का कलेक्शन दिखाता है.

The likeSuggestion() और dislikeSuggestion() तरीकों को, और यूज़र इंटरफ़ेस (यूआई) कंट्रोल से जोड़ा जाता है. उपयोगकर्ता, सुझाव/राय देने के लिए इन पर टैप कर सकता है.

तीसरा तरीका, clearSuggestionFeedback(), है. इसकी मदद से, उपयोगकर्ता, सुझाए गए ऑटोमेशन के लिए अपनी राय हटा सकता है.

उपयोगकर्ता की राय के आधार पर, आने वाले समय में बेहतर सुझाव दिए जाते हैं.

संसाधन की सीमाएं

Home API में ऑटोमेशन पर ये सीमाएं लागू होती हैं:

टेबल: Automation API के संसाधन की सीमाएं
मेट्रिक सीमा
हर स्ट्रक्चर के लिए, ज़्यादा से ज़्यादा ऑटोमेशन की संख्या 64
हर ऑटोमेशन के लिए, ज़्यादा से ज़्यादा नोड की संख्या 128
हर ऑटोमेशन के लिए, ज़्यादा से ज़्यादा एक्सप्रेशन नोड की संख्या 64
हर स्ट्रक्चर के लिए, ज़्यादा से ज़्यादा ऑटोमेशन इंस्टेंस की संख्या 1024
हर स्ट्रक्चर के लिए, हर डेवलपर के लिए ज़्यादा से ज़्यादा ऑटोमेशन इंस्टेंस की संख्या 64
हर स्ट्रक्चर के लिए, हर दिन ज़्यादा से ज़्यादा एक्ज़ीक्यूशन की संख्या 1024
हर स्ट्रक्चर के लिए, हर डेवलपर के लिए हर दिन ज़्यादा से ज़्यादा एक्ज़ीक्यूशन की संख्या 128