Przewodnik ogólny dotyczący inteligentnego domu

action.devices.types.BLANKET – interakcje z inteligentnymi kocami mogą obejmować ich włączanie i wyłączanie, dostosowywanie temperatury czy ustawianie różnych trybów i przełączników.

Ten typ wskazuje, że urządzenie ma ikonę Blanket oraz 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.

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 2500 ms.
  • Niezawodność: musi być większa lub równa 97%.

Przykładowe urządzenie: koce

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

Przykładowa odpowiedź SYNC

{
  "requestId": "6894439706274654512",
  "inputs": [
    {
      "intent": "action.devices.SYNC"
    }
  ]
}
{
  "requestId": "6894439706274654512",
  "payload": {
    "agentUserId": "user123",
    "devices": [
      {
        "id": "123",
        "type": "action.devices.types.BLANKET",
        "traits": [
          "action.devices.traits.OnOff",
          "action.devices.traits.Modes",
          "action.devices.traits.Toggles"
        ],
        "name": {
          "name": "Blanket"
        },
        "willReportState": true,
        "attributes": {
          "availableModes": [
            {
              "name": "temp_mode",
              "name_values": [
                {
                  "name_synonym": [
                    "Temperature",
                    "Temp"
                  ],
                  "lang": "en"
                }
              ],
              "settings": [
                {
                  "setting_name": "hot_temp",
                  "setting_values": [
                    {
                      "setting_synonym": [
                        "Hot"
                      ],
                      "lang": "en"
                    }
                  ]
                },
                {
                  "setting_name": "warm_temp",
                  "setting_values": [
                    {
                      "setting_synonym": [
                        "Warm"
                      ],
                      "lang": "en"
                    }
                  ]
                }
              ]
            }
          ],
          "availableToggles": [
            {
              "name": "auto_off",
              "name_values": [
                {
                  "name_synonym": [
                    "Auto off"
                  ],
                  "lang": "en"
                }
              ]
            }
          ]
        },
        "deviceInfo": {
          "manufacturer": "smart-home-inc",
          "model": "hs1234",
          "hwVersion": "3.2",
          "swVersion": "11.4"
        }
      }
    ]
  }
}

Przykładowa odpowiedź na zapytanie

{
  "requestId": "6894439706274654514",
  "inputs": [
    {
      "intent": "action.devices.QUERY",
      "payload": {
        "devices": [
          {
            "id": "123"
          }
        ]
      }
    }
  ]
}
{
  "requestId": "6894439706274654514",
  "payload": {
    "devices": {
      "123": {
        "status": "SUCCESS",
        "online": true,
        "on": true,
        "currentModeSettings": {
          "temp_mode": "warm_temp"
        },
        "currentToggleSettings": {
          "auto_off": true
        }
      }
    }
  }
}

Przykładowe polecenia EXECUTE

OnOff

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

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

SetModes

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

{
  "requestId": "6894439706274654518",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.SetModes",
                "params": {
                  "updateModeSettings": {
                    "temp_mode": "hot_temp"
                  }
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
{
  "requestId": "6894439706274654518",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "currentModeSettings": {
            "temp_mode": "hot_temp"
          }
        }
      }
    ]
  }
}

SetToggles

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

{
  "requestId": "6894439706274654520",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.SetToggles",
                "params": {
                  "updateToggleSettings": {
                    "auto_off": false
                  }
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
{
  "requestId": "6894439706274654520",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "currentToggleSettings": {
            "auto_off": false
          }
        }
      }
    ]
  }
}

BŁĘDY urządzenia

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