स्मार्ट होम फ़िल ट्रेट स्कीमा

action.devices.traits.Fill - यह trait, पानी भरने की सुविधा वाले डिवाइसों पर लागू होता है. जैसे, बाथटब.

डिवाइस की ATTRIBUTES

इस ट्रेट वाले डिवाइस, SYNC ऑपरेशन के तहत इन एट्रिब्यूट की जानकारी दे सकते हैं. SYNC इंटेंट को मैनेज करने के बारे में ज़्यादा जानने के लिए, इंटेंट फ़ुलफ़िलमेंट देखें.

विशेषताएं टाइप ब्यौरा
availableFillLevels ऑब्जेक्ट

डिवाइस में अलग-अलग लेवल पर पानी भरने के बारे में बताता है.

levels ऐरे

ज़रूरी है.

लेवल के नामों और भाषा के हिसाब से उनके समानार्थी शब्दों की सूची.

[item, ...] ऑब्जेक्ट

लेवल का नाम और उसके लिए अलग-अलग भाषाओं में इस्तेमाल होने वाले समानार्थी शब्द.

level_name String

ज़रूरी है.

लेवल का इंटरनल नाम. यह उपयोगकर्ता के लिए मददगार नहीं हो सकता. साथ ही, इसे सभी भाषाओं में शेयर किया जाएगा.

level_values ऐरे

ज़रूरी है.

हर भाषा में, लेवल के समानार्थी शब्द.

[item, ...] ऑब्जेक्ट

किसी भाषा में लेवल के समानार्थी शब्द. भाषा फ़ॉलबैक की सुविधा देने के लिए, कम से कम एक ऐसा आइटम होना चाहिए जिसकी lang वैल्यू en हो.

level_synonym ऐरे

ज़रूरी है.

लेवल का समानार्थी शब्द. इस सूची में मौजूद पहली स्ट्रिंग का इस्तेमाल, उस भाषा में लेवल के कैननिकल नाम के तौर पर किया जाता है.

[item, ...] String

समानार्थी शब्द का नाम. भाषा फ़ॉलबैक की सुविधा देने के लिए, कम से कम एक ऐसा आइटम होना चाहिए जिसकी lang वैल्यू en हो.

lang String

ज़रूरी है.

भाषा कोड (ISO 639-1). यह सुविधा देने वाली भाषाएं देखें.

ordered बूलियन

ज़रूरी है.

अगर यह वैल्यू सही है, तो डिवाइस, बढ़ने या घटने के लॉजिक के लिए अतिरिक्त व्याकरण को हैंडल करता है. इसे levels ऐरे के तौर पर दिखाया जाता है. उदाहरण के लिए, आधा लेवल.

supportsFillPercent बूलियन

(डिफ़ॉल्ट: false)

अगर यह वैल्यू सही है, तो लेवल को प्रतिशत के हिसाब से घटाने या बढ़ाने के लिए दिए गए निर्देशों को स्वीकार करें.

उदाहरण

ऐसे डिवाइस जिनमें बैटरी को चार्ज करने या डिस्चार्ज करने की बुनियादी सुविधाएं उपलब्ध हैं, लेकिन बैटरी के लेवल को अलग-अलग नहीं दिखाया जाता.

{}

ऐसा डिवाइस जिस पर इंक के लेवल की जानकारी अलग-अलग दिखती हो.

{
  "availableFillLevels": {
    "levels": [
      {
        "level_name": "half_level",
        "level_values": [
          {
            "level_synonym": [
              "Half",
              "Half way",
              "One half"
            ],
            "lang": "en"
          }
        ]
      },
      {
        "level_name": "full_level",
        "level_values": [
          {
            "level_synonym": [
              "Full",
              "All the way",
              "Complete"
            ],
            "lang": "en"
          }
        ]
      }
    ],
    "ordered": true
  }
}

डिवाइस की स्थितियां

इस ट्रेट वाली इकाइयां, QUERY ऑपरेशन के तहत ये स्थितियां रिपोर्ट कर सकती हैं. QUERY इंटेंट को मैनेज करने के बारे में ज़्यादा जानने के लिए, इंटेंट फ़ुलफ़िलमेंट देखें.

राज्य टाइप ब्यौरा
isFilled बूलियन

ज़रूरी है.

डिवाइस में किसी भी लेवल तक बैटरी होने पर, वैल्यू true होगी. अगर डिवाइस की बैटरी पूरी तरह खत्म हो गई है, तो यह वैल्यू फ़ॉल्स होगी.

currentFillLevel String

availableFillLevels एट्रिब्यूट सेट होने पर यह एट्रिब्यूट ज़रूरी है. इससे availableFillLevels एट्रिब्यूट की मौजूदा level_name वैल्यू का पता चलता है. यह वैल्यू, डिवाइस के लिए तय की गई है.

currentFillPercent Number

supportsFillPercent एट्रिब्यूट सेट होने पर यह एट्रिब्यूट ज़रूरी है. इससे मौजूदा फ़िल लेवल के प्रतिशत का पता चलता है.

उदाहरण

क्या बाथटब भर गया है?

{
  "isFilled": true
}

क्या बाथटब भर गया है? (लेवल के साथ).

{
  "isFilled": true,
  "currentFillLevel": "half_level"
}

डिवाइस के लिए उपलब्ध COMMANDS

इस सुविधा वाले डिवाइस, EXECUTE ऑपरेशन के तहत इन कमांड का जवाब दे सकते हैं. EXECUTE इंटेंट को मैनेज करने के बारे में ज़्यादा जानने के लिए, इंटेंट फ़ुलफ़िलमेंट देखें.

action.devices.commands.Fill

डिवाइस को भरो या खाली करो.

पैरामीटर

पैरामीटर टाइप ब्यौरा
fill बूलियन

ज़रूरी है.

भरने के लिए सही और खाली करने के लिए गलत.

fillLevel String

यह availableFillLevels एट्रिब्यूट से level_name को सेट करने के लिए दिखाता है. अगर कोई वैल्यू तय नहीं की गई है, तो डिफ़ॉल्ट लेवल तक भरें.

fillPercent Number

इससे अनुरोध किए गए लेवल के प्रतिशत का पता चलता है.

उदाहरण

बाथटब भरो.

{
  "command": "action.devices.commands.Fill",
  "params": {
    "fill": true
  }
}

बाथटब को ख़ाली करो.

{
  "command": "action.devices.commands.Fill",
  "params": {
    "fill": false
  }
}

बाथटब को आधा भरें.

{
  "command": "action.devices.commands.Fill",
  "params": {
    "fill": true,
    "fillLevel": "half_level"
  }
}

बाथटब में पानी का लेवल एक यूनिट बढ़ाओ (इसके लिए, ordered एट्रिब्यूट की वैल्यू true होनी चाहिए).

{
  "command": "action.devices.commands.Fill",
  "params": {
    "fill": true,
    "fillLevel": "full_level"
  }
}

डिवाइस से जुड़ी गड़बड़ियां

गड़बड़ियों और अपवादों की पूरी सूची देखें.