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) }