Anleitung für Smart-Home-Türklingeln

action.devices.types.DOORBELL – Türklingeln können andere wissen lassen, dass jemand vor der Tür steht. Dieses Gerät kann Benachrichtigungen senden und Videos streamen, wenn es über die entsprechenden Funktionen verfügt.

Dieser Typ gibt an, dass das Gerät das Türklingelsymbol und einige zugehörige Synonyme und Aliasse.

Gerätefunktionen

Weitere Informationen finden Sie in der entsprechenden Dokumentation Implementierungsdetails wie Attribute und Angaben, die Ihr Dienst unterstützen soll, und wie Sie EXECUTE- und QUERY-Antworten erstellen.

Diese Traits werden empfohlen, sofern sie für Ihr Gerät relevant sind. Du kannst jedoch alle verfügbaren Merkmale beliebig kombinieren, um deine vorhandenen Merkmale bestmöglich anzupassen. Produktfunktionen.

Qualitätsanforderungen

  • Latenz:Muss kleiner oder gleich 2.000 ms sein.
  • Zuverlässigkeit:Muss größer oder gleich 97% sein.

Beispielgerät: Einfache Türklingel

Dieser Abschnitt enthält Beispiele für Intent-Nutzlasten, die eine gängige Türklingel darstellen basierend auf dem Gerätetyp und den oben genannten Merkmalen. Wenn Sie in Ihrer Implementierung Tragen hinzufügen oder entfernen, und passen Sie Ihre Antworten entsprechend an.

Beispiel für SYNC-Antwort

<ph type="x-smartling-placeholder">
</ph> <ph type="x-smartling-placeholder">
</ph>
Anfrage
{
  "requestId": "6894439706274654512",
  "inputs": [
    {
      "intent": "action.devices.SYNC"
    }
  ]
}
<ph type="x-smartling-placeholder">
</ph>
Antwort
{
  "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"
        }
      }
    ]
  }
}

Beispiel für eine QUERY-Antwort

<ph type="x-smartling-placeholder">
</ph> <ph type="x-smartling-placeholder">
</ph>
Anfrage
{
  "requestId": "6894439706274654514",
  "inputs": [
    {
      "intent": "action.devices.QUERY",
      "payload": {
        "devices": [
          {
            "id": "123"
          }
        ]
      }
    }
  ]
}
<ph type="x-smartling-placeholder">
</ph>
Antwort
{
  "requestId": "6894439706274654514",
  "payload": {
    "devices": {
      "123": {
        "status": "SUCCESS",
        "online": true
      }
    }
  }
}

Beispiele für EXECUTE-Befehle

GetCameraStream

Weitere Informationen zu den Befehlsparametern Siehe action.devices.traits.CameraStream. Referenz.

<ph type="x-smartling-placeholder">
</ph> <ph type="x-smartling-placeholder">
</ph>
Anfrage
{
  "requestId": "6894439706274654516",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.GetCameraStream",
                "params": {
                  "StreamToChromecast": true,
                  "SupportedStreamProtocols": [
                    "hls"
                  ]
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
<ph type="x-smartling-placeholder">
</ph>
Antwort
{
  "requestId": "6894439706274654516",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "cameraStreamAccessUrl": "https://example.com/stream.mp4",
          "cameraStreamProtocol": "hls"
        }
      }
    ]
  }
}

Beispiel für BENACHRICHTIGUNGEN

ObjectDetection

Weitere Informationen zu den Benachrichtigungseigenschaften Siehe action.devices.traits.ObjectDetection. Referenz.

<ph type="x-smartling-placeholder">
</ph> <ph type="x-smartling-placeholder">
</ph>
Anfrage
{
  "requestId": "6894439706274654518",
  "payload": {
    "devices": {
      "notifications": {
        "123": {
          "ObjectDetection": {
            "objects": {
              "named": [
                "Alice"
              ]
            },
            "priority": 0,
            "detectionTimestamp": 946684800000
          }
        }
      }
    }
  }
}
<ph type="x-smartling-placeholder">
</ph>
Antwort
{
  "requestId": "6894439706274654518"
}

Gerätefehler

Vollständige Liste der Fehler und Ausnahmen.