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
डिस्कवरी एपीआई, आसान बनाए गए एट्रिब्यूट के साथ-साथ उनके स्टैंडर्ड एट्रिब्यूट की भी रिपोर्ट करता है. हालांकि, ऐसा तब ही होता है, जब दोनों एट्रिब्यूट को FactoryRegistry
में रजिस्टर किया गया हो. उदाहरण के लिए, अगर स्ट्रक्चर में कोई DimmableLight
डिवाइस मौजूद है और डेवलपर ने FactoryRegistry
में LevelControl
और Brightness
, दोनों एट्रिब्यूट रजिस्टर किए हैं, तो डिस्कवरी एपीआई, दोनों एट्रिब्यूट की मौजूदगी के बारे में बताएगा. डेवलपर अपने ऑटोमेशन में, इनमें से किसी भी ट्रैट का इस्तेमाल कर सकता है.
ज़्यादा जानकारी के लिए, Android पर Discovery API देखें.
ऐसा डिवाइस वापस लाना जो आसान बनाए गए ट्रैट के साथ काम करता हो
SimplifiedThermostat
जैसे आसान ट्रैट के साथ काम करने वाले स्ट्रक्चर में डिवाइसों को पाने के लिए, Device API का इस्तेमाल करते समय, has(trait)
के तरीके का इस्तेमाल नहीं किया जा सकता. इसके बजाय, has(deviceType)
वाला तरीका इस्तेमाल करें:
val thermostat = home.devices().list().first { device -> device.has(ThermostatDevice) }