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 |
rotationDegreesMax |
Number |
Wymagane. Maksymalny obrót w stopniach. Wartość musi znajdować się w zakresie od |
supportsContinuousRotation |
Wartość logiczna |
(Domyślnie: Ustaw wartość „true”, jeśli urządzenie umożliwia ciągłe obracanie. W przypadku zapytania względnego polecenie |
commandOnlyRotation |
Wartość logiczna |
(Domyślnie: 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 |
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 |
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 |
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 |
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 |
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
}
}Powiązane błędy
Podczas ustawiania orientacji urządzenia wystąpił błąd.
Obsługiwane wartości:
deviceJammingDetected