Schemat atrybutu obracania w inteligentnym domu

action.devices.traits.Rotation – ta cecha należy do urządzeń, które obsługują obracanie.

Rotację można określić w procentach lub stopniach. Jeśli urządzenie obsługuje rotację w stopniach, domyślny kierunek rotacji to ruch zgodny z ruchem wskazówek zegara.

ATRYBUTY urządzenia

Urządzenia z tą cechą mogą zgłaszać te atrybuty w ramach operacji SYNC. Więcej informacji o obsłudze intencji SYNC znajdziesz w artykule Realizacja intencji.

Atrybuty Typ Opis
supportsDegrees Wartość logiczna

Wymagane.

Wartość true, jeśli urządzenie umożliwia obracanie o określony kąt.

supportsPercent Wartość logiczna

Wymagane.

Ustaw wartość „true”, jeśli urządzenie umożliwia obracanie o procent.

rotationDegreesRange Obiekt

Określa zakres w stopniach, w jakim urządzenie może się obracać.

rotationDegreesMin Number

Wymagane.

Minimalny obrót w stopniach.

Wartość musi znajdować się w zakresie od 0 do 360.

rotationDegreesMax Number

Wymagane.

Maksymalny obrót w stopniach.

Wartość musi znajdować się w zakresie od 0 do 360.

supportsContinuousRotation Wartość logiczna

(Domyślnie: false)

Ustaw wartość „true”, jeśli urządzenie umożliwia ciągłe obracanie. W przypadku zapytania względnego polecenie RotateAbsolute będzie obejmować obsługiwany zakres obrotu.

commandOnlyRotation Wartość logiczna

(Domyślnie: false)

Wskazuje, czy urządzenie obsługuje komunikację jednokierunkową (prawda) czy dwukierunkową (fałsz). Ustaw ten atrybut na wartość „true”, jeśli urządzenie nie może odpowiadać na intencję QUERY ani zgłaszać stanu w przypadku tej cechy.

Przykłady

Urządzenie, które obsługuje obrót w procentach i stopniach.

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

Urządzenie, które obsługuje tylko obrót w stopniach.

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

Urządzenie, które obsługuje tylko polecenia ciągłego obracania.

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

Stany urządzenia

Podmioty z tą cechą mogą zgłaszać te stany w ramach operacji QUERY. Więcej informacji o obsłudze intencji QUERY znajdziesz w artykule Realizacja intencji.

Stany Typ Opis
rotationDegrees Number

Aktualny poziom w rotationDegreesRange, który wskazuje, o ile stopni obrócono urządzenie. Ta wartość powinna być zawsze względna w stosunku do obrotu w kierunku zgodnym z ruchem wskazówek zegara.

rotationPercent Number

Bieżący poziom, który wskazuje, o ile procent urządzenie jest obecnie obrócone. Wartość 0,0 oznacza zamknięcie, a 100,0 – otwarcie.

Wartość musi znajdować się w zakresie od 0 do 100.

targetRotationPercent Number

Poziom wskazujący procent obrotu, do którego urządzenie przejdzie lub w którego kierunku się porusza w wyniku trwającej zmiany obrotu.

Wartość musi znajdować się w zakresie od 0 do 100.

Przykłady

O ile stopni obrócono urządzenie? (procenty i stopnie).

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

O ile stopni obrócono urządzenie? (tylko stopnie).

{
  "rotationDegrees": 45
}

O ile stopni obrócono urządzenie? (ciągłe).

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

Urządzenie, które obraca się w nowe miejsce (w procentach).

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

Polecenia dotyczące urządzenia

Urządzenia z tą cechą mogą odpowiadać na te polecenia w ramach operacji EXECUTE. Więcej informacji o obsłudze intencji EXECUTE znajdziesz w artykule Realizacja intencji.

action.devices.commands.RotateAbsolute

Ustaw bezwzględny obrót urządzenia.

Parametry

Ładunek zawiera jeden z tych elementów:

Ustaw bezwzględny kąt obrotu w stopniach.

Parametry Typ Opis
rotationDegrees Number

Wymagane.

Wartość bezwzględna w stopniach określająca końcowy obrót urządzenia w kierunku zgodnym z ruchem wskazówek zegara. Wartość musi mieścić się w atrybucie rotationDegreesRange.

Ustaw bezwzględną rotację w procentach.

Parametry Typ Opis
rotationPercent Number

Wymagane.

Wartość bezwzględna w procentach określająca ostateczny obrót urządzenia.

Wartość musi znajdować się w zakresie od 0 do 100.

Przykłady

Przechyl urządzenie o 50%.

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

Obróć urządzenie o 15 stopni w lewo (rotationDegrees: 45).

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

Obróć urządzenie o 100 stopni w prawo (supportsContinuousRotation: true, rotationDegrees: 270).

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

Podczas ustawiania orientacji urządzenia wystąpił błąd.

Obsługiwane wartości:

deviceJammingDetected

BŁĘDY urządzenia

Zobacz pełną listę błędów i wyjątków.