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

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

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

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

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

מאפיינים סוג תיאור
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
}

מצבי המכשיר

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

CommandS במכשיר

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

action.devices.commands.RotateAbsolute

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

פרמטרים

המטען הייעודי (Payload) מכיל אחד מהפריטים הבאים:

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

פרמטרים סוג תיאור
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

ERRORS במכשיר

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