Home API, Google Home के नेटवर्क में मौजूद सभी डिवाइसों को एक ही डेटा मॉडल में दिखाते हैं. यह डेटा मॉडल, Google Nest या तीसरे पक्ष के मैन्युफ़ैक्चरर के सभी तरह के डिवाइसों को कवर करता है. भले ही, उनमें स्मार्ट होम टेक्नोलॉजी (जैसे, Matter या Cloud-to-cloud) इस्तेमाल की गई हो या नहीं. साथ ही, यह smart home और मोबाइल ऐप्लिकेशन डेवलपर, दोनों के लिए उपयोगकर्ता अनुभव बनाने के लिए एक सामान्य एपीआई प्लैटफ़ॉर्म उपलब्ध कराता है.
Device types
Home API में दिखाए गए डिवाइस टाइप, Matter और Cloud-to-cloud डेटा मॉडल के यूनिफ़ाइड वर्शन हैं. कुछ एट्रिब्यूट, सीधे Matter से लिए जाते हैं. कुछ, Matter डिवाइस टाइप के एक्सटेंशन होते हैं. कुछ एट्रिब्यूट, Cloud-to-cloud से लिए जाते हैं.
डिवाइस टाइप में ऐसे ट्रैट होते हैं जिनका इस्तेमाल डिवाइसों को कंट्रोल और मैनेज करने के लिए किया जाता है. डिवाइस टाइप की तरह, ट्रेट Matter क्लस्टर और Cloud-to-cloud ट्रेट से मिलते हैं. साथ ही, इन्हें एक सामान्य फ़ॉर्मैट में दिखाया जाता है, जो Matter क्लस्टर से मिलता-जुलता है. Home API में, Matter से मिले ट्रैट को क्लस्टर नहीं, बल्कि ट्रैट कहा जाता है.
इसलिए, Home API में डिवाइस टाइप और खास बातों को Matter-पहले के तौर पर इस्तेमाल किया जाना चाहिए. Matter डिवाइस टाइप या ट्रेट को Cloud-to-cloud एनालॉग के मुकाबले प्राथमिकता दी जाती है.
डिवाइस के टाइप और उनके लक्षण की सूची देखने के लिए, इस्तेमाल किए जा सकने वाले डिवाइस टाइप देखें.
विशेषताएं
Home API में इस्तेमाल करने के लिए, ट्रेट के Kotlin वर्शन जनरेट किए जाते हैं. इनमें Home API के लिए खास सुविधाएं होती हैं, जो Matter या Cloud-to-cloud में नहीं मिलती हैं. उदाहरण के लिए, हर ट्रेट में यह देखने के तरीके होते हैं कि कोई ट्रेट किसी खास एट्रिब्यूट या कमांड के साथ काम करता है या नहीं. यह तय करने के लिए कि उपयोगकर्ता के डिवाइस पर, स्थिति पढ़ने या कुछ कार्रवाइयां की जा सकती हैं या नहीं, यह जानकारी काम की होती है. ऐसा इसलिए, क्योंकि किसी डिवाइस टाइप के सभी डिवाइसों में एक जैसी सुविधाएं नहीं होती हैं.
हर ट्रैट अपने नेमस्पेस में होता है और इस्तेमाल करने के लिए, उसे अलग से इंपोर्ट करना होता है.
उदाहरण के लिए, Matter चालू/बंद करने की सुविधा और चालू/बंद करने की प्लग-इन यूनिट डिवाइस टाइप का इस्तेमाल करने के लिए, अपने ऐप्लिकेशन में ये पैकेज इंपोर्ट करें:
import com.google.home.matter.standard.OnOff
import com.google.home.matter.standard.OnOffPluginUnitDevice
Google स्मार्ट होम के गराज में मौजूद डिवाइस के टाइप के लिए, Matter और Google के टाइप का इस्तेमाल करें:
import com.google.home.google.LockUnlock
import com.google.home.matter.standard.DoorLock
import com.google.home.matter.standard.GoogleGarageDevice
Android Studio में अपने-आप पूरा होने की सुविधा होती है. साथ ही, आपके प्रोजेक्ट में सोर्स फ़ाइलों में import
लाइनें जोड़ते समय, अक्सर पैकेज के पूरे नाम को मैनेज करेगी. हालांकि, पैकेज के नाम सभी डिवाइस टाइप और विशेषताओं के लिए एक जैसे नहीं होते. हर DeviceType
या Trait
के लिए, पैकेज के सही नाम की पुष्टि करने के लिए रेफ़रंस देखें.
ट्रैट का इस्तेमाल, ऑटोमेशन के साथ भी किया जा सकता है. हालांकि, ऐसा सीमित तौर पर किया जा सकता है. साथ ही, कुछ ट्रैट सिर्फ़ ऑटोमेशन के लिए उपलब्ध हैं. सूची देखने के लिए, Automation API के ट्रैट के लिए सहायता देखें.
डिवाइस टाइप का कंपोज़िशन
Home API, डेटा मॉडल में Matter 1.3 ऐप्लिकेशन क्लस्टर के तौर पर, ज़्यादातर ट्रैट के साथ काम करते हैं. Home के एपीआई के ज़रिए, ऐसे ट्रैट नहीं दिखाए जाते जो डिवाइस के कंट्रोल या स्थितियों से मेल नहीं खाते. साथ ही, असली उपयोगकर्ताओं के लिए कोई फ़ायदा नहीं देते. जैसे, बाइंडिंग और ग्रुप.
आम तौर पर, Cloud-to-cloud स्मार्ट होम ट्रैट से मिले ट्रैट का नाम, Cloud-to-cloud और Home API में एक ही होता है. जैसे, OpenClose के उदाहरण में. अन्य एट्रिब्यूट को Matter एट्रिब्यूट के एक्सटेंशन के तौर पर दिखाया जाता है. इन्हें Matter मैन्युफ़ैक्चरर के हिसाब से बनाए गए एक्सटेंशन का इस्तेमाल करके बनाया जाता है. ये ट्रैट, smart home ट्रैट के लिए उस अंतर को पूरा करते हैं जहां फ़ंक्शन को Matter SDK टूल और Google Home के पारिस्थितिक तंत्र के बीच बांटा जाता है. इसका एक उदाहरण, Google*
डिवाइस टाइप हैं, जो Cloud-to-cloud से आते हैं, लेकिन जिनमें अब तक Matter के एनालॉग नहीं हैं.
डिवाइस टाइप, एक या दोनों सोर्स, Matter या Cloud-to-cloud के ट्रैट से बनाए जाते हैं.
उदाहरण के लिए, फ़ैन डिवाइस टाइप में दोनों एट्रिब्यूट होते हैं. साथ ही, इसमें FanControl के दो ट्रैट होते हैं:
- FanControl Matter ट्रैट, Matter FanControl ट्रैट की सभी सुविधाएं उपलब्ध कराता है
- ExtendedFanControl Google ट्रैट, Google smart home FanSpeed ट्रैट की सभी सुविधाएं उपलब्ध कराता है. ये सुविधाएं, FanControl Matter ट्रैट में शामिल नहीं हैं
इस तरह के ट्रैट कॉम्पोज़िशन से, डिवाइस टाइप की पूरी सुविधा के लिए एक फ़्लेक्सिबल मॉडल मिलता है. इसमें, smart home डेटा मॉडल को अलग रखा जाता है.