סכמת תכונת הסיבוב של הבית החכם

action.devices.traits.Rotation – התכונה הזו שייכת למכשירים שתומכים בסיבוב.

ניתן לציין את הסיבוב באחוז או במעלות. אם המכשיר תומך בסיבוב במעלות, כיוון ברירת המחדל של הסיבוב הוא בכיוון השעון.

מאפייני המכשיר

מכשירים עם התכונה הזו עשויים לדווח על המאפיינים הבאים במסגרת הפעולה SYNC. למידע נוסף על טיפול באובייקטים מסוג SYNC, אפשר לעיין במאמר מילוי כוונה.

מאפיינים סוג תיאור
supportsDegrees בוליאני

חובה.

הערך הזה מוגדר כ-True אם המכשיר מאפשר סיבוב לפי מעלות.

supportsPercent בוליאני

חובה.

יש להגדיר את הערך True אם המכשיר מאפשר סיבוב לפי אחוזים

rotationDegreesRange מפגע

מייצגות את הטווח במעלות שהמכשיר יכול לסובב.

rotationDegreesMin מספר

חובה.

סיבוב מינימלי במעלות.

rotationDegreesMax מספר

חובה.

סיבוב מקסימלי במעלות.

supportsContinuousRotation בוליאני

(ברירת המחדל: false)

יש להגדיר את הערך כ-True אם המכשיר מאפשר סיבוב רציף. כשמתקבלת שאילתה יחסית, הפקודה RotateAbsolute תקיף את טווח הסיבוב הנתמך.

commandOnlyRotation בוליאני

(ברירת המחדל: false)

מציין אם המכשיר תומך בתקשורת חד-כיוונית (true) או בתקשורת דו-כיוונית (FALSE). יש להגדיר את המאפיין הזה כ-True אם המכשיר לא יכול להגיב ל-Intent של QUERY או למצב דיווח לגבי התכונה הזו.

דוגמאות

מכשיר שתומך בסיבוב באחוזים וגם במעלות.

{
  "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
}

מכשיר STATES

ישויות עם התכונה הזו עשויות לדווח על המצבים הבאים במסגרת הפעולה QUERY. למידע נוסף על טיפול באובייקטים מסוג QUERY, אפשר לעיין במאמר מילוי כוונה.

מדינות סוג תיאור
rotationDegrees מספר

הרמה הנוכחית בתוך rotationDegreesRange שמציינת את מספר מעלות הסיבוב של המכשיר. הערך הזה צריך להיות תמיד ביחס לסיבוב בכיוון השעון.

rotationPercent מספר

הרמה הנוכחית שמציינת את אחוז הסיבוב הנוכחי של המכשיר. הערך 0.0 מייצג את המצב 'סגור' ו-100.0 כדי לפתוח אותו.

targetRotationPercent מספר

רמה שמציינת את אחוז הסיבוב שאליו המכשיר יעבור או שאליו הוא עובר כתוצאה משינוי מתמשך בסיבוב.

דוגמאות

מה מידת הסיבוב של המכשיר? (אחוזים ומעלות).

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

מה מידת הסיבוב של המכשיר? (מעלות בלבד).

{
  "rotationDegrees": 45
}

מה מידת הסיבוב של המכשיר? (רציף).

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

מכשיר מסתובב כרגע למיקום חדש (אחוז).

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

מכשיר COMMANDS

מכשירים עם התכונה הזו עשויים להגיב לפקודות הבאות כחלק מהפעולה EXECUTE. למידע נוסף על טיפול באובייקטים מסוג EXECUTE, אפשר לעיין במאמר מילוי כוונה.

action.devices.commands.RotateAbsolute

הגדרת הסיבוב המוחלט של המכשיר.

פרמטרים

המטען הייעודי מכיל אחת מהאפשרויות הבאות:

הגדרת הסיבוב המוחלט במעלות.

פרמטרים סוג תיאור
rotationDegrees מספר

חובה.

ערך מוחלט, במעלות, שמציין את הסיבוב הסופי של המכשיר בכיוון השעון. הערך חייב להיות בתוך המאפיין rotationDegreesRange.

הגדרת הסיבוב המוחלט באחוזים.

פרמטרים סוג תיאור
rotationPercent מספר

חובה.

ערך מוחלט, באחוזים, שמציין את הסיבוב הסופי של המכשיר.

דוגמאות

הטיית המכשיר עד ל-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

שגיאות במכשיר

ראו את הרשימה המלאה של שגיאות וחריגים.