ऑटोमेशन की मदद से, होम में टास्क और डिवाइसों की सेटिंग को अपने-आप पूरा किया जा सकता है. ऑटोमेशन की सुविधा, 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 डिवाइस पर होम को इनिशियलाइज़ करना लेख पढ़ें.
अगर उपयोगकर्ता पूरी अनुमतियां रद्द कर देता है, तो उसके लिए दिशा-निर्देश
अगर उपयोगकर्ता पूरी अनुमतियां रद्द कर देता है, तो सभी मौजूदा ऑटोमेशन काम करना बंद कर देंगे. इसके अलावा, अगर उपयोगकर्ता किसी डिवाइस के ऐक्सेस को रद्द करता है, तो उस डिवाइस से जुड़े स्टार्टर, शर्तें, और कार्रवाइयां काम करना बंद कर देंगी.
ऐप्लिकेशन शुरू होने पर, पक्का करें कि अनुमतियां अब भी लागू हैं. अगर ये अनुमतियां रद्द कर दी गई हैं, तो पक्का करें कि पुराना सारा डेटा हटा दिया गया हो. इसमें ऐप्लिकेशन में कैश किया गया डेटा भी शामिल है.
स्ट्रक्चर का ऐक्सेस रद्द होने पर, आपके क्लाउड बैकएंड को StructureAccessRevokedEvent डिलीवर किया जाता है. पार्टनर के क्लाउड और मोबाइल ऐप्लिकेशन के लिए, सदस्यता रद्द करने के पूरे वर्कफ़्लो के बारे में जानने के लिए, स्ट्रक्चर ग्रांट लेख पढ़ें.
डेवलपर की यात्रा
ऑटोमेशन एपीआई, डेवलपमेंट के बड़े सफ़र का एक हिस्सा है. इसे स्ट्रक्चर और डिवाइस एपीआई को इंटिग्रेट करने के बाद लागू किया जाता है. इससे यह पक्का किया जाता है कि जब कोई उपयोगकर्ता ऑटोमेशन का इस्तेमाल करना चाहे, तो वह ऐसा कर सके.
- डेवलपर, ऑटोमेशन की योजना बनाता है और ऑटोमेशन डीएसएल का इस्तेमाल करके इसे तय करता है.
- डेवलपर, ऑटोमेशन की परिभाषा को Kotlin Android ऐप्लिकेशन में एम्बेड करता है.
- यह ऐप्लिकेशन, Discovery API या Device API का इस्तेमाल करके, उपयोगकर्ता के डिवाइसों की जानकारी इकट्ठा करता है. इसमें डिवाइस की खासियत, एट्रिब्यूट, कमांड, और इवेंट शामिल होते हैं. इस जानकारी के आधार पर, ऐप्लिकेशन उपयोगकर्ता को ऑटोमेशन की सुविधा देता है.
- Discovery API की मदद से, ऐप्लिकेशन एक ड्राफ़्ट ऑटोमेशन जनरेट कर सकता है. इसे उपयोगकर्ता के स्ट्रक्चर में मौजूद डिवाइसों के टाइप और विशेषताओं के हिसाब से बनाया जाता है. इसके लिए, उपयोगकर्ता के इनपुट की ज़रूरत हो भी सकती है और नहीं भी.
- डिवाइस एपीआई, Discovery API की तरह ही ज़्यादातर जानकारी दे सकता है. हालांकि, इसे ऑटोमेशन के इस्तेमाल के मामलों के लिए ऑप्टिमाइज़ नहीं किया गया है. ज़्यादा जानकारी के लिए, Device API और Discovery API की तुलना करना लेख पढ़ें.
- ऐप्लिकेशन, चुनी गई स्ट्रक्चर के हिसाब से ऑटोमेशन बनाता है.
- ऑटोमेशन अब उपयोगकर्ता के स्ट्रक्चर में उपलब्ध है. इसे स्ट्रक्चर एपीआई के तरीकों का इस्तेमाल करके लागू किया जा सकता है या मिटाया जा सकता है.
उपयोगकर्ता, ऑटोमेशन के नए इंस्टेंस कभी भी बना सकता है. इसके लिए, वह अलग स्ट्रक्चर चुन सकता है. इसके अलावा, ऐप्लिकेशन के लॉजिक के हिसाब से, शायद डिवाइसों का कोई अलग सेट भी चुन सकता है. ऐसा करने पर, ऐप्लिकेशन ऑटोमेशन का एक नया इंस्टेंस जनरेट करता है.
सबसे सामान्य स्थिति में, अपने उपयोगकर्ताओं को पहले से तय किया गया कोई ऐसा ऑटोमेशन सुझाया जा सकता है जो सामान्य टास्क पूरा करता हो. इसके अलावा, आपके पास ऑटोमेशन का एक ऐसा स्ट्रक्चर दिखाने का विकल्प भी है जिसे उपयोगकर्ता अपनी ज़रूरतों के हिसाब से पसंद के मुताबिक बना सकता है. इसके अलावा, एक ऐसा ऑटोमेशन एडिटर बनाया जा सकता है जिसमें उपयोगकर्ता को ऑटोमेशन एपीआई में उपलब्ध सभी बिल्डिंग ब्लॉक का इस्तेमाल करके, जटिल ऑटोमेशन बनाने की सुविधा मिलती हो.
ऑटोमेशन के सुझाव
होम एपीआई, Structure के लिए ऑटोमेशन के सुझाव दे सकते हैं. ये सुझाव, जगह में मौजूद डिवाइसों के टाइप जैसे फ़ैक्टर के आधार पर दिए जाते हैं.
ऑटोमेशन के सुझावों को AutomationSuggestion क्लास से दिखाया जाता है.
Structure इंटरफ़ेस में HasSuggestions इंटरफ़ेस शामिल होता है. यह suggestions() फ़ंक्शन उपलब्ध कराता है. यह फ़ंक्शन, ऑटोमेशन के सुझावों का कलेक्शन दिखाता है.
likeSuggestion() और dislikeSuggestion() तरीकों को और यूज़र इंटरफ़ेस (यूआई) कंट्रोल से कनेक्ट किया जाता है. उपयोगकर्ता इन पर टैप करके सुझाव/राय दे सकते हैं या शिकायत कर सकते हैं.
तीसरा तरीका,
clearSuggestionFeedback(),
उपयोगकर्ता को, ऑटोमेशन के लिए मिले सुझाव के बारे में दिए गए अपने सुझाव/राय या की गई शिकायत को हटाने की सुविधा देता है.
उपयोगकर्ता के सुझाव, शिकायत या राय से आने वाले समय में मिलने वाले सुझावों पर असर पड़ता है.
संसाधन की सीमाएं
होम एपीआई में ऑटोमेशन पर ये सीमाएं लागू होती हैं:
| मेट्रिक | सीमा |
|---|---|
| हर स्ट्रक्चर के लिए, ऑटोमेशन की ज़्यादा से ज़्यादा संख्या | 64 |
| हर ऑटोमेशन के लिए नोड की ज़्यादा से ज़्यादा संख्या | 128 |
| हर ऑटोमेशन के लिए एक्सप्रेशन नोड की ज़्यादा से ज़्यादा संख्या | 64 |
| हर स्ट्रक्चर के लिए, ऑटोमेशन इंस्टेंस की ज़्यादा से ज़्यादा संख्या | 1024 |
| हर डेवलपर के लिए, हर स्ट्रक्चर में ऑटोमेशन इंस्टेंस की ज़्यादा से ज़्यादा संख्या | 64 |
| हर दिन, हर स्ट्रक्चर के लिए ज़्यादा से ज़्यादा कितनी बार लागू किया जा सकता है | 1024 |
| हर डेवलपर के लिए, हर स्ट्रक्चर के हिसाब से हर दिन ज़्यादा से ज़्यादा बार अनुरोध किए जा सकते हैं | 128 |