הסכימה של מאפיין הסיבוב בבית חכם

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

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

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

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

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

חובה.

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

supportsPercent בוליאני

חובה.

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

rotationDegreesRange מפגע

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

rotationDegreesMin מספר

חובה.

סיבוב מינימלי ב-degrees.

rotationDegreesMax מספר

חובה.

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

supportsContinuousRotation בוליאני

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

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

commandOnlyRotation בוליאני

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

השדה הזה מציין אם המכשיר תומך בתקשורת חד-כיוונית (true) או דו-כיוונית (false). מגדירים את המאפיין הזה כ-true אם המכשיר לא יכול להגיב לכוונה מסוג 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
}

מצבי המכשיר

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

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

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

rotationPercent מספר

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

targetRotationPercent מספר

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

דוגמאות

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

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

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

{
  "rotationDegrees": 45
}

באיזו רמה המכשיר מסובב? (רציף).

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

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

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

פקודות למכשיר

מכשירים עם המאפיין הזה עשויים להגיב לפקודות הבאות כחלק מהפעולה 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

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

כאן מפורטת הרשימה המלאה של שגיאות וחריגים.