iOS पर डेटा मॉडल

iOS के लिए 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-first के तौर पर डिज़ाइन किया गया है. A Matter डिवाइस टाइप या विशेषता को Cloud-to-cloud के एनालॉग से ज़्यादा प्राथमिकता दी जाती है.

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

विशेषताएं

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

विशेषताएं और डिवाइस टाइप इंपोर्ट करने के लिए, अपने ऐप्लिकेशन में GoogleHomeTypes मॉड्यूल इंपोर्ट करें:

import GoogleHomeTypes

इसके अलावा, कोड को छोटा करने और नेमस्पेस को बार-बार इस्तेमाल करने से बचने के लिए, विशेषता और डिवाइस टाइप के नामों के लिए typealias का इस्तेमाल किया जा सकता है:

import GoogleHomeTypes

typealias OpenCloseTrait = Google.OpenCloseTrait
typealias OnOffTrait = Matter.OnOffTrait
typealias FanDevice = Matter.FanDeviceType

Google*

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

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

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

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

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

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

  • IdentifyTrait Matter ट्रेट, Matter IdentifyTrait की सभी फ़ंक्शन उपलब्ध कराती है.
  • FanControlTrait Matter ट्रेट, Matter FanControlTrait की सभी सुविधाएं उपलब्ध कराती है.
  • ExtendedFanControlTrait Google ट्रेट, Google के smart home FanSpeedTrait की सभी सुविधाएं उपलब्ध कराता है. ये सुविधाएं, FanControlTrait Matter ट्रेट में शामिल नहीं हैं.

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