स्मार्ट होम रोटेशन ट्रेट का स्कीमा

action.devices.traits.Rotation - यह ट्रेट, रोटेशन की सुविधा वाले डिवाइसों के साथ काम करती है.

रोटेशन को प्रतिशत या डिग्री में तय किया जा सकता है. अगर डिवाइस पर डिग्री के हिसाब से रोटेशन की सुविधा काम करती है, तो रोटेशन की डिफ़ॉल्ट दिशा घड़ी की सुई की दिशा में होती है.

डिवाइस की ATTRIBUTES

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

विशेषताएं टाइप ब्यौरा
supportsDegrees बूलियन

ज़रूरी है.

अगर डिवाइस को डिग्री के हिसाब से घुमाया जा सकता है, तो इसे सही पर सेट करें.

supportsPercent बूलियन

ज़रूरी है.

अगर डिवाइस, प्रतिशत के हिसाब से रोटेशन की अनुमति देता है, तो इसे सही पर सेट करें

rotationDegreesRange ऑब्जेक्ट

डिवाइस के घूमने की रेंज को डिग्री में दिखाता है.

rotationDegreesMin Number

ज़रूरी है.

डिग्री में कम से कम रोटेशन.

मान 0 और 360 के बीच होना चाहिए.

rotationDegreesMax Number

ज़रूरी है.

डिग्री में ज़्यादा से ज़्यादा रोटेशन.

मान 0 और 360 के बीच होना चाहिए.

supportsContinuousRotation बूलियन

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

अगर डिवाइस में लगातार रोटेशन की सुविधा है, तो इसे सही पर सेट करें. रिलेटिव क्वेरी दिए जाने पर, RotateAbsolute कमांड, रोटेशन की सुविधा के साथ काम करने वाली रेंज के आस-पास रैप हो जाएगी.

commandOnlyRotation बूलियन

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

इससे पता चलता है कि डिवाइस पर एकतरफ़ा (सही) या दोनों तरफ़ा (गलत) बातचीत की सुविधा काम करती है या नहीं. अगर डिवाइस, इस विशेषता के लिए QUERY इंटेंट या Report State का जवाब नहीं दे सकता, तो इस एट्रिब्यूट को सही पर सेट करें.

उदाहरण

ऐसा डिवाइस जिसमें घुमाने की सुविधा प्रतिशत और डिग्री, दोनों में उपलब्ध हो.

{
  "supportsDegrees": true,
  "supportsPercent": true,
  "rotationDegreesRange": {
    "rotationDegreesMin": 0,
    "rotationDegreesMax": 180
  }
}

ऐसा डिवाइस जो सिर्फ़ डिग्री में रोटेशन की सुविधा देता है.

{
  "supportsDegrees": true,
  "supportsPercent": false,
  "rotationDegreesRange": {
    "rotationDegreesMin": 0,
    "rotationDegreesMax": 90
  }
}

ऐसा डिवाइस जिसमें सिर्फ़ लगातार घूमने के निर्देश दिए जा सकते हैं.

{
  "supportsDegrees": true,
  "supportsPercent": true,
  "rotationDegreesRange": {
    "rotationDegreesMin": 0,
    "rotationDegreesMax": 360
  },
  "supportsContinuousRotation": true,
  "commandOnlyRotation": true
}

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

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

राज्य टाइप ब्यौरा
rotationDegrees Number

rotationDegreesRange में मौजूद मौजूदा लेवल, यह दिखाता है कि डिवाइस को कितने डिग्री घुमाया गया है. यह वैल्यू हमेशा घड़ी की सुई की दिशा में होने वाले रोटेशन के हिसाब से होनी चाहिए.

rotationPercent Number

यह मौजूदा लेवल है. इससे पता चलता है कि डिवाइस को फ़िलहाल कितने प्रतिशत घुमाया गया है. 0.0 का मतलब है कि डिवाइस बंद है और 100.0 का मतलब है कि डिवाइस खुला है.

मान 0 और 100 के बीच होना चाहिए.

targetRotationPercent Number

रोटेशन का प्रतिशत दिखाने वाला लेवल. इससे पता चलता है कि डिवाइस किस लेवल पर जाएगा या रोटेशन में हो रहे बदलाव की वजह से किस लेवल पर जा रहा है.

मान 0 और 100 के बीच होना चाहिए.

उदाहरण

डिवाइस को कितना घुमाया गया है? (प्रतिशत और डिग्री).

{
  "rotationDegrees": 45,
  "rotationPercent": 25
}

डिवाइस को कितना घुमाया गया है? (सिर्फ़ डिग्री).

{
  "rotationDegrees": 45
}

डिवाइस को कितना घुमाया गया है? (continous).

{
  "rotationDegrees": 270,
  "rotationPercent": 75
}

कोई डिवाइस, फ़िलहाल नई जगह पर घूम रहा है (प्रतिशत).

{
  "rotationPercent": 75,
  "targetRotationPercent": 100
}

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

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

action.devices.commands.RotateAbsolute

डिवाइस के ऐब्सलूट रोटेशन को सेट करता है.

पैरामीटर

पेलोड में इनमें से कोई एक जानकारी शामिल होती है:

रोटेशन को डिग्री में सेट करें.

पैरामीटर टाइप ब्यौरा
rotationDegrees Number

ज़रूरी है.

डिग्री में दी गई ऐसी वैल्यू जो डिवाइस के क्लॉकवाइज़ रोटेशन की आखिरी वैल्यू बताती है. वैल्यू, rotationDegreesRange एट्रिब्यूट के दायरे में होनी चाहिए.

प्रतिशत में सटीक रोटेशन सेट करें.

पैरामीटर टाइप ब्यौरा
rotationPercent Number

ज़रूरी है.

यह प्रतिशत में दी गई ऐब्सलूट वैल्यू होती है. इससे डिवाइस के फ़ाइनल रोटेशन के बारे में पता चलता है.

मान 0 और 100 के बीच होना चाहिए.

उदाहरण

डिवाइस को 50 प्रतिशत तक झुकाएं.

{
  "command": "action.devices.commands.RotateAbsolute",
  "params": {
    "rotationPercent": 50
  }
}

डिवाइस को घड़ी की उल्टी दिशा में 15 डिग्री (rotationDegrees: 45) घुमाएं.

{
  "command": "action.devices.commands.RotateAbsolute",
  "params": {
    "rotationDegrees": 30
  }
}

डिवाइस को घड़ी की दिशा में 100 डिग्री घुमाएं (supportsContinuousRotation: true, rotationDegrees: 270).

{
  "command": "action.devices.commands.RotateAbsolute",
  "params": {
    "rotationDegrees": 10
  }
}

डिवाइस के रोटेशन को सेट करते समय कोई गड़बड़ी हुई.

इस्तेमाल की जा सकने वाली वैल्यू:

deviceJammingDetected

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

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