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 के लिए ऑटोमेशन के सुझाव दे सकते हैं. ये सुझाव, जगह में मौजूद डिवाइसों के टाइप जैसे फ़ैक्टर के आधार पर दिए जाते हैं.

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

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

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

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

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

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

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

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