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 जैसे आसान ट्रेट के साथ काम करने वाले स्ट्रक्चर में डिवाइसों की जानकारी पाने के लिए, Device API का इस्तेमाल करते समय, has(trait) तरीके का इस्तेमाल नहीं किया जा सकता. इसके बजाय, has(deviceType) तरीके का इस्तेमाल करें:

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