طرحواره ویژگی چرخش خانه هوشمند

action.devices.traits.Rotation - این trait متعلق به دستگاه‌هایی است که از چرخش پشتیبانی می‌کنند.

چرخش را می‌توان بر حسب درصد یا درجه مشخص کرد و اگر دستگاه از چرخش بر حسب درجه پشتیبانی کند، جهت پیش‌فرض چرخش در جهت عقربه‌های ساعت است.

ویژگی‌های دستگاه

دستگاه‌هایی که این ویژگی را دارند، ممکن است ویژگی‌های زیر را به عنوان بخشی از عملیات SYNC گزارش دهند. برای کسب اطلاعات بیشتر در مورد مدیریت اهداف SYNC ، به بخش «تحقق اهداف» مراجعه کنید.

ویژگی‌ها نوع توضیحات
supportsDegrees بولی

الزامی است.

اگر دستگاه امکان چرخش بر حسب درجه را فراهم می‌کند، روی true تنظیم کنید.

supportsPercent بولی

الزامی است.

اگر دستگاه اجازه چرخش بر اساس درصد را می‌دهد، روی true تنظیم شود.

rotationDegreesRange شیء

محدوده‌ای را که یک دستگاه می‌تواند بچرخد، بر حسب درجه نشان می‌دهد.

rotationDegreesMin شماره

الزامی است.

حداقل چرخش بر حسب درجه.

مقدار باید بین 0 تا 360 باشد.

rotationDegreesMax شماره

الزامی است.

حداکثر چرخش بر حسب درجه.

مقدار باید بین 0 تا 360 باشد.

supportsContinuousRotation بولی

(پیش‌فرض: false )

اگر دستگاه امکان چرخش پیوسته را فراهم کند، روی true تنظیم می‌شود. وقتی یک پرس‌وجوی نسبی دریافت شود، دستور RotateAbsolute محدوده چرخش پشتیبانی‌شده را پوشش می‌دهد.

commandOnlyRotation بولی

(پیش‌فرض: false )

نشان می‌دهد که آیا دستگاه از ارتباط یک‌طرفه (true) یا دوطرفه (false) پشتیبانی می‌کند یا خیر. اگر دستگاه نمی‌تواند به یک درخواست پرس‌وجو (QUERY intent) یا گزارش وضعیت (Report State) برای این ویژگی پاسخ دهد، این ویژگی را روی true تنظیم کنید.

مثال‌ها

دستگاهی که از چرخش بر حسب درصد و درجه پشتیبانی می‌کند.

{
  "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 شماره

سطح فعلی در محدوده rotationDegreesRange که نشان می‌دهد دستگاه چند درجه چرخیده است. این مقدار همیشه باید نسبت به چرخش در جهت عقربه‌های ساعت باشد.

rotationPercent شماره

سطح فعلی نشان می‌دهد که دستگاه در حال حاضر چند درصد چرخیده است. 0.0 مربوط به بسته و 100.0 مربوط به باز است.

مقدار باید بین 0 تا 100 باشد.

targetRotationPercent شماره

سطح نشان دهنده درصد چرخشی است که دستگاه در نتیجه تغییر مداوم در چرخش، به آن سمت خواهد رفت یا در حال حرکت به سمت آن است.

مقدار باید بین 0 تا 100 باشد.

مثال‌ها

دستگاه چقدر چرخیده است؟ (درصد و درجه).

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

دستگاه چقدر چرخیده است؟ (فقط درجه).

{
  "rotationDegrees": 45
}

دستگاه چقدر چرخیده است؟ (پیوسته).

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

دستگاهی که در حال حاضر به موقعیت جدید (درصد) در حال چرخش است.

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

دستورات دستگاه

دستگاه‌هایی که این ویژگی را دارند، می‌توانند به دستورات زیر به عنوان بخشی از عملیات EXECUTE پاسخ دهند. برای کسب اطلاعات بیشتر در مورد مدیریت اهداف EXECUTE ، به بخش «تحقق اهداف» مراجعه کنید.

action.devices.commands.RotateAbsolute

چرخش مطلق دستگاه را تنظیم کنید.

پارامترها

محموله شامل یکی از موارد زیر است:

چرخش مطلق را بر حسب درجه تنظیم کنید.

پارامترها نوع توضیحات
rotationDegrees شماره

الزامی است.

یک مقدار مطلق، بر حسب درجه، که چرخش نهایی دستگاه در جهت عقربه‌های ساعت را مشخص می‌کند. مقدار باید در ویژگی rotationDegreesRange قرار گیرد.

چرخش مطلق را بر حسب درصد تنظیم کنید.

پارامترها نوع توضیحات
rotationPercent شماره

الزامی است.

یک مقدار مطلق، بر حسب درصد، که چرخش نهایی دستگاه را مشخص می‌کند.

مقدار باید بین 0 تا 100 باشد.

مثال‌ها

دستگاه را تا ۵۰ درصد کج کنید.

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

دستگاه را ۱۵ درجه خلاف جهت عقربه‌های ساعت بچرخانید ( rotationDegrees: 45 ).

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

دستگاه را ۱۰۰ درجه در جهت عقربه‌های ساعت بچرخانید ( supportsContinuousRotation: true ، rotationDegrees: 270 ).

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

خطایی در تنظیم چرخش دستگاه رخ داده است.

مقادیر پشتیبانی شده:

deviceJammingDetected

خطاهای دستگاه

لیست کامل خطاها و استثنائات را مشاهده کنید.