आसानी से इस्तेमाल करने के लिए, ऑटोमेशन एपीआई के साथ इस्तेमाल करने के लिए, कुछ ट्रैट के आसान वर्शन उपलब्ध हैं.
आसानी से समझा जा सकने वाला ट्रैट, 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 देखें.
ऐसा डिवाइस वापस लाना जो आसान बनाए गए ट्रैट के साथ काम करता हो
SimplifiedThermostat
जैसे आसान ट्रैट के साथ काम करने वाले स्ट्रक्चर में डिवाइसों को पाने के लिए, डिवाइस एपीआई का इस्तेमाल करते समय, has(trait)
के तरीके का इस्तेमाल नहीं किया जा सकता. इसके बजाय, has(deviceType)
का इस्तेमाल करें:
val thermostat = home.devices().list().first { device -> device.has(ThermostatDevice) }