Akıllı Ev Kamerası Kılavuzu

action.devices.types.CAMERA - Kameralar karmaşıktır ve tedarikçi firmalar arasında özellikler önemli ölçüde farklılık gösterir. Zaman içinde kameralar, belirli özellikleri açıklayan birçok özellik ve özellik edinecektir. Bunların birçoğu başka bir cihaza canlı yayın gönderme, yayındaki içeriği tanımlama, feed'leri tekrar oynatma gibi özel yöntemlerle etkileşimde bulunabilir.

Bu tür, cihazın Kamera simgesi ve bazı ilgili eşanlamları ve takma adlar vardır.

Cihaz özellikleri

Şu özellikler için ilgili özellik dokümanlarına bakın: hizmetinizin desteklemesi gereken özellikler ve eyaletler gibi uygulama ayrıntılarını EXECUTE ve QUERY yanıtları oluşturun.

Gerekli özellikler

Bu özellikler ve komutlar, mobil uygulama veya olanak tanır. Cihazınız bu özellikleri desteklemiyorsa Bir QUERY veya EXECUTE yanıtında functionNotSupported. Görüntüleyin Hatalar ve istisnalar başlıklı makaleden daha fazla bilgi edinebilirsiniz.

Kalite gereksinimleri

  • Gecikme: 2.000 ms'den az veya bu değere eşit olmalıdır.
  • Güvenilirlik: %97'den fazla veya buna eşit olmalıdır.

Örnek cihaz: Basit kamera

Bu bölüm, ortak bir "Kamera"yı temsil eden örnek amaç yüklerini içerir. yukarıdaki cihaz türüne ve özelliklere göre değişir. Uygulamanızda özellikler ekler veya mevcut özellikleri kaldırırsanız ve yanıtlarınızı bu değişikliklere göre değiştirmeniz gerekir.

Örnek SYNC yanıtı

İstek
ziyaret edin.
{
  "requestId": "6894439706274654512",
  "inputs": [
    {
      "intent": "action.devices.SYNC"
    }
  ]
}
Yanıt
{
  "requestId": "6894439706274654512",
  "payload": {
    "agentUserId": "user123",
    "devices": [
      {
        "id": "123",
        "type": "action.devices.types.CAMERA",
        "traits": [
          "action.devices.traits.CameraStream"
        ],
        "name": {
          "name": "Simple camera"
        },
        "willReportState": true,
        "attributes": {
          "cameraStreamSupportedProtocols": [
            "hls",
            "progressive_mp4"
          ],
          "cameraStreamNeedAuthToken": true,
          "cameraStreamNeedDrmEncryption": false
        },
        "deviceInfo": {
          "manufacturer": "smart-home-inc",
          "model": "hs1234",
          "hwVersion": "3.2",
          "swVersion": "11.4"
        }
      }
    ]
  }
}

Örnek QUERY yanıtı

İstek
ziyaret edin.
{
  "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 parametreleriyle ilgili ek ayrıntılar için bkz. action.devices.traits.CameraStream bir referans noktası olarak kabul edilir.

İstek
ziyaret edin.
{
  "requestId": "6894439706274654516",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.GetCameraStream",
                "params": {
                  "StreamToChromecast": true,
                  "SupportedStreamProtocols": [
                    "progressive_mp4"
                  ]
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Yanıt
{
  "requestId": "6894439706274654516",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "cameraStreamAccessUrl": "https://fluffysheep.com/baaaaa.mp4",
          "cameraStreamReceiverAppId": "1g2f89213hg",
          "cameraStreamAuthToken": "12657342190192783",
          "cameraStreamProtocol": "progressive_mp4"
        }
      }
    ]
  }
}

Cihaz ERRORS

Tam listeye göz atın: hataları ve istisnaları ortadan kaldırın.
  • resourceUnavailable - Akış URL'si oluşturmayla ilgili herhangi bir hata.