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

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

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

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

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

टेबल: आसान traits
आसान trait स्टैंडर्ड trait
SimplifiedThermostat Thermostat
Brightness LevelControl
SimplifiedOnOff OnOff
Volume LevelControl
OnOff

आसान traits और Discovery API

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

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

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

स्ट्रक्चर में मौजूद उन डिवाइसों की जानकारी पाने के लिए, Device API का इस्तेमाल किया जा सकता है जो SimplifiedThermostat जैसे आसान trait के साथ काम करते हैं. हालांकि, इसके लिए has(trait) तरीके का इस्तेमाल नहीं किया जा सकता. इसके बजाय, has(deviceType) तरीके का इस्तेमाल करें:

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