Akıllı Ev Kapı Zili Kılavuzu

action.devices.types.DOORBELL - Kapı zilleri, kapıda birinin olduğunu bildirir. Bu cihaz, ilgili özelliğe sahipse bildirim gönderebilir ve video akışı yapabilir.

Bu tür, cihazın Kapı Zili simgesini ve bazı ilgili eş anlamlı kelimeleri ve diğer adları aldığını gösterir.

Cihaz özellikleri

Hizmetinizin desteklemesi gereken özellikler ve durumlar ile EXECUTE ve QUERY yanıtlarının nasıl oluşturulacağı gibi uygulama ayrıntıları için ilgili özellik dokümanına bakın.

Bu özellikler, cihazınız için geçerliyse önerilir. Ancak tüm özellikleri, mevcut ürün işlevlerinize en uygun şekilde dilediğiniz gibi birleştirip kullanabilirsiniz.

Örnek cihaz: Basit kapı zili

Bu bölümde, yukarıdaki cihaz türüne ve özelliklerine göre yaygın bir "Kapı Zili" temsil eden örnek amaçlı yükler yer almaktadır. Uygulamanıza özellik ekler veya kaldırırsanız yanıtlarınızı bu değişiklikleri yansıtacak şekilde düzenleyin.

Örnek SYNC yanıtı

İstek
{
  "requestId": "6894439706274654512",
  "inputs": [
    {
      "intent": "action.devices.SYNC"
    }
  ]
}
Yanıt
{
  "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"
        }
      }
    ]
  }
}

Örnek QUERY yanıtı

İstek
{
  "requestId": "6894439706274654514",
  "inputs": [
    {
      "intent": "action.devices.QUERY",
      "payload": {
        "devices": [
          {
            "id": "123"
          }
        ]
      }
    }
  ]
}
Yanıt
{
  "requestId": "6894439706274654514",
  "payload": {
    "devices": {
      "123": {
        "status": "SUCCESS",
        "online": true
      }
    }
  }
}

Örnek EXECUTE komutları

GetCameraStream

Komut parametreleri hakkında daha fazla bilgi için action.devices.traits.CameraStream referansını inceleyin.

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

Örnek BİLDİRİMLER raporu

ObjectDetection

Bildirim özellikleriyle ilgili ek ayrıntılar için action.devices.traits.ObjectDetection referansına bakın.

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

Cihaz HATALARI

Hatalar ve istisnalar listesinin tamamını inceleyin.