Android पर डेटा मॉडल

Android के लिए 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 APIs में, Matter से मिले ट्रैट को ट्रैट कहा जाता है, न कि क्लस्टर.

इसलिए, Home API में डिवाइस टाइप और खास बातों को Matter-पहले के तौर पर इस्तेमाल किया जाता है. Matter डिवाइस टाइप या ट्रेट को Cloud-to-cloud एनालॉग के मुकाबले प्राथमिकता दी जाती है.

डिवाइस के टाइप और उनके ट्रैट की सूची के लिए, Android पर काम करने वाले डिवाइस के टाइप देखें.

विशेषताएं

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 के लिए, पैकेज के सही नाम की पुष्टि करने के लिए रेफ़रंस देखें.

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

डिवाइस टाइप का कंपोज़िशन

Home API, डेटा मॉडल में Matter 1.3 ऐप्लिकेशन क्लस्टर के तौर पर, ज़्यादातर ट्रैट के साथ काम करते हैं. Home API के ज़रिए ऐसे ट्रैट नहीं दिखाए जाते जो डिवाइस के कंट्रोल या स्थितियों से मेल नहीं खाते. साथ ही, असली उपयोगकर्ताओं के लिए कोई फ़ायदा नहीं देते. जैसे, बाइंडिंग और ग्रुप.

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 डेटा मॉडल को अलग रखा जाता है.