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

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

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

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

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

डिवाइस और स्ट्रक्चर या ऑटोमेशन एपीआई के साथ अपने ऐप्लिकेशन में इस्तेमाल किए जाने वाले सभी टाइप और ट्रेट, शुरू में ही रजिस्टर किए जाने चाहिए. Android डिवाइस पर होम को इनिशियलाइज़ करना लेख पढ़ें.

अगर उपयोगकर्ता पूरी अनुमतियां वापस लेता है, तो उसके लिए दिशा-निर्देश

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

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

डेवलपर की यात्रा

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

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

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

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

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

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

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

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

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

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

उपयोगकर्ता के सुझाव, शिकायत या राय से आने वाले समय में मिलने वाले सुझावों पर असर पड़ता है.

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

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

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