Android पर डेटा मॉडल

Android के लिए Home APIs, Google Home इकोसिस्टम में मौजूद सभी डिवाइसों को एक ही डेटा मॉडल में दिखाता है. यह डेटा मॉडल, सभी तरह के डिवाइसों (Google Nest या तीसरे पक्ष के मैन्युफ़ैक्चरर के डिवाइस) को कवर करता है. भले ही, स्मार्ट होम की टेक्नोलॉजी (जैसे, Matter या Cloud-to-cloud) कोई भी हो. साथ ही, यह smart home और मोबाइल ऐप्लिकेशन डेवलपर, दोनों के लिए उपयोगकर्ता अनुभव बनाने के लिए, एक सामान्य एपीआई प्लैटफ़ॉर्म उपलब्ध कराता है.

Device types

Home APIs में दिखाए गए डिवाइस टाइप, Matter और Cloud-to-cloud डेटा मॉडल का एकीकरण हैं. कुछ डिवाइस टाइप सीधे Matter से लिए गए हैं, कुछ Matter डिवाइस टाइप के एक्सटेंशन हैं, और कुछ Cloud-to-cloud से लिए गए हैं.

डिवाइस टाइप में ऐसी विशेषताएं होती हैं जिनका इस्तेमाल, डिवाइसों को कंट्रोल और मैनेज करने के लिए किया जाता है. डिवाइस टाइप की तरह, विशेषताएं भी Matter क्लस्टर और Cloud-to-cloud की विशेषताओं से ली जाती हैं. इन्हें Matter क्लस्टर के फ़ॉर्मैट जैसा ही सामान्य फ़ॉर्मैट में दिखाया जाता है. Home APIs में, Matter-से ली गई विशेषताओं को विशेषताएं कहा जाता है, न कि क्लस्टर.

इसलिए, Home APIs में डिवाइस टाइप और विशेषताओं को Matter-first के तौर पर इस्तेमाल किया जाता है. A Matter डिवाइस टाइप या विशेषता को, Cloud-to-cloud के एनालॉग से ज़्यादा प्राथमिकता दी जाती है.

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

विशेषताएं

Home APIs में इस्तेमाल करने के लिए, विशेषताओं के Kotlin वर्शन जनरेट किए जाते हैं. इनमें Home APIs से जुड़ी अतिरिक्त सुविधाएं होती हैं. ये सुविधाएं, Matter या Cloud-to-cloud में नहीं होतीं. उदाहरण के लिए, हर विशेषता में यह देखने के तरीके होते हैं कि कोई विशेषता, किसी खास एट्रिब्यूट या कमांड के साथ काम करती है या नहीं. इससे यह तय करने में मदद मिलती है कि उपयोगकर्ता के डिवाइस पर, स्थिति को पढ़ा जा सकता है या कुछ कार्रवाइयां की जा सकती हैं या नहीं. ऐसा इसलिए, क्योंकि यह ज़रूरी नहीं है कि किसी डिवाइस टाइप के सभी डिवाइसों में एक जैसी सुविधाएं हों.

हर विशेषता, अपने नेमस्पेस में शामिल होती है. इसका इस्तेमाल करने के लिए, इसे अलग से इंपोर्ट करना ज़रूरी है.

उदाहरण के लिए, Matter On/Off विशेषता और On/Off प्लग-इन यूनिट डिवाइस टाइप का इस्तेमाल करने के लिए, अपने ऐप्लिकेशन में ये पैकेज इंपोर्ट करें:

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 APIs, डेटा मॉडल में ज़्यादातर Matter ऐप्लिकेशन क्लस्टर को विशेषताओं के तौर पर इस्तेमाल करने की सुविधा देते हैं. ऐसी विशेषताएं जो डिवाइस कंट्रोल या स्थितियों से जुड़ी नहीं होती हैं और असली उपयोगकर्ताओं के लिए कोई सुविधा नहीं देती हैं, उन्हें Home APIs के ज़रिए नहीं दिखाया जाता. जैसे, बाइंडिंग और ग्रुप.

Cloud-to-cloud स्मार्ट होम की विशेषताओं से ली गई विशेषताओं के नाम, आम तौर पर Cloud-to-cloud और Home APIs में एक जैसे होते हैं. जैसे, OpenClose. अन्य विशेषताओं को, Matter की विशेषताओं के एक्सटेंशन के तौर पर दिखाया जाता है. इन्हें Matter मैन्युफ़ैक्चरर के हिसाब से खास एक्सटेंशन का इस्तेमाल करके बनाया जाता है. ये विशेषताएं, किसी ऐसी smart home विशेषता के लिए अंतर को कम करती हैं जिसकी सुविधा, Matter SDK और Google Home इकोसिस्टम के बीच बंटी होती है. इसका एक खास उदाहरण, Google* डिवाइस टाइप हैं. ये Cloud-to-cloud से आते हैं, लेकिन फ़िलहाल इनके Matter एनालॉग नहीं हैं.

डिवाइस टाइप, दोनों में से किसी एक या दोनों सोर्स की विशेषताओं से बने होते हैं, Matter या Cloud-to-cloud.

उदाहरण के लिए, पंखे का डिवाइस टाइप, दोनों से मिलकर बना है और इसमें तीन विशेषताएं हैं:

  • Identify Matter विशेषता, Matter Identify से जुड़ी सभी सुविधाएं देती है.
  • FanControl Matter विशेषता, Matter FanControl विशेषता से जुड़ी सभी सुविधाएं देती है
  • Google की ExtendedFanControl विशेषता, Google smart home FanSpeed विशेषता से जुड़ी सभी सुविधाएं देती है. ये सुविधाएं, FanControl Matter विशेषता में शामिल नहीं होतीं

इस तरह की विशेषता कंपोज़िशन, डिवाइस टाइप की पूरी सुविधा के लिए एक फ़्लेक्सिबल मॉडल उपलब्ध कराती है. साथ ही, यह अंडरलाइंग smart home डेटा मॉडल को अलग करती है.