Przewodnik po inteligentnych dzwonkach do drzwi

action.devices.types.DOORBELL – dzwonki mogą informować użytkowników o osobach, które stoją przy drzwiach. To urządzenie może wysyłać powiadomienia i przesyłać strumieniowo filmy, jeśli ma odpowiednie możliwości.

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

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

Przykładowe urządzenie: prosty dzwonek do drzwi

Ta sekcja zawiera przykładowe dane ładunku intencji przedstawiające typowy „dzwonek” 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

{
  "requestId": "6894439706274654512",
  "inputs": [
    {
      "intent": "action.devices.SYNC"
    }
  ]
}
{
  "requestId": "6894439706274654512",
  "payload": {
    "agentUserId": "user123",
    "devices": [
      {
        "id": "123",
        "type": "action.devices.types.DOORBELL",
        "traits": [
          "action.devices.traits.CameraStream",
          "action.devices.traits.ObjectDetection"
        ],
        "name": {
          "name": "Simple doorbell"
        },
        "willReportState": true,
        "notificationSupportedByAgent": true,
        "attributes": {
          "cameraStreamSupportedProtocols": [
            "hls"
          ],
          "cameraStreamNeedAuthToken": true
        },
        "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
      }
    }
  }
}

Przykładowe polecenia EXECUTE

GetCameraStream

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

{
  "requestId": "6894439706274654516",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.GetCameraStream",
                "params": {
                  "StreamToChromecast": true,
                  "SupportedStreamProtocols": [
                    "hls"
                  ]
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
{
  "requestId": "6894439706274654516",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "cameraStreamAccessUrl": "https://example.com/stream.mp4",
          "cameraStreamProtocol": "hls"
        }
      }
    ]
  }
}

Przykładowy raport POWIADOMIENIA

ObjectDetection

Więcej informacji o właściwościach powiadomień znajdziesz w dokumentacji action.devices.traits.ObjectDetection.

{
  "requestId": "6894439706274654518",
  "payload": {
    "devices": {
      "notifications": {
        "123": {
          "ObjectDetection": {
            "objects": {
              "named": [
                "Alice"
              ]
            },
            "priority": 0,
            "detectionTimestamp": 946684800000
          }
        }
      }
    }
  }
}
{
  "requestId": "6894439706274654518"
}

BŁĘDY urządzenia

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