Schemat cechy obrotu inteligentnego domu

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

Obrót można określić w procentach lub stopniach. Jeśli urządzenie obsługuje obrót o stopnie, domyślnym kierunek obrotu jest zgodny z ruchem wskazówek zegara.

ATTRIBUTES urządzenia

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

Atrybuty Typ Opis
supportsDegrees Wartość logiczna

Wymagane.

Ustaw wartość prawda, jeśli urządzenie umożliwia obracanie o określony stopień.

supportsPercent Wartość logiczna

Wymagane.

Ustaw wartość prawda, jeśli urządzenie zezwala na obrót w procentach

rotationDegreesRange Obiekt.

Zakres w stopniach, o które urządzenie może się obracać.

rotationDegreesMin Number

Wymagane.

Minimalny obrót w stopniach.

rotationDegreesMax Number

Wymagane.

Maksymalna obrót w stopniach.

supportsContinuousRotation Wartość logiczna

(Domyślnie: false)

Ustaw wartość prawda, jeśli urządzenie zezwala na ciągły obrót. Po otrzymaniu zapytania względnego polecenie RotateAbsolute obrotuje obsługiwany zakres rotacji.

commandOnlyRotation Wartość logiczna

(Domyślnie: false)

Określa, czy urządzenie obsługuje komunikację jednokierunkową (prawda) czy dwukierunkową (fałsz). Ustaw ten atrybut na wartość prawda, jeśli urządzenie nie może odpowiedzieć na intencję QUERY lub na stan raportu w przypadku tej cechy.

Przykłady

Urządzenie, które obsługuje obrót zarówno w procentach, jak i w 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 obrotu.

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

Urządzenie STATES

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

Stany Typ Opis
rotationDegrees Number

Bieżący poziom w zakresie rotationDegreesRange, który wskazuje, o ile stopni jest obrócone urządzenie. Ta wartość powinna zawsze dotyczyć obrotu w prawo.

rotationPercent Number

Bieżący poziom wskazujący procent, w jakim urządzenie jest obecnie obrócone. Wartość 0,0 odpowiada zamknięciu i 100,0, która otwiera się.

targetRotationPercent Number

Poziom wskazujący procent obrotu, w którym urządzenie się przesuwa lub porusza w wyniku ciągłej zmiany rotacji.

Przykłady

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

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

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

{
  "rotationDegrees": 45
}

O ile obrócono urządzenie? (ciąg dalszy).

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

Urządzenie obraca się do nowej pozycji (w procentach).

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

POLECENIA urządzenia

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

action.devices.commands.RotateAbsolute

Ustaw bezwzględny obrót urządzenia.

Parametry

Ładunek zawiera jeden z tych elementów:

Ustaw bezwzględny obrót w stopniach.

Parametry Typ Opis
rotationDegrees Number

Wymagane.

Wartość bezwzględna (w stopniach), która określa ostateczny obrót urządzenia w prawo. 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), która określa ostateczny obrót urządzenia.

Przykłady

Przechyl urządzenie na 50 procent.

{
  "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 obrotu urządzenia wystąpił błąd.

Obsługiwane wartości:

deviceJammingDetected

ERRORS urządzenia

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