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

डिस्कवरी एपीआई, आसान बनाए गए एट्रिब्यूट के साथ-साथ उनके स्टैंडर्ड एट्रिब्यूट की भी रिपोर्ट करता है. हालांकि, ऐसा तब ही होता है, जब दोनों एट्रिब्यूट को 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) }