Schemat funkcji rotacji inteligentnego domu

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

Obrót możesz podawać w procentach lub stopniach. Jeśli urządzenie obsługuje obrót o stopnie, domyślnym kierunku obrotu jest ruch w prawo.

Urządzenie ATTRIBUTES

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

Atrybuty Typ Opis
supportsDegrees Wartość logiczna

Wymagane.

Ustaw wartość „true”, jeśli urządzenie umożliwia obrót o określony stopień.

supportsPercent Wartość logiczna

Wymagane.

Ustaw na „prawda”, jeśli urządzenie zezwala na obrót o określony procent

rotationDegreesRange Obiekt

Przedstawia zakres w stopniach, po którym urządzenie może się obracać.

rotationDegreesMin Number

Wymagane.

Minimalne obrót w stopniach.

rotationDegreesMax Number

Wymagane.

Maksymalna wartość obrotu w stopniach.

supportsContinuousRotation Wartość logiczna

(Domyślnie: false)

Ustaw na „true”, jeśli urządzenie umożliwia ciągłe obrót. Po otrzymaniu zapytania względnego polecenie RotateAbsolute obejmuje 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ść true, jeśli urządzenie nie może odpowiedzieć na intencję QUERY lub 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ć poniższe 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 być związana z obrotem w prawo.

rotationPercent Number

Bieżący poziom, który wskazuje procent obrotu urządzenia. Wartość 0,0 odpowiada zamknięciu, a 100,0 – rozruchowi.

Przykłady

Jaką część obrotu urządzenie zostało obrócone? (procent i stopnie).

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

Jaką część obrotu urządzenie zostało obrócone? (tylko stopnie).

{
  "rotationDegrees": 45
}

Jaką część obrotu urządzenie zostało obrócone? (ciąg dalszy).

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

CommandS na urządzeniu

Urządzenia z tą cechą mogą reagować na podane niżej 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 rotację bezwzględną w procentach.

Parametry Typ Opis
rotationPercent Number

Wymagane.

Wartość bezwzględna wyrażona w procentach, która określa ostateczny obrót urządzenia.

Przykłady

Obróć 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

Urządzenie ERRORS

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