Android पर आसानी से इस्तेमाल किए जा सकने वाले ट्रैट

इन्हें आसानी से इस्तेमाल करने के लिए, कुछ ट्रेट के आसान वर्शन उपलब्ध हैं. इनका इस्तेमाल Android पर Automation API के साथ किया जा सकता है.

सरल बनाई गई ट्रेट, Home API की स्टैंडर्ड ट्रेट की जगह काम करती है. यह फ़साड पैटर्न की तरह काम करती है. आसान बनाई गई ट्रेट, ऐसी कमांड उपलब्ध कराती हैं जिनसे कुछ डिवाइस टाइप के लिए सामान्य टास्क पूरे करना आसान हो जाता है. आसान बनाई गई ट्रेट, Home API की ट्रेट होती हैं. साथ ही, Home API की अन्य ट्रेट की तरह, ये Matter और Cloud-to-cloud, दोनों तरह के डिवाइसों के साथ काम करती हैं.

आसान बनाई गई ट्रेट, एट्रिब्यूट और कमांड का एक ऐसा सबसेट उपलब्ध कराती है जो स्टैंडर्ड ट्रेट के मुकाबले, डिवाइस के हिसाब से ज़्यादा काम का होता है. उदाहरण के लिए, स्टैंडर्ड LevelControl ट्रेट एक सामान्य ट्रेट है. इसका इस्तेमाल ऐसे किसी भी डिवाइस के लिए किया जा सकता है जिसमें ऐसी सेटिंग हो जिसकी वैल्यू, अंकों की रेंज में लगातार बदलती रहती है. Brightness, LevelControl की तरह काम करने वाला एक आसान ट्रेट है. इसमें सिर्फ़ वे कमांड और एट्रिब्यूट शामिल होते हैं जिनकी ज़रूरत DimmableLight डिवाइस को होती है. Brightness में moveToBrightness कमांड होती है, जो सिर्फ़ एक brightnessPercent आर्ग्युमेंट लेती है. वहीं, LevelControl में कई move कमांड होती हैं. इनमें से ज़्यादातर में कम से कम चार पैरामीटर होते हैं, ताकि इस्तेमाल के ज़्यादा से ज़्यादा उदाहरणों को शामिल किया जा सके.

यहां दी गई टेबल में, हर आसान बनाई गई विशेषता और उसके पीछे मौजूद स्टैंडर्ड विशेषताओं के बारे में बताया गया है. हर ट्रेट का नाम, उससे जुड़े एपीआई दस्तावेज़ से लिंक होता है:

टेबल: आसान शब्दों में बताई गई विशेषताएं
आसान बनाई गई ट्रेट स्टैंडर्ड ट्रेट
SimplifiedThermostat Thermostat
Brightness LevelControl
SimplifiedOnOff OnOff
Volume LevelControl
OnOff

आसान बनाए गए ट्रेट और Discovery API

Discovery API, आसान बनाई गई विशेषताओं के साथ-साथ उनकी बुनियादी विशेषताओं की रिपोर्ट भी देता है. हालांकि, इसके लिए ज़रूरी है कि दोनों विशेषताओं को FactoryRegistry में रजिस्टर किया गया हो. उदाहरण के लिए, अगर स्ट्रक्चर में कोई DimmableLight डिवाइस मौजूद है और डेवलपर ने FactoryRegistry में LevelControl और Brightness, दोनों ट्रेट रजिस्टर की हैं, तो Discovery API दोनों ट्रेट की मौजूदगी के बारे में बताएगा. डेवलपर के पास, अपने ऑटोमेशन में इनमें से किसी भी ट्रेट का इस्तेमाल करने का विकल्प होता है.

ज़्यादा जानकारी के लिए, Android पर Discovery API देखें.

ऐसे डिवाइस को वापस पाना जो आसान ट्रेट के साथ काम करता है

अगर आपको डिवाइस एपीआई का इस्तेमाल करके, ऐसे स्ट्रक्चर में डिवाइसों की जानकारी चाहिए जो SimplifiedThermostat जैसे आसान ट्रेट के साथ काम करते हैं, तो has(trait) तरीके का इस्तेमाल नहीं किया जा सकता. इसके बजाय, has(deviceType) तरीके का इस्तेमाल करें:

val thermostat = home.devices().list().first { device -> device.has(ThermostatDevice) }