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 के ज़रिए उपलब्ध कराई जा सकती हैं. इनमें ये शामिल हैं:

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

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

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

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

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

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

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

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

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

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

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