Przewodnik po inteligentnym oświetleniu

action.devices.types.LIGHT – urządzenia oświetleniowe można włączać i wyłączać. Mogą one mieć dodatkowe funkcje, takie jak przyciemnianie i zmienianie koloru.

Ten typ wskazuje, że urządzenie ma ikonę światła i niektóre powiązane synonimy i aliasy.

Funkcje urządzenia

Szczegółowe informacje o wdrożeniu, takie jak atrybuty i stany, które powinna obsługiwać usługa, oraz sposób tworzenia odpowiedzi na wywołania EXECUTE i QUERY, znajdziesz w odpowiedniej dokumentacji atrybutu.

Wymagane cechy

Te cechy i polecenia są wymagane, jeśli są dostępne na Twoim urządzeniu. Jeśli urządzenie nie obsługuje tych atrybutów, wpisz kod błędu functionNotSupported w odpowiedzi na QUERY lub EXECUTE. Więcej informacji znajdziesz w sekcji Błędy i wyjątki.

Te cechy są zalecane, jeśli są dostępne na Twoim urządzeniu. Możesz jednak dowolnie łączyć wszystkie dostępne cechy, aby jak najlepiej dopasować je do dotychczasowej funkcjonalności produktu.

Wymagania dotyczące jakości

  • Opóźnienie: musi być mniejsze lub równe 700 ms.
  • Niezawodność: musi być większa lub równa 99%.

Przykładowe urządzenie: proste światło

Ta sekcja zawiera przykładowe dane intencji reprezentujące typ „Light” na podstawie wymienionych powyżej cech i typu urządzenia. Jeśli w swojej implementacji dodasz lub usuniesz cechy, odpowiednio zmodyfikuj odpowiedzi, aby uwzględnić te zmiany.

Przykładowa odpowiedź SYNC

Prośba
{   "requestId": "6894439706274654512",   "inputs": [     {       "intent": "action.devices.SYNC"     }   ] }
Odpowiedź
{   "requestId": "6894439706274654512",   "payload": {     "agentUserId": "user123",     "devices": [       {         "id": "123",         "type": "action.devices.types.LIGHT",         "traits": [           "action.devices.traits.ColorSetting",           "action.devices.traits.Brightness",           "action.devices.traits.OnOff"         ],         "name": {           "name": "Simple light"         },         "willReportState": true,         "attributes": {           "colorTemperatureRange": {             "temperatureMinK": 2000,             "temperatureMaxK": 6500           }         },         "deviceInfo": {           "manufacturer": "smart-home-inc",           "model": "hs1234",           "hwVersion": "3.2",           "swVersion": "11.4"         }       }     ]   } }

Przykładowa odpowiedź na zapytanie

Prośba
{   "requestId": "6894439706274654514",   "inputs": [     {       "intent": "action.devices.QUERY",       "payload": {         "devices": [           {             "id": "123"           }         ]       }     }   ] }
Odpowiedź
{   "requestId": "6894439706274654514",   "payload": {     "devices": {       "123": {         "status": "SUCCESS",         "online": true,         "on": true,         "brightness": 65,         "color": {           "temperatureK": 4000         }       }     }   } }

Przykładowe polecenia EXECUTE

ColorAbsolute

Więcej informacji o parametrach polecenia znajdziesz w dokumentacji action.devices.traits.ColorSetting.

Prośba
{   "requestId": "6894439706274654520",   "inputs": [     {       "intent": "action.devices.EXECUTE",       "payload": {         "commands": [           {             "devices": [               {                 "id": "123"               }             ],             "execution": [               {                 "command": "action.devices.commands.ColorAbsolute",                 "params": {                   "color": {                     "name": "Warm White",                     "temperature": 3000                   }                 }               }             ]           }         ]       }     }   ] }
Odpowiedź
{   "requestId": "6894439706274654520",   "payload": {     "commands": [       {         "ids": [           "123"         ],         "status": "SUCCESS",         "states": {           "online": true,           "color": {             "temperatureK": 3000           }         }       }     ]   } }

BrightnessAbsolute

Więcej informacji o parametrach polecenia znajdziesz w dokumentacji action.devices.traits.Brightness.

Prośba
{   "requestId": "6894439706274654518",   "inputs": [     {       "intent": "action.devices.EXECUTE",       "payload": {         "commands": [           {             "devices": [               {                 "id": "123"               }             ],             "execution": [               {                 "command": "action.devices.commands.BrightnessAbsolute",                 "params": {                   "brightness": 65                 }               }             ]           }         ]       }     }   ] }
Odpowiedź
{   "requestId": "6894439706274654518",   "payload": {     "commands": [       {         "ids": [           "123"         ],         "status": "SUCCESS",         "states": {           "online": true,           "brightness": 65         }       }     ]   } }

OnOff

Więcej informacji o parametrach polecenia znajdziesz w dokumentacji action.devices.traits.OnOff.

Prośba
{   "requestId": "6894439706274654516",   "inputs": [     {       "intent": "action.devices.EXECUTE",       "payload": {         "commands": [           {             "devices": [               {                 "id": "123"               }             ],             "execution": [               {                 "command": "action.devices.commands.OnOff",                 "params": {                   "on": true                 }               }             ]           }         ]       }     }   ] }
Odpowiedź
{   "requestId": "6894439706274654516",   "payload": {     "commands": [       {         "ids": [           "123"         ],         "status": "SUCCESS",         "states": {           "online": true,           "on": true         }       }     ]   } }

BŁĘDY urządzenia

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