Skema Fitur Rotasi Smart Home

action.devices.traits.Rotation - Trait ini digunakan untuk perangkat yang mendukung rotasi.

Rotasi dapat ditentukan dalam persen atau derajat dan jika perangkat mendukung rotasi dalam derajat, arah rotasi default adalah searah jarum jam.

ATRIBUT Perangkat

Perangkat dengan karakteristik ini dapat melaporkan atribut berikut sebagai bagian dari operasi SYNC. Untuk mempelajari lebih lanjut cara menangani intent SYNC, lihat Fulfillment intent.

Atribut Jenis Deskripsi
supportsDegrees Boolean

Wajib.

Disetel ke benar jika perangkat mengizinkan rotasi menurut derajat.

supportsPercent Boolean

Wajib.

Tetapkan ke benar (true) jika perangkat mengizinkan rotasi menurut persentase

rotationDegreesRange Objek

Mewakili rentang dalam derajat yang dapat diputar oleh perangkat.

rotationDegreesMin Number

Wajib.

Rotasi minimum dalam derajat.

Nilai harus antara 0 dan 360.

rotationDegreesMax Number

Wajib.

Rotasi maksimum dalam derajat.

Nilai harus antara 0 dan 360.

supportsContinuousRotation Boolean

(Default: false)

Setel ke benar (true) jika perangkat mengizinkan rotasi berkelanjutan. Jika diberi kueri relatif, perintah RotateAbsolute akan di-wrap di sekitar rentang rotasi yang didukung.

commandOnlyRotation Boolean

(Default: false)

Menunjukkan apakah perangkat mendukung penggunaan komunikasi satu arah (benar) atau dua arah (salah). Tetapkan atribut ini ke benar (true) jika perangkat tidak dapat merespons intent QUERY atau Report State untuk karakteristik ini.

Contoh

Perangkat yang mendukung rotasi dalam persentase dan derajat.

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

Perangkat yang hanya mendukung rotasi dalam derajat.

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

Perangkat yang hanya mendukung perintah rotasi berkelanjutan.

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

STATUS Perangkat

Entitas dengan sifat ini dapat melaporkan status berikut sebagai bagian dari operasi QUERY. Untuk mempelajari lebih lanjut cara menangani intent QUERY, lihat Fulfillment intent.

Negara bagian Jenis Deskripsi
rotationDegrees Number

Tingkat saat ini dalam rotationDegreesRange yang menunjukkan berapa derajat perangkat diputar. Nilai ini harus selalu relatif terhadap rotasi searah jarum jam.

rotationPercent Number

Tingkat saat ini yang menunjukkan persentase rotasi perangkat saat ini. 0,0 sesuai dengan tertutup dan 100,0 sesuai dengan terbuka.

Nilai harus antara 0 dan 100.

targetRotationPercent Number

Level yang menunjukkan persentase rotasi yang akan atau sedang dilakukan perangkat sebagai akibat dari perubahan rotasi yang sedang berlangsung.

Nilai harus antara 0 dan 100.

Contoh

Seberapa jauh perangkat diputar? (persen dan derajat).

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

Seberapa jauh perangkat diputar? (hanya derajat).

{
  "rotationDegrees": 45
}

Seberapa jauh perangkat diputar? (berkelanjutan).

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

Perangkat saat ini berputar ke posisi baru (persen).

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

PERINTAH perangkat

Perangkat dengan trait ini dapat merespons perintah berikut sebagai bagian dari operasi EXECUTE. Untuk mempelajari lebih lanjut cara menangani intent EXECUTE, lihat Fulfillment intent.

action.devices.commands.RotateAbsolute

Menetapkan rotasi absolut perangkat.

Parameter

Payload berisi salah satu hal berikut:

Menetapkan rotasi absolut dalam derajat.

Parameter Jenis Deskripsi
rotationDegrees Number

Wajib.

Nilai absolut, dalam derajat, yang menentukan rotasi akhir perangkat searah jarum jam. Nilai harus berada dalam atribut rotationDegreesRange.

Tetapkan rotasi absolut dalam persentase.

Parameter Jenis Deskripsi
rotationPercent Number

Wajib.

Nilai absolut, dalam persentase, yang menentukan rotasi akhir perangkat.

Nilai harus antara 0 dan 100.

Contoh

Miringkan perangkat hingga 50 persen.

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

Putar perangkat 15 derajat berlawanan arah jarum jam (rotationDegrees: 45).

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

Putar perangkat 100 derajat searah jarum jam (supportsContinuousRotation: true, rotationDegrees: 270).

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

Terjadi error saat menyetel rotasi perangkat.

Nilai yang didukung:

deviceJammingDetected

ERROR Perangkat

Lihat daftar lengkap error dan pengecualian.